---
title: "PATCH /api/v1/users/{user}/settings/{setting}"
method: PATCH
path: "/api/v1/users/{user}/settings/{setting}"
tags: ["UserService"]
---

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

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

UpdateUserSetting updates the user setting.

## Path parameters

- `user` string, required
- `setting` string, required

## Query parameters

- `updateMask` string, field-mask

## Request body

- UserSetting — User settings message
  - `name` string — The name of the user setting. Format: users/{user}/settings/{setting}, {setting} is the key for the setting. For example, "users/steven/settings/GENERAL" for general settings.
  - `generalSetting` UserSettingGeneralSetting — General user settings configuration.
    - `locale` string — The preferred locale of the user.
    - `memoVisibility` string — The default visibility of the memo.
    - `theme` string — The preferred theme of the user. This references a CSS file in the web/public/themes/ directory. If not set, the default theme will be used.
    - `saveMediaMetadata` boolean — Whether the official client should save metadata from future media uploads.
  - `webhooksSetting` UserSettingWebhooksSetting — User webhooks configuration.
    - `webhooks` UserWebhook[] — List of user webhooks.
      - `name` string — The name of the webhook. Format: users/{user}/webhooks/{webhook}
      - `url` string — The URL to send the webhook to.
      - `displayName` string — Optional. Human-readable name for the webhook.
      - `createTime` string, date-time — The creation time of the webhook.
      - `updateTime` string, date-time — The last update time of the webhook.
      - `signingSecret` string — Optional. Signing secret used to HMAC-SHA256 sign the webhook request body. This field is input-only; it is never returned in responses.
      - `signingSecretSet` boolean — Whether a signing secret is configured for this webhook.
  - `tagsSetting` UserSettingTagsSetting — User-specific tag metadata.
    - `tags` object — Map of tag name pattern to tag metadata. Each key is treated as an anchored regular expression (^pattern$).

## Response `200`

OK

- UserSetting — User settings message
  - `name` string — The name of the user setting. Format: users/{user}/settings/{setting}, {setting} is the key for the setting. For example, "users/steven/settings/GENERAL" for general settings.
  - `generalSetting` UserSettingGeneralSetting — General user settings configuration.
    - `locale` string — The preferred locale of the user.
    - `memoVisibility` string — The default visibility of the memo.
    - `theme` string — The preferred theme of the user. This references a CSS file in the web/public/themes/ directory. If not set, the default theme will be used.
    - `saveMediaMetadata` boolean — Whether the official client should save metadata from future media uploads.
  - `webhooksSetting` UserSettingWebhooksSetting — User webhooks configuration.
    - `webhooks` UserWebhook[] — List of user webhooks.
      - `name` string — The name of the webhook. Format: users/{user}/webhooks/{webhook}
      - `url` string — The URL to send the webhook to.
      - `displayName` string — Optional. Human-readable name for the webhook.
      - `createTime` string, date-time — The creation time of the webhook.
      - `updateTime` string, date-time — The last update time of the webhook.
      - `signingSecret` string — Optional. Signing secret used to HMAC-SHA256 sign the webhook request body. This field is input-only; it is never returned in responses.
      - `signingSecretSet` boolean — Whether a signing secret is configured for this webhook.
  - `tagsSetting` UserSettingTagsSetting — User-specific tag metadata.
    - `tags` object — Map of tag name pattern to tag metadata. Each key is treated as an anchored regular expression (^pattern$).

## Other responses

- `default` — Default error response

## Changes

> 63 revisions in range; 51 could not be searched.

- **2025-12-15** `d740073f088f` — 4 warning, 5 info
  - removed the request property `tagsSetting`
  - removed the request property `webhooksSetting/webhooks/items/signingSecret`
  - removed the optional property `tagsSetting` from the response with the `200` status
  - removed the optional property `webhooksSetting/webhooks/items/signingSecretSet` from the response with the `200` status
  - …5 more

[Change history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/v1/users/:user/settings/:setting/patch.md)

---

[API](https://skmtc.dev/usememos/apis/untitled-api.md) · [All operations](https://skmtc.dev/usememos/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usememos/untitled-api/revisions/9f2688df7c2e/schema)
