Update user preferences
PUT
/users/{id}/preferences
Upserts the caller's own preferences and returns the stored row. Callers may only update their own — any other path id answers 403. suppressed_scopes is read-only and is not accepted here; an address unsubscribed by an emailed link can only be resubscribed through /unsubscribe/resubscribe.
Authorizations
BearerAuth
In the browser, authentication rides on the httpOnly session cookies set by /cognito/signin or the Google / Apple sign-in at /cognito/oauth/{provider}. For scripts and for Swagger UI testing, paste an API key (fh_live_…, created with POST /api-keys); a Cognito JWT is accepted too. Sign-in does not return a token in its body.
Type
HTTP (bearer)
Parameters
Path Parameters
id*
Type
Requiredstring
Request Body
application/json
JSON
{
"view_mode": "string",
"theme": "string",
"admin_theme": "string",
"recent_searches": [
"string"
],
"search_suggestions": true,
"email_notifications": true,
"push_notifications": true,
"reduced_motion": true,
"high_contrast": true,
"font_size": "string",
"has_completed_onboarding": true,
"has_skipped_onboarding": true,
"last_visited": "string",
"auto_save": true,
"default_category": "string",
"notify_donations": true,
"notify_comments": true,
"notify_updates": true,
"notify_milestones": true,
"notify_campaign_status": true,
"notify_followers": true,
"notify_org_status": true,
"notify_payouts": true,
"notify_digest": true,
"notify_donation_reminders": true,
"notify_endorsement_requests": true
}
Responses
Updated preferences — the stored row.
application/json
JSON
{
"additionalProperties": "string"
}