---
title: "List notification history"
method: GET
path: "/api/v1/notifications"
tags: ["notifications"]
---

# List notification history

`GET /api/v1/notifications`

## Query parameters

- `status` 'unread' | 'all' | 'unresolved' — Notification filter. Defaults to unread (unseen); unresolved returns notifications whose underlying issue is still open; all includes read history.
- `limit` integer — Maximum notifications to return. Defaults to 100.
- `cursor` string — Opaque cursor returned by the previous page.

## Response `200`

OK

- ListNotificationsResponse
  - `nextCursor` string
  - `notifications` 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
  - `unreadCount` integer, required
  - `unresolvedCount` integer, required

## 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/0754881ee8f4/schema)
