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
- https://{subdomain}.zulipchat.com/api/v1
- {server}/api/v1
- https://chat.zulip.org/api/v1
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.
Changes: New in Zulip 7.0 (feature level 163), replacing the realm-level setting. Valid values:
|
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 |
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.
Changes: New in Zulip 7.0 (feature level 168), replacing the
previous Before Zulip 5.0 (feature level 80), the previous Valid values:
|
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 |
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.
Changes: New in Zulip 11.0 (feature level 385). Valid values:
|
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.
Changes: Before Zulip 5.0 (feature level 80), this setting was managed by
the 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 |
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 |
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 |
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 |
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, Changes: Before Zulip 5.0 (feature level 80), this setting was managed by
the 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.
Changes: New in Zulip 8.0 (feature level 210). Valid values:
|
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 |
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 |
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 |
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 |
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 |
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 |
web_home_view |
String | No |
The home view used when opening a new
Zulip web app window or hitting the
Changes: Before Zulip 12.0 (feature level 454), the Recent
view had New in Zulip 8.0 (feature level 219). Previously, this was called
Before Zulip 5.0 (feature level 80), this setting was managed by
the 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 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.
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:
|
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 |
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 |
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 |
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.
Changes: Before Zulip 5.0 (feature level 80), this setting was managed by
the Valid values:
|
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 |
web_animate_image_previews |
String | No |
Controls how animated images should be played in the message feed in the web/desktop application.
Changes: New in Zulip 9.0 (feature level 275). Valid values:
|
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 |
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 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 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 |
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 |
web_channel_default_view |
Integer | No |
Web/desktop app setting controlling the default navigation behavior when clicking on a channel link.
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:
|
web_font_size_px |
Integer | No |
User-configured primary 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 |
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)
Changes: In Zulip 8.0 (feature level 227), added Before Zulip 5.0 (feature level 80), this setting was managed by the
Valid values:
|
automatically_unmute_topics_in_muted_streams_policy |
Integer | No |
Which topics to unmute automatically in muted channels.
Changes: New in Zulip 8.0 (feature level 214). Valid values:
|
new_password |
String | No |
The user's new Zulip password (or LDAP password, if LDAP authentication is in use). The |
color_scheme |
Integer | No |
Controls which color theme to use.
Automatic detection is implementing using the standard Changes: Before Zulip 5.0 (feature level 80), this setting was managed by
the Valid values:
|
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 |
automatically_follow_topics_policy |
Integer | No |
Which topics to follow automatically.
Changes: New in Zulip 8.0 (feature level 214). Valid values:
|
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 |
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 |
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.
Changes: New in Zulip 6.0 (feature level 141). Valid values:
|
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 |
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 |
How to start integrating
- Add HTTP Task to your workflow definition.
- 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.
- Click Test request to test run your request to the API and see the API's response.