Skip to main content
Get Notification Preferences
Returns the set of notification event types the acting user has disabled for push. A user with no preference row is all-on — the response is an empty disabledTypes array. Disabling a type only suppresses push; the in-app notification is still written. Requires authentication. Acting-user-scoped: an end-user token (Authorization: Bearer <accessToken>) reads its own preferences. A service/master key acts on behalf of a named user via the optional userId query param — a service key without userId is rejected, and an end-user token may not name a different user. Requires the push bundle.

Query Parameters

string
The acting user whose preferences are read. Service/master keys only — a service key must pass it; an end-user token infers it from the auth token and may not name a different user.

Response

Returns 200.
string[]
The event types the user has opted out of. Empty when no preferences are set (all-on). Values are drawn from the event palette.

Error Responses

Plain-text Unauthorized, with no JSON body and no code. Returned when the request carries no Authorization header at all.
Plain-text Forbidden, with no JSON body and no code. Returned when the access token is malformed, has the wrong signature, or has expired — the common case, since access tokens live 30 minutes. Refresh the access token and retry.
Returned when an end-user token names a userId other than its own.
Returned when the userId query parameter is not a valid identifier.
Returned when a service/master key omits the required userId (it has no implicit session user).
Returned when the push bundle is not installed for this project.
Returned while the push bundle is mid-install. Retry shortly.
Rate limit: 100 requests per 5 minutes per IP. Exceeding it returns 429 with a plain-text message and no code.

See Also