PATCH /settings

This endpoint is used to edit the current user's settings.

When invoked by a realm admin, it supports bulk updates to settings for specified users or members of user groups using the target_users parameter.

Changes: Removed dense_mode setting in Zulip 10.0 (feature level 364) as we now have web_font_size_px and web_line_height_percent settings for more control.

Prior to Zulip 5.0 (feature level 80), this endpoint only supported the full_name, email, old_password, and new_password parameters. Notification settings were managed by PATCH /settings/notifications, and all other settings by PATCH /settings/display.

The feature level 80 migration to merge these endpoints did not change how request parameters are encoded. However, it did change the handling of any invalid parameters present in a request (see feature level 78 change below).

As of feature level 80, the PATCH /settings/display and PATCH /settings/notifications endpoints are deprecated aliases for this endpoint for backwards-compatibility, and will be removed once clients have migrated to use this endpoint.

Prior to Zulip 5.0 (feature level 78), this endpoint indicated which parameters it had processed by including in the response object "key": value entries for values successfully changed by the request. That was replaced by the more ergonomic ignored_parameters_unsupported array.

The PATCH /settings/notifications and PATCH /settings/display endpoints also had this behavior of indicating processed parameters before they became aliases of this endpoint in Zulip 5.0 (see feature level 80 change above).

Before feature level 78, request parameters that were not supported (or were unchanged) were silently ignored.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/x-www-form-urlencoded"

Request body fields

Name Type Required Description
email_address_visibility Integer No

The policy this user has selected for which other users in this organization can see their real email address.

  • 1 = Everyone
  • 2 = Members only
  • 3 = Administrators only
  • 4 = Nobody
  • 5 = Moderators only

Changes: New in Zulip 7.0 (feature level 163), replacing the realm-level setting.

Valid values:

  • 1
  • 2
  • 3
  • 4
  • 5
receives_typing_notifications Boolean No

Whether the user is configured to receive typing notifications from other users. The server will only deliver typing notifications events to users who for whom this is enabled.

By default, this is set to true, enabling user to receive typing notifications from other users.

Changes: New in Zulip 9.0 (feature level 253). Previously, there were only options to disable sending typing notifications.

web_navigate_to_sent_message Boolean No

Web/desktop app setting for whether the user's view should automatically go to the conversation where they sent a message.

Changes: New in Zulip 9.0 (feature level 268). Previously, this behavior was not configurable.

old_password String No

The user's old Zulip password (or LDAP password, if LDAP authentication is in use).

Required only when sending the new_password parameter.

web_suggest_update_timezone Boolean No

Whether the user should be shown an alert, offering to update their profile time zone, when the time displayed for the profile time zone differs from the current time displayed by the time zone configured on their device.

Changes: New in Zulip 10.0 (feature level 329).

automatically_follow_topics_where_mentioned Boolean No

Whether the server will automatically mark the user as following topics where the user is mentioned.

Changes: New in Zulip 8.0 (feature level 235).

realm_name_in_email_notifications_policy Integer No

Whether to include organization name in subject of message notification emails.

  • 1 - Automatic
  • 2 - Always
  • 3 - Never

Changes: New in Zulip 7.0 (feature level 168), replacing the previous realm_name_in_notifications boolean; true corresponded to Always, and false to Never.

Before Zulip 5.0 (feature level 80), the previous realm_name_in_notifications setting was managed by the PATCH /settings/notifications endpoint.

Valid values:

  • 1
  • 2
  • 3
twenty_four_hour_time Boolean No

Whether time should be displayed in 24-hour notation.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

web_left_sidebar_unreads_count_summary Boolean No

Determines whether the web/desktop application's left sidebar displays the unread message count summary.

Changes: New in Zulip 11.0 (feature level 398).

web_left_sidebar_show_channel_folders Boolean No

Determines whether channel folders are used to organize how channels are displayed in the web/desktop application's left sidebar.

Changes: New in Zulip 11.0 (feature level 411).

resolved_topic_notice_auto_read_policy String No

Controls whether the resolved-topic notices are marked as read.

  • "always" - Always mark resolved-topic notices as read.
  • "except_followed" - Mark resolved-topic notices as read in topics not followed by the user.
  • "never" - Never mark resolved-topic notices as read.

Changes: New in Zulip 11.0 (feature level 385).

Valid values:

  • "except_followed"
  • "never"
  • "always"
enable_followed_topic_wildcard_mentions_notify Boolean No

Whether wildcard mentions (e.g., @all) in messages sent to followed topics should send notifications like a personal mention.

Changes: New in Zulip 8.0 (feature level 189).

enable_drafts_synchronization Boolean No

A boolean parameter to control whether synchronizing drafts is enabled for the user. When synchronization is disabled, all drafts stored in the server will be automatically deleted from the server.

This does not do anything (like sending events) to delete local copies of drafts stored in clients.

Changes: New in Zulip 5.0 (feature level 87).

emojiset String No

The user's configured emoji set, used to display emoji to the user everywhere they appear in the UI.

  • "google" - Google modern
  • "twitter" - Twitter
  • "text" - Plain text

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

Unnecessary JSON-encoding of this parameter was removed in Zulip 4.0 (feature level 64).

target_users Object No

An object specifying the collection of users whose settings should be modified, for modification of other users' settings by an organization administrator. When this parameter is absent, this API endpoint always modifies the current user's own settings.

Changes: New in Zulip 12.0 (feature level 444).

target_users.skip_if_already_edited Boolean No

Whether to skip editing the settings of users who have previously edited their settings, which can be useful for adjusting a default without overriding users' own directly expressed preferences.

target_users.user_ids[] Array No

A list of integer user IDs representing individual users whose settings will be updated.

target_users.group_ids[] Array No

A list of integer group IDs representing user groups, where settings will be applied to all active members of the specified groups.

enable_stream_audible_notifications Boolean No

Enable audible desktop notifications for channel messages.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

enable_login_emails Boolean No

Enable email notifications for new logins to account.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

enable_followed_topic_audible_notifications Boolean No

Enable audible desktop notifications for messages sent to followed topics.

Changes: New in Zulip 8.0 (feature level 189).

enable_stream_push_notifications Boolean No

Enable mobile notifications for channel messages.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

enable_stream_desktop_notifications Boolean No

Enable visual desktop notifications for channel messages.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

enable_followed_topic_desktop_notifications Boolean No

Enable visual desktop notifications for messages sent to followed topics.

Changes: New in Zulip 8.0 (feature level 189).

default_language String No

What default language to use for the account.

This controls both the Zulip UI as well as email notifications sent to the user.

The value needs to be a standard language code that the Zulip server has translation data for; for example, "en" for English or "de" for German.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

Unnecessary JSON-encoding of this parameter was removed in Zulip 4.0 (feature level 63).

web_stream_unreads_count_display_policy Integer No

Configuration for which channels should be displayed with a numeric unread count in the left sidebar. Channels that do not have an unread count will have a simple dot indicator for whether there are any unread messages.

  • 1 - All channels
  • 2 - Unmuted channels and topics
  • 3 - No channels

Changes: New in Zulip 8.0 (feature level 210).

Valid values:

  • 1
  • 2
  • 3
presence_enabled Boolean No

Display the presence status to other users when online.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

enable_stream_email_notifications Boolean No

Enable email notifications for channel messages.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

hide_ai_features Boolean No

Controls whether user wants AI features like topic summarization to be hidden in all Zulip clients.

Changes: New in Zulip 10.0 (feature level 350).

starred_message_counts Boolean No

Whether clients should display the number of starred messages.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

full_name String No

A new display name for the user.

wildcard_mentions_notify Boolean No

Whether wildcard mentions (E.g. @all) should send notifications like a personal mention.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

send_private_typing_notifications Boolean No

Whether typing notifications be sent when composing direct messages.

Changes: New in Zulip 5.0 (feature level 105).

high_contrast_mode Boolean No

This setting is reserved for use to control variations in Zulip's design to help visually impaired users.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

enable_marketing_emails Boolean No

Enable marketing emails. Has no function outside Zulip Cloud.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

web_home_view String No

The home view used when opening a new Zulip web app window or hitting the Esc keyboard shortcut repeatedly.

  • "recent" - Recent conversations view
  • "inbox" - Inbox view
  • "all_messages" - Combined feed view

Changes: Before Zulip 12.0 (feature level 454), the Recent view had "recent_topics" as its string encoding.

New in Zulip 8.0 (feature level 219). Previously, this was called default_view, which was new in Zulip 4.0 (feature level 42).

Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

Unnecessary JSON-encoding of this parameter was removed in Zulip 4.0 (feature level 64).

notification_sound String No

Notification sound name.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

Unnecessary JSON-encoding of this parameter was removed in Zulip 4.0 (feature level 63).

web_mark_read_on_scroll_policy Integer No

Whether or not to mark messages as read when the user scrolls through their feed.

  • 1 - Always
  • 2 - Only in conversation views
  • 3 - Never

Changes: New in Zulip 7.0 (feature level 175). Previously, there was no way for the user to configure this behavior on the web, and the Zulip web and desktop apps behaved like the "Always" setting when marking messages as read.

Valid values:

  • 1
  • 2
  • 3
enable_offline_email_notifications Boolean No

Enable email notifications for direct messages and @-mentions received when the user is offline.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

enable_offline_push_notifications Boolean No

Enable mobile notification for direct messages and @-mentions received when the user is offline.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

message_content_in_email_notifications Boolean No

Include the message's content in email notifications for new messages.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

send_stream_typing_notifications Boolean No

Whether typing notifications be sent when composing channel messages.

Changes: New in Zulip 5.0 (feature level 105).

demote_inactive_streams Integer No

Whether to hide inactive channels in the left sidebar.

  • 1 - Automatic
  • 2 - Always
  • 3 - Never

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

Valid values:

  • 1
  • 2
  • 3
enable_desktop_notifications Boolean No

Enable visual desktop notifications for direct messages and @-mentions.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

web_animate_image_previews String No

Controls how animated images should be played in the message feed in the web/desktop application.

  • "always" - Always play the animated images in the message feed.
  • "on_hover" - Play the animated images on hover over them in the message feed.
  • "never" - Never play animated images in the message feed.

Changes: New in Zulip 9.0 (feature level 275).

Valid values:

  • "never"
  • "always"
  • "on_hover"
enable_followed_topic_push_notifications Boolean No

Enable push notifications for messages sent to followed topics.

Changes: New in Zulip 8.0 (feature level 189).

pm_content_in_desktop_notifications Boolean No

Include content of direct messages in desktop notifications.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

timezone String No

The IANA identifier of the user's profile time zone, which is used primarily to display the user's local time to other users.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

Unnecessary JSON-encoding of this parameter was removed in Zulip 4.0 (feature level 64).

email String No

Asks the server to initiate a confirmation sequence to change the user's email address to the indicated value. The user will need to demonstrate control of the new email address by clicking a confirmation link sent to that address.

web_line_height_percent Integer No

User-configured primary line-height for the web application, in percent, so a value of 120 represents a line-height of 1.2.

Changes: New in Zulip 9.0 (feature level 245). Previously, line height was not user-configurable. Note that this setting was not fully implemented at this feature level.

web_escape_navigates_to_home_view Boolean No

Whether the escape key navigates to the configured home view.

Changes: New in Zulip 8.0 (feature level 219). Previously, this was called escape_navigates_to_default_view, which was new in Zulip 5.0 (feature level 107).

web_inbox_show_channel_folders Boolean No

Determines whether channel folders are used to organize how conversations with unread messages are displayed in the web/desktop application's Inbox view.

Changes: New in Zulip 12.0 (feature level 431).

enable_digest_emails Boolean No

Enable digest emails when the user is away.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

web_channel_default_view Integer No

Web/desktop app setting controlling the default navigation behavior when clicking on a channel link.

  • 1 - Top topic in the channel
  • 2 - Channel feed
  • 3 - List of topics
  • 4 - Top unread topic in channel

Changes: The "Top unread topic in channel" is new in Zulip 11.0 (feature level 401).

The "List of topics" option is new in Zulip 11.0 (feature level 383).

New in Zulip 9.0 (feature level 269). Previously, this was not configurable, and every user had the "Channel feed" behavior.

Valid values:

  • 1
  • 2
  • 4
web_font_size_px Integer No

User-configured primary font-size for the web application, in pixels.

Changes: New in Zulip 9.0 (feature level 245). Previously, font size was only adjustable via browser zoom. Note that this setting was not fully implemented at this feature level.

translate_emoticons Boolean No

Whether to translate emoticons to emoji in messages the user sends.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

enable_followed_topic_email_notifications Boolean No

Enable email notifications for messages sent to followed topics.

Changes: New in Zulip 8.0 (feature level 189).

allow_private_data_export Boolean No

Whether organization administrators are allowed to export your private data.

Changes: New in Zulip 10.0 (feature level 293).

desktop_icon_count_display Integer No

Unread count badge (appears in desktop sidebar and browser tab)

  • 1 - All unread messages
  • 2 - DMs, mentions, and followed topics
  • 3 - DMs and mentions
  • 4 - None

Changes: In Zulip 8.0 (feature level 227), added DMs, mentions, and followed topics option, renumbering the options to insert it in order.

Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

Valid values:

  • 1
  • 2
  • 3
  • 4
automatically_unmute_topics_in_muted_streams_policy Integer No

Which topics to unmute automatically in muted channels.

  • 1 - Topics the user participates in
  • 2 - Topics the user sends a message to
  • 3 - Topics the user starts
  • 4 - Never

Changes: New in Zulip 8.0 (feature level 214).

Valid values:

  • 1
  • 2
  • 3
  • 4
new_password String No

The user's new Zulip password (or LDAP password, if LDAP authentication is in use).

The old_password parameter must be included in the request.

color_scheme Integer No

Controls which color theme to use.

  • 1 - Automatic
  • 2 - Dark theme
  • 3 - Light theme

Automatic detection is implementing using the standard prefers-color-scheme media query.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

Valid values:

  • 1
  • 2
  • 3
display_emoji_reaction_users Boolean No

Whether to display the names of reacting users on a message.

When enabled, clients should display the names of reacting users, rather than a count, for messages with few total reactions. The ideal cutoff may depend on the space available for displaying reactions; the official web application displays names when 3 or fewer total reactions are present with this setting enabled.

Changes: New in Zulip 6.0 (feature level 125).

left_side_userlist Boolean No

Whether the users list on left sidebar in narrow windows.

This feature is not heavily used and is likely to be reworked.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

automatically_follow_topics_policy Integer No

Which topics to follow automatically.

  • 1 - Topics the user participates in
  • 2 - Topics the user sends a message to
  • 3 - Topics the user starts
  • 4 - Never

Changes: New in Zulip 8.0 (feature level 214).

Valid values:

  • 1
  • 2
  • 3
  • 4
enter_sends Boolean No

Whether pressing Enter in the compose box sends a message (or saves a message edit).

Changes: Before Zulip 5.0 (feature level 81), this setting was managed by the POST /users/me/enter-sends endpoint, with the same parameter format.

enable_sounds Boolean No

Enable audible desktop notifications for direct messages and @-mentions.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

send_read_receipts Boolean No

Whether other users are allowed to see whether you've read messages.

Changes: New in Zulip 5.0 (feature level 105).

user_list_style Integer No

The style selected by the user for the right sidebar user list.

  • 1 - Compact
  • 2 - With status
  • 3 - With avatar and status

Changes: New in Zulip 6.0 (feature level 141).

Valid values:

  • 1
  • 2
  • 3
fluid_layout_width Boolean No

Whether to use the maximum available screen width for the web app's center panel (message feed, recent conversations) on wide screens.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/display endpoint.

email_notifications_batching_period_seconds Integer No

The duration (in seconds) for which the server should wait to batch email notifications before sending them.

Changes: New in Zulip 5.0 (feature level 82)

enable_online_push_notifications Boolean No

Enable mobile notification for direct messages and @-mentions received when the user is online.

Changes: Before Zulip 5.0 (feature level 80), this setting was managed by the PATCH /settings/notifications endpoint.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.