---
title: "Update current user settings"
method: PATCH
path: "/users/@me/settings"
tags: ["Users"]
---

# Update current user settings

`PATCH /users/@me/settings`

Updates the current user's settings and preferences. Allows modification of notification settings, privacy options, display preferences, and other user-configurable options. Returns updated settings.

## Request body

- UserSettingsUpdateRequest
  - `flags` integer — Friend source flags
  - `status` 'online' | 'dnd' | 'idle' | 'invisible' — User online status
  - `status_resets_at` union — When status resets
    - string
    - integer
  - `status_resets_to` 'online' | 'dnd' | 'idle' | 'invisible', nullable — User online status
  - `theme` 'dark' | 'dark_legacy' | 'coal' | 'light' | 'system' — UI theme preference
  - `locale` 'ar' | 'bg' | 'cs' | 'da' | 'de' | 'el' | 'en-GB' | 'en-US' | 'es-ES' | 'es-419' | 'fi' | 'fr' | 'he' | 'hi' | 'hr' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'lt' | 'nl' | 'no' | 'pl' | 'pt-BR' | 'ro' | 'ru' | 'sv-SE' | 'th' | 'tr' | 'uk' | 'vi' | 'zh-CN' | 'zh-TW' — The locale code for the user interface language
  - `restricted_guilds` SnowflakeType[] — Guilds with DM restrictions
  - `bot_restricted_guilds` SnowflakeType[] — Guilds with bot DM restrictions
  - `default_guilds_restricted` boolean — Default DM restriction for new guilds
  - `bot_default_guilds_restricted` boolean — Default bot DM restriction for new guilds
  - `inline_attachment_media` boolean — Display attachments inline
  - `inline_embed_media` boolean — Display embed media inline
  - `gif_auto_play` boolean — Auto-play GIFs
  - `render_embeds` boolean — Render message embeds
  - `render_reactions` boolean — Display reactions
  - `animate_emoji` boolean — Animate custom emoji
  - `animate_stickers` 0 | 1 | 2 — Sticker animation preference
  - `render_spoilers` 0 | 1 | 2 — Spoiler rendering preference
  - `message_display_compact` boolean — Compact message display
  - `friend_source_flags` integer — Friend source flags
  - `incoming_call_flags` integer — Incoming call settings
  - `group_dm_add_permission_flags` integer — Group DM add permissions
  - `guild_folders` object[] — Guild folder organization
    - `id` integer, required — Unique identifier for the folder (-1 for uncategorized)
    - `name` string, nullable — Display name of the folder
    - `color` integer
    - `flags` integer — Bitfield for guild folder display behaviour
    - `icon` 'folder' | 'star' | 'heart' | 'bookmark' | 'game_controller' | 'shield' | 'music_note' — Selected icon for the guild folder
    - `guild_ids` SnowflakeType[], required — Guild IDs in this folder
  - `custom_status` CustomStatusPayload
    - `text` string, nullable — Custom status text (max 128 characters)
    - `expires_at` union — When the custom status expires
      - string
      - integer
    - `emoji_id` string, snowflake
    - `emoji_name` string, nullable — Unicode emoji to display (ignored when emoji_id is provided)
  - `afk_timeout` integer — AFK timeout in seconds
  - `time_format` 0 | 1 | 2 — Time format preference
  - `developer_mode` boolean — Developer mode enabled
  - `trusted_domains` string[] — Trusted external link domains. Use "*" to trust all domains.
  - `default_hide_muted_channels` boolean — Hide muted channels by default in new guilds
  - `sensitive_content_friend_dm_filter` 0 | 1 | 2 — Sensitive media filter level
  - `sensitive_content_non_friend_dm_filter` 0 | 1 | 2 — Sensitive media filter level
  - `sensitive_content_guild_filter` 0 | 1 — Sensitive media filter level for community channels
  - `suppress_unprivileged_self_mentions` boolean — Suppress direct mentions and reply mentions from unprivileged users
  - `suppress_unprivileged_self_mentions_bypass_user_ids` SnowflakeType[], nullable — User IDs that bypass self-mention suppression
  - `staff_dm_access_user_ids` SnowflakeType[], nullable — User IDs with Staff DM Access enabled
  - `profile_privacy` 0 | 1 | 2 — Profile privacy visibility level
  - `synced_preferences` string, nullable — Account-wide client preferences as a base64-encoded protobuf snapshot. Replaces the entire stored snapshot; pass null to clear it.

## Response `200`

Success

- UserSettingsResponse
  - `status` string, required — The current online status of the user
  - `status_resets_at` string, date-time, nullable — ISO8601 timestamp of when the status will reset
  - `status_resets_to` string, nullable — The status to reset to after the scheduled reset
  - `theme` string, required — The UI theme preference
  - `locale` 'ar' | 'bg' | 'cs' | 'da' | 'de' | 'el' | 'en-GB' | 'en-US' | 'es-ES' | 'es-419' | 'fi' | 'fr' | 'he' | 'hi' | 'hr' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'lt' | 'nl' | 'no' | 'pl' | 'pt-BR' | 'ro' | 'ru' | 'sv-SE' | 'th' | 'tr' | 'uk' | 'vi' | 'zh-CN' | 'zh-TW', required — The locale code for the user interface language
  - `restricted_guilds` SnowflakeType[], required — Guild IDs where direct messages are restricted
  - `bot_restricted_guilds` SnowflakeType[], required — Guild IDs where bot direct messages are restricted
  - `default_guilds_restricted` boolean, required — Whether new guilds have DM restrictions by default
  - `bot_default_guilds_restricted` boolean, required — Whether new guilds have bot DM restrictions by default
  - `inline_attachment_media` boolean, required — Whether to display attachments inline in chat
  - `inline_embed_media` boolean, required — Whether to display embed media inline in chat
  - `gif_auto_play` boolean, required — Whether GIFs auto-play in chat
  - `render_embeds` boolean, required — Whether to render message embeds
  - `render_reactions` boolean, required — Whether to display reactions on messages
  - `animate_emoji` boolean, required — Whether to animate custom emoji
  - `animate_stickers` 0 | 1 | 2, required — Sticker animation preference
  - `render_spoilers` 0 | 1 | 2, required — Spoiler rendering preference
  - `message_display_compact` boolean, required — Whether to use compact message display mode
  - `friend_source_flags` integer, required — Friend source flags
  - `incoming_call_flags` integer, required — Incoming call settings
  - `group_dm_add_permission_flags` integer, required — Group DM add permissions
  - `guild_folders` object[], required — The folder structure for organizing guilds in the sidebar
    - `id` integer, nullable — The unique identifier for the folder (-1 for uncategorized)
    - `name` string, nullable — The display name of the folder
    - `color` integer
    - `flags` integer — Bitfield for guild folder display behaviour
    - `icon` 'folder' | 'star' | 'heart' | 'bookmark' | 'game_controller' | 'shield' | 'music_note' — Selected icon for the guild folder
    - `guild_ids` SnowflakeType[], required — The IDs of guilds contained in this folder
  - `custom_status` CustomStatusResponse, required
    - `text` string, nullable — The custom status message text
    - `expires_at` string, date-time, nullable — ISO8601 timestamp of when the custom status expires
    - `emoji_id` string, snowflake
    - `emoji_name` string, nullable — The name of the emoji used in the status
    - `emoji_animated` boolean, required — Whether the status emoji is animated
  - `afk_timeout` integer, required — The idle timeout in seconds before going AFK
  - `time_format` 0 | 1 | 2, required — Time format preference
  - `developer_mode` boolean, required — Whether developer mode is enabled
  - `trusted_domains` string[], required — List of trusted external link domains
  - `default_hide_muted_channels` boolean, required — Whether muted channels are hidden by default in new guilds
  - `sensitive_content_friend_dm_filter` 0 | 1 | 2, required — Sensitive media filter level
  - `sensitive_content_non_friend_dm_filter` 0 | 1 | 2, required — Sensitive media filter level
  - `sensitive_content_guild_filter` 0 | 1, required — Sensitive media filter level for community channels
  - `suppress_unprivileged_self_mentions` boolean, required — Whether direct mentions and reply mentions from unprivileged users are suppressed
  - `suppress_unprivileged_self_mentions_bypass_user_ids` SnowflakeType[], required — User IDs that bypass self-mention suppression
  - `staff_dm_access_user_ids` SnowflakeType[], required — User IDs with Staff DM Access enabled
  - `synced_preferences` string, required — Account-wide client preferences as a base64-encoded protobuf snapshot. Empty string when nothing has been synced yet.
  - `profile_privacy` 0 | 1 | 2, required — Profile privacy visibility level
  - `default_share_voice_activity` boolean, required — Default value of share_voice_activity applied to newly accepted friend relationships. Read-only here; mutated via PUT /users/@me/settings/voice-activity-sharing.

## Other responses

- `400` — Bad Request - The request was malformed or contained invalid data
- `401` — Unauthorized - Authentication is required or the token is invalid
- `403` — Forbidden - You do not have permission to perform this action
- `429` — Too Many Requests - You are being rate limited
- `500` — Internal Server Error - An unexpected error occurred

---

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