DocumentationAPI reference

Rust · 0.1.0

Update User Setting

PATCH /api/v1/users/{user}/settings/{setting}

UserService · UserService_UpdateUserSetting

Protocol-derived reference. Authorization and instance policy still apply. Schema descriptions are inherited from the MIT-licensed application contract; examples here are not executed against a live server.

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.

PATCH/api/v1/users/{user}/settings/{setting}

Parameters

Name / locationType / requirementDescription
user
path
string
Required
The user id.
setting
path
string
Required
The setting id.
updateMask
query
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"
          }
        }
      }
    }
  }
}