---
title: "Mark a notification read"
method: PATCH
path: "/api/v1/notifications/{id}"
tags: ["notifications"]
---

# Mark a notification read

`PATCH /api/v1/notifications/{id}`

## Path parameters

- `id` string, required — Notification identifier.

## Request body

- MarkNotificationReadRequest
  - `status` 'read', required — V1 supports only marking an unread notification read.

## Response `200`

OK

- NotificationEnvelope
  - `notification` NotificationResponse, required
    - `body` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `prUrl` string, required
    - `projectId` string, required
    - `resolvedAt` string, date-time, nullable
    - `sessionId` string, required
    - `status` 'unread' | 'read', required — Seen state. unread means the user has not opened the notification panel since it arrived.
    - `target` NotificationTarget, required
      - `kind` 'session' | 'pr', required
      - `prUrl` string
      - `sessionId` string, required
    - `title` string, required
    - `type` 'needs_input' | 'ready_to_merge' | 'pr_merged' | 'pr_closed_unmerged', required

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `500` — Internal Server Error
- `501` — Not Implemented

---

[API](https://skmtc.net/composiohq/apis/agent-orchestrator-http-daemon.md) · [All operations](https://skmtc.net/composiohq/apis/agent-orchestrator-http-daemon/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/composiohq/agent-orchestrator-http-daemon/versions/be069344383f/schema)
