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

# GET /api/users/{user}/settings/{setting}

`GET /api/users/{user}/settings/{setting}`

## Request

- The document declares no server URL.
- Auth: none declared

GetUserSetting gets a user setting. Only the user may call it.

## Path parameters

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

## Response `200`

OK

- UserSetting: UserSetting is one group of a user's preferences, identified by its key.
  - `name` string: Identifier. The resource name of the user setting. {setting} is the setting key, such as GENERAL. Format: users/{user}/settings/{setting}
  - `generalSetting` UserSettingGeneralSetting: GeneralSetting holds general user preferences.
    - `locale` string: Optional. The preferred locale of the user.
    - `memoVisibility` string: Optional. The default visibility of new memos: PRIVATE, PROTECTED or PUBLIC.
    - `theme` string: Optional. The preferred theme of the user. This references a CSS file in the web/public/themes/ directory. If not set, the default theme is used.
    - `saveMediaMetadata` boolean: Optional. Whether the official client should save metadata from future media uploads.
  - `webhooksSetting` UserSettingWebhooksSetting: WebhooksSetting holds a user's webhooks.
    - `webhooks` UserWebhook[]: The user's webhooks.
      - `name` string: Identifier. The resource name of the webhook. Format: users/{user}/webhooks/{webhook}
      - `displayName` string: A human-readable name for the webhook.
      - `url` string: The URL the webhook request is sent to. Required on create.
      - `signingSecret` string: Input only. The secret used to HMAC-SHA256 sign the webhook request body. Never returned; use GetUserWebhookSigningSecret to read it.
      - `signingSecretSet` boolean: Output only. Whether a signing secret is configured for this webhook.
      - `createTime` string, date-time: Output only. The creation timestamp. Currently never set.
      - `updateTime` string, date-time: Output only. The last update timestamp. Currently never set.
  - `tagsSetting` UserSettingTagsSetting: TagsSetting holds user-specific tag metadata.
    - `tags` object: Optional. Map of tag name pattern to tag metadata. Each key is treated as an anchored regular expression (^pattern$).
  - `editorSetting` UserSettingEditorSetting: EditorSetting holds the user's memo editor preferences.
    - `sourceMode` boolean: Optional. Whether the official client's memo editor uses source mode, which shows and edits memos as Markdown text instead of formatted text. The official client calls this "Markdown mode".

## Other responses

- `default`: Default error response

## Changes

- **2026-10-29** `f8292da77a70`: 1 info
  - added the optional property `editorSetting` to the response with the `200` status
- **2026-10-08** `1846a777b0ef`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/users/:user/settings/:setting/get.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.dev/usememos/apis/untitled-api/revisions/f587355e35b4?raw)
