Get the signed-in user's notification preferences
Returns every notification category with its per-channel delivery state and whether the category can be disabled. A category with no state expressed by the signed-in user or the organization delivers by default, except PROMOTION, which delivers only after the signed-in user opts in. Preferences are scoped to the organization on the signed-in user's token. schedule is null when the signed-in user never set a delivery schedule. A user token calls this on behalf of the signed-in user.
Authorization
oauth2 Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/user/notifications/preferences"{ "categories": [ { "category": "SECURITY", "mandatory": true, "preference_default": "MANDATORY", "channels": [ { "channel": "EMAIL", "enabled": true } ] } ], "schedule": { "enabled": true, "weekly_schedule": { "property1": { "enabled": true, "hours": [ { "start": "09:00", "end": "17:00" } ] }, "property2": { "enabled": true, "hours": [ { "start": "09:00", "end": "17:00" } ] } } }}{ "code": "BAD_REQUEST", "description": "Bad Request"}{ "code": "UNAUTHORISED", "description": "Unauthorised"}{ "code": "FORBIDDEN", "description": "Forbidden"}{ "code": "RATE_LIMIT_EXCEEDED", "description": "Too Many Requests"}{ "code": "INTERNAL_ERROR", "description": "Internal Server Error"}Stream application updates GET
Opens an SSE stream for the caller’s current application (or the one named by `application_id`). Emits `application` events on every change, periodic `ping` keepalives, and a terminal `done` event once the application reaches a closed status.
Update the signed-in user's notification preferences PATCH
Changes only the category-channel pairs listed in `preferences`; every other pair keeps its current state. A `schedule` replaces the signed-in user's delivery schedule. Set `schedule.enabled` to false to allow delivery at every time. Preferences are scoped to the organization on the signed-in user's token. A user token calls this on behalf of the signed-in user. Returns 400 when a listed category cannot be disabled, and the whole request is then rejected with no change applied.