API reference
Notifications
Read and mark the workspace's notifications.
GET
/v1/notificationsThe notification feed
Composed on read from live state rather than stored, so an item disappears when the thing it describes is fixed. Mixes what is currently wrong (compliance alerts) with what recently happened (scans, publishes, people joining), newest first.
Needs: A signed-in panel session, sent as Authorization: Bearer <access token>.
| Name | Where | Type | What it is |
|---|---|---|---|
| limit | query | number | How many rows to return. unread and total are still counted across the whole feed, so a small limit does not lie about the badge. |
| Status | Body | When |
|---|---|---|
| 200 | NotificationsFeedDto |
| Field | Type | What it is |
|---|---|---|
| items required | NotificationItemDto[] | |
| items[].id required | string | Stable while the underlying condition holds. |
| items[].kind required | "compliance_finding" | "domain_unverified" | "scan_failed" | "no_traffic" | "scan_completed" | "banner_published" | "domain_added" | "member_joined" | |
| items[].severity required | "critical" | "warning" | "info" | |
| items[].title required | string | |
| items[].detail required | string | |
| items[].at required | string | ISO-8601. |
| items[].domainId | string | null | |
| items[].hostname | string | null | |
| items[].read required | boolean | |
| items[].emailNotificationId | string | null | The notification-catalogue id that emails this same event, so a client can link the row straight to the switch that controls it. Null when the row has no email behind it at all — which is not the same as an email being off. |
| unread required | number | Unread across the WHOLE feed, not just the items returned. The badge would otherwise stop counting at whatever limit the caller happened to pass. |
| total required | number | Total before limit was applied. |
| readAt | string | null | When this user last marked the feed read. Null if never. |
POST
/v1/notifications/readMark everything up to now as read
Needs: A signed-in panel session, sent as Authorization: Bearer <access token>.
| Status | Body | When |
|---|---|---|
| 200 | MarkReadResultDto |
| Field | Type | What it is |
|---|---|---|
| readAt required | string |
Next groupSearch