API reference
9 operations in notifications. Raw spec: openapi.json.
GET
/api/v1/notification-org-defaultsGET /api/notification-org-defaults — the org's default rows (admin).
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
PUT
/api/v1/notification-org-defaultsPUT /api/notification-org-defaults — upserts one kind's org default.
Request body
UpdateOrgDefaultRequest
Responses
| Status | Description |
|---|---|
200 | |
422 | invalid quiet-hours window or timezone |
Security: bearer
GET
/api/v1/notification-preferencesGET /api/notification-preferences — the caller's effective preference for every kind (defaults-first resolution applied).
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
PUT
/api/v1/notification-preferencesPUT /api/notification-preferences — upserts the caller's override row for one kind and emits `notification_prefs.updated`. Quiet hours validate as a paired `HH:MM` window in a real IANA timezone; validation errors return 422.
Request body
UpdatePreferenceRequest
Responses
| Status | Description |
|---|---|
200 | |
422 | invalid quiet-hours window or timezone |
Security: bearer
GET
/api/v1/notificationsGET /api/notifications — the caller's notifications, newest first, keyset-paginated.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
unread_only | query | boolean | No | |
limit | query | integer | No | |
cursor | query | — | No | Opaque keyset cursor from a previous page's `next_cursor`. |
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/notifications/mark-readPOST /api/notifications/mark-read — bulk variant; unknown and already-read ids are skipped (idempotent).
Request body
MarkReadBulkRequest
Responses
| Status | Description |
|---|---|
200 | |
422 | empty or oversized id list |
Security: bearer
POST
/api/v1/notifications/read-allPOST /api/notifications/read-all — empties the unread badge.
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
GET
/api/v1/notifications/unread-countGET /api/notifications/unread-count
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/notifications/{id}/readPOST /api/notifications/{id}/read — marks one notification read and emits `notification.read` for cross-session badge sync.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
204 |
Security: bearer