This endpoint is used to edit the current user's settings.
Changes: 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.
Usage examples
Python
curl
#!/usr/bin/env python3importzulip# Pass the path to your zuliprc file here.client=zulip.Client(config_file="~/zuliprc")# Enable push notifications even when online and change emoji set.request={"enable_offline_push_notifications":True,"enable_online_push_notifications":True,"emojiset":"google",}result=client.call_endpoint("/settings",method="PATCH",request=request)print(result)
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.
old_passwordstringoptional
Example: "old12345"
The user's old Zulip password (or LDAP password, if LDAP authentication is in use).
Required only when sending the new_password parameter.
new_passwordstringoptional
Example: "new12345"
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.
Changes: Before Zulip 5.0 (feature level 80), this setting was managed by
the PATCH /settings/display endpoint.
dense_modebooleanoptional
Example: true
This setting has no effect at present. It is reserved for use in controlling
the default font size in Zulip.
Changes: Before Zulip 5.0 (feature level 80), this setting was managed by
the PATCH /settings/display endpoint.
web_mark_read_on_scroll_policyintegeroptional
Example: 1
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.
Must be one of: 1, 2, 3.
web_channel_default_viewintegeroptional
Example: 1
Web/desktop app setting controlling the default navigation
behavior when clicking on a channel link.
1 - Top topic in the channel
2 - Channel feed
Changes: New in Zulip 9.0 (feature level 269). Previously, this
was not configurable, and every user had the "Channel feed" behavior.
Changes: Before Zulip 5.0 (feature level 80), this setting was managed by
the PATCH /settings/display endpoint.
receives_typing_notificationsbooleanoptional
Example: true
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.
fluid_layout_widthbooleanoptional
Example: true
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.
high_contrast_modebooleanoptional
Example: true
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.
web_font_size_pxintegeroptional
Example: 14
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.
web_line_height_percentintegeroptional
Example: 122
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.
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.
Must be one of: 1, 2, 3.
enable_drafts_synchronizationbooleanoptional
Example: true
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: Before Zulip 5.0 (feature level 80), this setting was managed by
the PATCH /settings/display endpoint.
display_emoji_reaction_usersbooleanoptional
Example: false
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 8.0 (feature level 219). Previously, this
was called escape_navigates_to_default_view, which was new in Zulip
5.0 (feature level 107).
left_side_userlistbooleanoptional
Example: true
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.
emojisetstringoptional
Example: "google"
The user's configured emoji set,
used to display emoji to the user everywhere they appear in the UI.
"google" - Google modern
"google-blob" - Google classic
"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).
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 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.
Whether other users are allowed to see whether you've
read messages.
Changes: New in Zulip 5.0 (feature level 105).
email_address_visibilityintegeroptional
Example: 1
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.
Must be one of: 1, 2, 3, 4, 5.
web_navigate_to_sent_messagebooleanoptional
Example: true
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.
Response
Example response(s)
Changes: The ignored_parameters_unsupported
array was added as a possible return value for all REST API endpoint
JSON success responses in Zulip 7.0 (feature level 167).