---
title: "Mark notifications read"
method: POST
path: "/api/v1/notifications/read-all"
tags: ["notifications"]
---

# Mark notifications read

`POST /api/v1/notifications/read-all`

## Request body

- MarkAllNotificationsReadRequest
  - `ids` string[] — Acknowledge exactly these notifications. Omit to acknowledge every unread notification; paginating clients should send the ids they actually rendered so later pages stay unread.

## Response `200`

OK

- MarkAllNotificationsReadResponse
  - `notifications` NotificationResponse[], required — Deprecated compatibility field. Always empty so mark-all responses stay bounded.
    - `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
  - `updatedCount` integer, required — Number of notifications changed from unread to read.

## Other responses

- `400` — Bad Request
- `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/6ffec0ec12f0/schema)
