Archive notifications out of the inbox
Stamps `archivedAt` on the caller's notifications — the ids given, or with `allRead` every already-read, unarchived one — so they drop out of the default listing, and appends an archive event to the workspace log. A body with neither ids nor `allRead` is a validation error. Restricting to a `workspaceId` requires `workspace:read` there and accepts an `Idempotency-Key` header to make retries safe.
apiKeyAuthorizationBearer <snoze_sk_…>Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
workspaceId?string|nullapplication/json- body
notificationId?|nullnotificationIds?array<>|nullallRead?boolean|nullSuccess
application/json- response
data*curl -X POST 'https://api.snoze.dev/v1/notifications/archive' \ -H 'Content-Type: application/json' \ -d '{}'{ "data": { "notificationIds": [ "string" ], "archivedAt": "string" }}Mark inbox notifications read
The account-level twin of the workspace mark-read: stamps `readAt` on the caller's unread notifications across every workspace, or within one when `workspaceId` is given. A body with neither ids nor `all` is a validation error, and a single id that matches nothing readable is not found. Scoping to a `workspaceId` requires `workspace:read` there and accepts an `Idempotency-Key` header to make retries safe.
List the caller's notification preferences
Returns every notification preference the caller has saved: the delivery channel, whether it is enabled, its cadence, and the workspace, category, or kind it overrides. Scoped to the authenticated user, so no workspace permission is involved.