Update Notification Preferences
Push Notification Endpoints
Update Notification Preferences
Set the authenticated user’s disabled push notification types
Update Notification Preferences
Upserts the acting user’s push notification preferences. The request replaces the whole disabled-types set — send the complete set you want stored, not a delta. Duplicates are collapsed; only valid event type names are accepted.
Requires authentication. Acting-user-scoped: an end-user token (
Returned when an end-user token names a
Returned when a service/master key omits the required
Returned when
Returned when the
Returned while the
Rate limit: 50 requests per 5 minutes per IP. Exceeding it returns
Authorization: Bearer <accessToken>) writes its own preferences. A service/master key acts on behalf of a named user via the optional body userId — a service key without userId is rejected, and an end-user token may not name a different user. Requires the push bundle.
Body Parameters
string[]
required
The complete set of event types to disable for push. Each value must be one of the server’s exact event type names (see the event palette) — unknown names are rejected. Pass
[] to re-enable everything (all-on).string
The acting user whose preferences are written. 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
Returns200 with the stored set (deduplicated).
Error Responses
No Credential — 401
No Credential — 401
Plain-text
Unauthorized, with no JSON body and no code. Returned when the
request carries no Authorization header at all.Rejected Credential — 403
Rejected Credential — 403
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.Acting As Another User — 403
Acting As Another User — 403
userId other than its own.Missing User ID — 400
Missing User ID — 400
userId (it has no implicit session user).Invalid Body — 400
Invalid Body — 400
disabledTypes contains a value that is not a recognized event type name.Bundle Not Installed — 403
Bundle Not Installed — 403
push bundle is not installed for this project.Bundle Provisioning — 503
Bundle Provisioning — 503
push bundle is mid-install. Retry shortly.Server Error — 500
Server Error — 500
429 with a plain-text message and no code.

