DocumentationAPI reference
Rust · 0.1.0
Update User Setting
PATCH /api/v1/users/{user}/settings/{setting}
UserService · UserService_UpdateUserSetting
Access
Owner-only: the user named in the path must be the authenticated caller. Instance administrator status does not allow acting on another account here.
Public setting keys are limited
The exposed setting keys are GENERAL, TAGS and WEBHOOKS. Account token/session storage is not exposed as a setting. WEBHOOKS is read-only here; manage it through the dedicated webhook operations. Missing GENERAL settings are projected with defaults.
Mask paths are relative to the selected setting
For GENERAL use memo_visibility, theme, locale or save_media_metadata, while the JSON body carries generalSetting. memoVisibility may be PRIVATE, PROTECTED or PUBLIC; SPACE is not a global default. For TAGS use updateMask=tags with tagsSetting.tags as the complete new map; an empty map clears tag metadata. Do not use generalSetting.locale as the mask path for this endpoint.
Request
UpdateUserSetting updates the user setting.
/api/v1/users/{user}/settings/{setting}Parameters
| Name / location | Type / requirement | Description |
|---|---|---|
userpath | string Required | The user id. |
settingpath | string Required | The setting id. |
updateMaskquery | string (field-mask) Required (contract description) | Required. The list of fields to update. |
Request body
Required
application/json · UserSetting
Responses
200 · OK
application/json · UserSetting
default · Default error response
application/json · Status
Complete operation definition
All declared constraints, media types and response details are retained below. Schema references link to their complete definitions.
Open JSON definition
{
"tags": [
"UserService"
],
"description": "UpdateUserSetting updates the user setting.",
"operationId": "UserService_UpdateUserSetting",
"parameters": [
{
"name": "user",
"in": "path",
"description": "The user id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "setting",
"in": "path",
"description": "The setting id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "updateMask",
"in": "query",
"description": "Required. The list of fields to update.",
"schema": {
"type": "string",
"format": "field-mask"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserSetting"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserSetting"
}
}
}
},
"default": {
"description": "Default error response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Status"
}
}
}
}
}
}