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

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

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

## Request

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

ListUserSettings lists the settings of a user. Only the user may call it.
 The GENERAL setting is always included, with defaults when it was never
 saved.

## Path parameters

- `user` string, required

## Query parameters

- `pageSize` integer
- `pageToken` string

## Response `200`

OK

- ListUserSettingsResponse: Response message for UserService.ListUserSettings.
  - `userSettings` UserSetting[]: The user settings.
    - `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".
  - `nextPageToken` string: A token to retrieve the next page. Empty when there are no more pages.

## Other responses

- `default`: Default error response

## Changes

- **2026-10-29** `f8292da77a70`: 1 info
  - added the optional property `userSettings/items/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/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)
