This powerful endpoint can be used to register a Zulip "event queue"
(subscribed to certain types of "events", or updates to the messages
and other Zulip data the current user has access to), as well as to
fetch the current state of that data.
The server will queue events for up to 10 minutes of inactivity.
After 10 minutes, your event queue will be garbage-collected. The
server will send heartbeat events every minute, which makes it easy
to implement a robust client that does not miss events unless the
client loses network connectivity with the Zulip server for 10 minutes
or longer.
- 
queue_id: string | null
 The ID of the queue that has been allocated for your client. Will be nullonly for unauthenticated access in realms that have
enabled the public access option.
 
- 
last_event_id: integer
 The initial value of last_event_idto pass toGET /api/v1/events.
 
- 
zulip_feature_level: integer
 The server's current Zulip feature level. Changes: As of Zulip 3.0 (feature level 3), this is always present
in the endpoint's response. Previously, it was only present if
event_typesincludedzulip_version.
 New in Zulip 3.0 (feature level 1). 
- 
zulip_version: string
 The server's version number. This is often a release version number,
like 2.1.7. But for a server running a version from Git,
it will be a Git reference to the commit, like5.0-dev-1650-gc3fd37755f.
 Changes: As of Zulip 3.0 (feature level 3), this is always present
in the endpoint's response. Previously, it was only present if
event_typesincludedzulip_version.
 
- 
zulip_merge_base: string
 The git merge-basebetweenzulip_versionand official branches
in the public
Zulip server and web app repository,
in the same format aszulip_version. This will equalzulip_versionif the server is not running a fork of the Zulip server.
 This will be ""if the server does not know itsmerge-base.
 Changes: New in Zulip 5.0 (feature level 88). 
- 
alert_words: (string)[]
 Present if alert_wordsis present infetch_event_types.
 An array of strings, each an alert word
that the current user has configured. 
- 
custom_profile_fields: (object)[]
 Present if custom_profile_fieldsis present infetch_event_types.
 An array of dictionaries where each dictionary contains the
details of a single custom profile field that is available to users
in this Zulip organization. This must be combined with the custom profile
field values on individual user objects to display users' profiles. 
- 
id: integer
 The ID of the custom profile field. This will be referenced in the custom
profile fields section of user objects. 
- 
type: integer
 An integer indicating the type of the custom profile field, which determines
how it is configured and displayed to users. See the Custom profile fields
article for details on what each type means. 
- 1: Short text
- 2: Long text
- 3: List of options
- 4: Date picker
- 5: Link
- 6: Person picker
- 7: External account
- 8: Pronouns
 Changes: Field type 8added in Zulip 6.0 (feature level 151).
 
- 
order: integer
 Custom profile fields are displayed in both settings UI and
UI showing users' profiles in increasing order.
 
- 
name: string
 The name of the custom profile field. 
- 
hint: string
 The help text to be displayed for the custom profile field in user-facing
settings UI for configuring custom profile fields. 
- 
field_data: string
 Field types 3 (List of options) and 7 (External account) support storing
additional configuration for the field type in the field_dataattribute.
 For field type 3 (List of options), this attribute is a JSON dictionary
defining the choices and the order they will be displayed in the
dropdown UI for individual users to select an option. The interface for field type 7 is not yet stabilized. 
- 
display_in_profile_summary: boolean
 Whether the custom profile field, display or not on the user card. Currently it's value not allowed to be trueofLong textandPerson pickerprofile field types.
 This field is only included when its value is true.
 Changes: New in Zulip 6.0 (feature level 146). 
- 
required: boolean
 Whether an organization administrator has configured this profile field as
required. Because the required property is mutable, clients cannot assume that a required
custom profile field has a value. The Zulip web application displays a prominent
banner to any user who has not set a value for a required field. Changes: New in Zulip 9.0 (feature level 244). 
- 
editable_by_user: boolean
 Whether regular users can edit this profile field on their own account. Note that organization administrators can edit custom profile fields for any user
regardless of this setting. Changes: New in Zulip 10.0 (feature level 296). 
 
- 
custom_profile_field_types: object
 Present if custom_profile_fieldsis present infetch_event_types.
 An array of objects; each object describes a type of custom profile field
that could be configured on this Zulip server. Each custom profile type
has an ID and the typeproperty of a custom profile field is equal
to one of these IDs.
 This attribute is only useful for clients containing UI for changing
the set of configured custom profile fields in a Zulip organization. 
- 
{FIELD_TYPE}: object
 Dictionary which contains the details
of the field type with the field type as the name of the
property itself. The current supported field types are as follows: 
- SHORT_TEXT
- LONG_TEXT
- DATEfor date-based fields.
- SELECTfor a list of options.
- URLfor links.
- EXTERNAL_ACCOUNTfor external accounts.
- USERfor selecting a user for the field.
- PRONOUNSfor a short text field with convenient typeahead for one's preferred pronouns.
 Changes: PRONOUNStype added in Zulip 6.0 (feature level 151).
 
 
- 
realm_date_created: integer
 The UNIX timestamp (UTC) for when the organization was
created. Changes: New in Zulip 8.0 (feature level 203). 
- 
demo_organization_scheduled_deletion_date: integer
 Present if the realm is a demo organization. The UNIX timestamp (UTC) when the demo organization will be
automatically deleted. Clients should use this to display a
prominent warning to the user that the organization will be
deleted at the indicated time. Changes: New in Zulip 5.0 (feature level 94). 
- 
drafts: (object)[]
 An array containing draft objects for the user. These drafts are being
stored on the backend for the purpose of syncing across devices. This
array will be empty if enable_drafts_synchronizationis set tofalse.
 
- 
id: integer
 The unique ID of the draft. It will only used whenever the drafts are
fetched. This field should not be specified when the draft is being
created or edited. 
- 
type: string
 The type of the draft. Either unaddressed (empty string), "stream",
or"private"(for one-on-one and group direct messages).
 
- 
to: (integer)[]
 An array of the tentative target audience IDs. For channel
messages, this should contain exactly 1 ID, the ID of the
target channel. For direct messages, this should be an array
of target user IDs. For unaddressed drafts, this is ignored,
and clients should send an empty array. 
- 
topic: string
 For channel message drafts, the tentative topic name. For direct
or unaddressed messages, this will be ignored and should ideally
be the empty string. Should not contain null bytes. 
- 
content: string
 The body of the draft. Should not contain null bytes. 
- 
timestamp: integer
 A Unix timestamp (seconds only) representing when the draft was
last edited. When creating a draft, this key need not be present
and it will be filled in automatically by the server. 
 
- 
onboarding_steps: (object)[]
 Present if onboarding_stepsis present infetch_event_types.
 An array of dictionaries, where each dictionary contains details about
a single onboarding step that should be shown to the user. We expect that only official Zulip clients will interact with this data. Changes: Before Zulip 8.0 (feature level 233), this array was named
hotspots. Prior to this feature level, one-time notice onboarding
steps were not supported, and thetypefield in these objects did not
exist as all onboarding steps were implicitly hotspots.
 
- 
type: string
 The type of the onboarding step. Valid value is "one_time_notice".
 Changes: Removed type "hotspot"in Zulip 9.0 (feature level 259).
 New in Zulip 8.0 (feature level 233). 
- 
name: string
 The name of the onboarding step. 
 
- 
navigation_tour_video_url: string | null
 Present if onboarding_stepsis present infetch_event_types.
 URL of the navigation tour video to display to new users during
onboarding. If null, the onboarding video experience is disabled.
 Changes: New in Zulip 10.0 (feature level 369). 
- 
max_message_id: integer
 Present if messageis present infetch_event_types.
 The highest message ID among all messages the user has received as of the
moment of this request. Deprecated: This field may be removed in future versions as it no
longer has a clear purpose. Clients wishing to fetch the latest messages
should pass "anchor": "latest"toGET /messages.
 
- 
max_stream_name_length: integer
 Present if realmis present infetch_event_types.
 The maximum allowed length for a channel name, in Unicode code
points. Clients should use this property rather than hardcoding
field sizes. Changes: New in Zulip 4.0 (feature level 53). Previously,
this required streaminfetch_event_types, was calledstream_name_max_length, and always had a value of 60.
 
- 
max_stream_description_length: integer
 Present if realmis present infetch_event_types.
 The maximum allowed length for a channel description, in Unicode
code points. Clients should use this property rather than hardcoding
field sizes. Changes: New in Zulip 4.0 (feature level 53). Previously,
this required streaminfetch_event_types, was calledstream_description_max_length, and always had a value of 1024.
 
- 
max_topic_length: integer
 Present if realmis present infetch_event_types.
 The maximum allowed length for a topic, in Unicode code points.
Clients should use this property rather than hardcoding field
sizes. Changes: New in Zulip 4.0 (feature level 53). Previously,
this property always had a value of 60. 
- 
max_message_length: integer
 Present if realmis present infetch_event_types.
 The maximum allowed length for a message, in Unicode code points.
Clients should use this property rather than hardcoding field
sizes. Changes: New in Zulip 4.0 (feature level 53). Previously,
this property always had a value of 10000. 
- 
server_min_deactivated_realm_deletion_days: integer | null
 Present if realmis present infetch_event_types.
 The minimum permitted number of days before full data deletion
(users, channels, messages, etc.) of a deactivated organization.
If null, then a deactivated organization's data can be
deleted immediately.
 Changes: New in Zulip 10.0 (feature level 332) 
- 
server_max_deactivated_realm_deletion_days: integer | null
 Present if realmis present infetch_event_types.
 The maximum permitted number of days before full data deletion
(users, channels, messages, etc.) of a deactivated organization.
If null, then a deactivated organization's data can be
retained indefinitely.
 Changes: New in Zulip 10.0 (feature level 332). 
- 
server_presence_ping_interval_seconds: integer
 For clients implementing the presence system,
the time interval the client should use for sending presence requests
to the server (and thus receive presence updates from the server). It is important for presence implementations to use both this and
server_presence_offline_threshold_secondscorrectly, so that a Zulip
server can change these values to manage the trade-off between load and
freshness of presence data.
 Changes: New in Zulip 7.0 (feature level 164). Clients should use 60
for older Zulip servers, since that's the value that was hardcoded in the
Zulip mobile apps prior to this parameter being introduced. 
- 
server_presence_offline_threshold_seconds: integer
 How old a presence timestamp for a given user can be before the user
should be displayed as offline by clients displaying Zulip presence
data. See the related server_presence_ping_interval_secondsfor details.
 Changes: New in Zulip 7.0 (feature level 164). Clients should use 140
for older Zulip servers, since that's the value that was hardcoded in the
Zulip client apps prior to this parameter being introduced. 
- 
server_typing_started_expiry_period_milliseconds: integer
 For clients implementing typing notifications
protocol, the time interval in milliseconds that the client should wait
for additional typing start events from
the server before removing an active typing indicator. Changes: New in Zulip 8.0 (feature level 204). Clients should use 15000
for older Zulip servers, since that's the value that was hardcoded in the
Zulip apps prior to this parameter being introduced. 
- 
server_typing_stopped_wait_period_milliseconds: integer
 For clients implementing typing notifications
protocol, the time interval in milliseconds that the client should wait
when a user stops interacting with the compose UI before sending a stop
notification to the server. Changes: New in Zulip 8.0 (feature level 204). Clients should use 5000
for older Zulip servers, since that's the value that was hardcoded in the
Zulip apps prior to this parameter being introduced. 
- 
server_typing_started_wait_period_milliseconds: integer
 For clients implementing typing notifications
protocol, the time interval in milliseconds that the client should use
to send regular start notifications to the server to indicate that the
user is still actively interacting with the compose UI. Changes: New in Zulip 8.0 (feature level 204). Clients should use 10000
for older Zulip servers, since that's the value that was hardcoded in the
Zulip apps prior to this parameter being introduced. 
- 
scheduled_messages: (object)[]
 Present if scheduled_messagesis present infetch_event_types.
 An array of all undelivered scheduled messages by the user. Changes: New in Zulip 7.0 (feature level 179). 
- 
scheduled_message_id: integer
 The unique ID of the scheduled message, which can be used to
modify or delete the scheduled message. This is different from the unique ID that the message will have
after it is sent. 
- 
type: string
 The type of the scheduled message. Either "stream"or"private".
 
- 
to: integer | (integer)[]
 The scheduled message's tentative target audience. For channel messages, it will be the unique ID of the target
channel. For direct messages, it will be an array with the
target users' IDs. 
- 
topic: string
 Only present if typeis"stream".
 The topic for the channel message. 
- 
content: string
 The content/body of the scheduled message, in text/markdown format. 
- 
rendered_content: string
 The content/body of the scheduled message rendered in HTML. 
- 
scheduled_delivery_timestamp: integer
 The UNIX timestamp for when the message will be sent
by the server, in UTC seconds. 
- 
failed: boolean
 Whether the server has tried to send the scheduled message
and it failed to successfully send. Clients that support unscheduling and editing scheduled messages
should display scheduled messages with "failed": truewith an
indicator that the server failed to send the message at the
scheduled time, so that the user is aware of the failure and can
get the content of the scheduled message.
 Changes: New in Zulip 7.0 (feature level 181). 
 
- 
muted_topics: ((string | integer)[])[]
 Present if muted_topicsis present infetch_event_types.
 Array of tuples, where each tuple describes a muted topic.
The first element of the tuple is the channel name in which the topic
has to be muted, the second element is the topic name to be muted
and the third element is an integer UNIX timestamp representing
when the topic was muted. Changes: Deprecated in Zulip 6.0 (feature level 134). Starting
with this version, muted_topicswill only be present in the
response if theuser_topicobject, which generalizes and replaces
this field, is not explicitly requested viafetch_event_types.
 Before Zulip 3.0 (feature level 1), the muted_topicsarray objects were 2-item tuples and did not include the timestamp
information for when the topic was muted.
 
- 
muted_users: (object)[]
 Present if muted_usersis present infetch_event_types.
 A list of dictionaries where each dictionary describes
a muted user. Changes: New in Zulip 4.0 (feature level 48). 
- 
presences: object
 Present if presenceis present infetch_event_types.
 A dictionary where each entry describes the presence details of a
user in the Zulip organization. The format of the entry (modern or legacy) depends on the value of
slim_presence.
 Users who have been offline for multiple weeks may not appear in this object. 
- 
presence_last_update_id: integer
 Present if presenceis present infetch_event_types.
 Provides the last_update_idvalue of the latest presence data fetched by
the server and included in the response inpresences. This can be used
as the value of thepresence_last_update_idparameter when polling
for presence data at the /users/me/presence endpoint
to tell the server to only fetch the relevant newer data in order to skip
redundant already-known presence information.
 Changes: New in Zulip 9.0 (feature level 263). 
- 
server_timestamp: number
 Present if presenceis present infetch_event_types.
 The time when the server fetched the
presencesdata included in the response.
Matches the similar field in presence
responses.
 Changes: New in Zulip 5.0 (feature level 70). 
- 
realm_domains: (object)[]
 Present if realm_domainsis present infetch_event_types.
 An array of dictionaries where each dictionary describes a domain within
which users can join the organization without and invitation. 
- 
realm_emoji: object
 Present if realm_emojiis present infetch_event_types.
 A dictionary of objects where each object describes a custom
emoji that has been uploaded in this Zulip organization. 
- 
realm_linkifiers: (object)[]
 Present if realm_linkifiersis present infetch_event_types.
 An ordered array of objects where each object describes a single
linkifier. The order of the array reflects the order that each
linkifier should be processed when linkifying messages
and topics. By default, new linkifiers are ordered
last. This order can be modified with PATCH
/realm/linkifiers.
 Clients will receive an empty array unless the event queue is
registered with the client capability {"linkifier_url_template": true}.
Seeclient_capabilitiesparameter for how this can be specified.
 Changes: Before Zulip 7.0 (feature level 176), the
linkifier_url_templateclient capability was not required. The
requirement was added because linkifiers were updated to contain
a URL template instead of a URL format string, which was a not
backwards-compatible change.
 New in Zulip 4.0 (feature level 54). Clients can access this data for
servers on earlier feature levels via the legacy realm_filtersproperty.
 
- 
pattern: string
 The Python regular expression
pattern which represents the pattern that should be linkified on matching. 
- 
url_template: string
 The RFC 6570 compliant URL
template with which the pattern matching string should be linkified. Changes: New in Zulip 7.0 (feature level 176). This replaced url_format,
which contained a URL format string.
 
- 
id: integer
 The ID of the linkifier. 
 
- 
realm_filters: ((integer | string)[])[]
 Legacy property for linkifiers.
Present if realm_filtersis present infetch_event_types.
 When present, this is always an empty array. Changes: Prior to Zulip 7.0 (feature level 176), this was
an array of tuples, where each tuple described a linkifier. The first
element of the tuple was a string regex pattern which represented the
pattern to be linkified on matching, for example "#(?P<id>[123])".
The second element was a URL format string that the pattern should be
linkified with. A URL format string for the above example would be"https://realm.com/my_realm_filter/%(id)s". And the third element
was the ID of the realm filter.
 Deprecated in Zulip 4.0 (feature level 54), replaced by the
realm_linkifierskey.
 
- 
realm_playgrounds: (object)[]
 Present if realm_playgroundsis present infetch_event_types.
 An array of dictionaries where each dictionary describes a
code playground configured for this Zulip organization. Changes: New in Zulip 4.0 (feature level 49). 
- 
id: integer
 The unique ID for the realm playground. 
- 
name: string
 The user-visible display name of the playground. Clients
should display this in UI for picking which playground to
open a code block in, to differentiate between multiple
configured playground options for a given pygments
language. Changes: New in Zulip 4.0 (feature level 49). 
- 
pygments_language: string
 The name of the Pygments language lexer for that
programming language. 
- 
url_template: string
 The RFC 6570
compliant URL template for the playground. The template contains
exactly one variable named code, which determines how the
extracted code should be substituted in the playground URL.
 Changes: New in Zulip 8.0 (feature level 196). This replaced the
url_prefixparameter, which was used to construct URLs by just
concatenating url_prefix and code.
 
 
- 
realm_user_groups: (object)[]
 Present if realm_user_groupsis present infetch_event_types.
 An array of dictionaries where each dictionary describes a
user group in the Zulip organization. Deactivated groups will only be included if include_deactivated_groupsclient capability is set totrue.
 Changes: Prior to Zulip 10.0 (feature level 294), deactivated
groups were included for all the clients. 
- 
name: string
 The name of the user group. 
- 
date_created: integer | null
 The UNIX timestamp for when the user group was created, in UTC seconds. A nullvalue means the user group has no recorded date, which is often
because the user group is very old, or because it was created via a data
import tool or management command.
 Changes: New in Zulip 10.0 (feature level 292). 
- 
creator_id: integer | null
 The ID of the user who created this user group. A nullvalue means the user group has no recorded creator, which is often
because the user group is very old, or because it was created via a data
import tool or management command.
 Changes: New in Zulip 10.0 (feature level 292). 
- 
description: string
 The description of the user group. 
- 
members: (integer)[]
 Array containing the ID of the users who are
members of this user group. Changes: Prior to Zulip 10.0 (feature level 303), this
list also included deactivated users who were members of
the user group before being deactivated. 
- 
direct_subgroup_ids: (integer)[]
 Array containing the ID of the direct_subgroups of
this user group. Changes: New in Zulip 6.0 (feature level 131).
Introduced in feature level 127 as subgroups, but
clients can ignore older events as this feature level
predates subgroups being fully implemented.
 
- 
id: integer
 The ID of the user group. 
- 
is_system_group: boolean
 Whether the user group is a system group which cannot be
directly modified by users. Changes: New in Zulip 5.0 (feature level 93). 
- 
can_add_members_group: integer | object
 A group-setting value defining the set of users who
have permission to add members to this user group. Changes: New in Zulip 10.0 (feature level 305). Previously, this
permission was controlled by the can_manage_groupsetting.
 Will be one of the following: 
- 
can_join_group: integer | object
 A group-setting value defining the set of users who
have permission to join this user group. Changes: New in Zulip 10.0 (feature level 301). Will be one of the following: 
- 
can_leave_group: integer | object
 A group-setting value defining the set of users who
have permission to leave this user group. Changes: New in Zulip 10.0 (feature level 308). Will be one of the following: 
- 
can_manage_group: integer | object
 A group-setting value defining the set of users who
have permission to manage this user group. Changes: New in Zulip 10.0 (feature level 283). Will be one of the following: 
- 
can_mention_group: integer | object
 A group-setting value defining the set of users who
have permission to mention this user group. Changes: Before Zulip 9.0 (feature level 258), this setting was
always the integer form of a group-setting value. Before Zulip 8.0 (feature level 198), this setting was named
can_mention_group_id.
 New in Zulip 8.0 (feature level 191). Previously, groups could be
mentioned only if they were not system groups. Will be one of the following: 
- 
can_remove_members_group: integer | object
 A group-setting value defining the set of users who
have permission to remove members from this user group. Changes: New in Zulip 10.0 (feature level 324). Previously, this
permission was controlled by the can_manage_groupsetting.
 Will be one of the following: 
- 
deactivated: boolean
 Whether the user group is deactivated. Deactivated groups
cannot be used as a subgroup of another group or used for
any other purpose. Changes: New in Zulip 10.0 (feature level 290). 
 
- 
realm_bots: (object)[]
 Present if realm_botis present infetch_event_types.
 An array of dictionaries where each dictionary describes a bot that the
current user can administer. If the current user is an organization
administrator, this will include all bots in the organization. Otherwise,
it will only include bots owned by the user (either because the user created
the bot or an administrator transferred the bot's ownership to the user). 
- 
user_id: integer
 The user ID of the bot. 
- 
full_name: string
 The full name of the bot. 
- 
api_key: string
 The API key of the bot which it uses to make API requests. 
- 
default_sending_stream: string | null
 The default sending channel of the bot. If null, the bot doesn't
have a default sending channel.
 
- 
default_events_register_stream: string | null
 The default channel for which the bot receives events/register data.
If null, the bot doesn't have such a default channel.
 
- 
default_all_public_streams: boolean
 Whether the bot can send messages to all channels by default. 
- 
avatar_url: string
 The URL of the bot's avatar. 
- 
owner_id: integer | null
 The user ID of the bot's owner. If null, the bot has no owner.
 
- 
services: (object | object)[]
 An array containing extra configuration fields only relevant for
outgoing webhook bots and embedded bots. This is always a single-element
array. We consider this part of the Zulip API to be unstable; it is used only
for UI elements for administering bots and is likely to change. 
- 
email: string
 The email of the bot. 
- 
bot_type: integer | null
 An integer describing the type of bot: 
- 1for a- Genericbot.
- 2for an- Incoming webhookbot.
- 3for an- Outgoing webhookbot.
- 4for an- Embeddedbot.
 
- 
is_active: boolean
 A boolean describing whether the user account has been deactivated. 
 
- 
realm_embedded_bots: (object)[]
 Present if realm_embedded_botsis present infetch_event_types.
 An array of dictionaries where each dictionary describes an type of embedded
bot that is available to be configured on this Zulip server. Clients only need these data if they contain UI for creating or administering bots. 
- 
realm_incoming_webhook_bots: (object)[]
 Present if realm_incoming_webhook_botsis present infetch_event_types.
 An array of dictionaries where each dictionary describes a type of incoming webhook
integration that is available to be configured on this Zulip server. Clients only need these data if they contain UI for creating or administering bots. 
- 
name: string
 A machine-readable unique name identifying the integration, all-lower-case without
spaces. 
- 
display_name: string
 A human-readable display name identifying the integration that this bot implements,
intended to be used in menus for selecting which integration to create. Changes: New in Zulip 8.0 (feature level 207). 
- 
all_event_types: (string)[]
 For incoming webhook integrations that support the Zulip server filtering incoming
events, the list of event types supported by it. A null value will be present if this incoming webhook integration doesn't support
such filtering. Changes: New in Zulip 8.0 (feature level 207). 
- 
config_options: (object)[]
 An array of configuration options where each option is an
object containing a unique identifier, a human-readable name,
and a validation function name hinting how to verify the
correct input format. This is an unstable API expected to be used only by the Zulip web
apps. Please discuss in chat.zulip.org before using it. Changes: New in Zulip 10.0 (feature level 318). 
- 
key: string
 A key for the configuration option to use in generated URLs. 
- 
label: string
 A human-readable label of the configuration option. 
- 
validator: string
 The name of the validator function for the configuration
option. Currently generated values are check_boolandcheck_string.
 
 
 
- 
recent_private_conversations: (object)[]
 Present if recent_private_conversationsis present infetch_event_types.
 An array of dictionaries containing data on all direct message and group direct message
conversations that the user has received (or sent) messages in, organized by
conversation. This data set is designed to support UI elements such as the
"Direct messages" widget in the web application showing recent direct message
conversations that the user has participated in. "Recent" is defined as the server's discretion; the original implementation
interpreted that as "the 1000 most recent direct messages the user received". 
- 
max_message_id: integer
 The highest message ID of the conversation, intended to support sorting
the conversations by recency. 
- 
user_ids: (integer)[]
 The list of users other than the current user in the direct message
conversation. This will be an empty list for direct messages sent to
oneself. 
 
- 
saved_snippets: (object)[]
 Present if saved_snippetsis present infetch_event_types.
 An array of dictionaries containing data on all of the current user's
saved snippets. Changes: New in Zulip 10.0 (feature level 297). 
- 
id: integer
 The unique ID of the saved snippet. 
- 
title: string
 The title of the saved snippet. 
- 
content: string
 The content of the saved snippet in text/markdown format. Clients should insert this content into a message when using
a saved snippet. 
- 
date_created: integer
 The UNIX timestamp for when the saved snippet was created, in
UTC seconds. 
 
- 
subscriptions: (object)[]
 Present if subscriptionis present infetch_event_types.
 A array of dictionaries where each dictionary describes the properties
of a channel the user is subscribed to (as well as that user's
personal per-channel settings). Changes: Removed email_addressfield from the dictionary
in Zulip 8.0 (feature level 226).
 Removed rolefield from the dictionary
in Zulip 6.0 (feature level 133).
 
- 
stream_id: integer
 The unique ID of a channel. 
- 
name: string
 The name of a channel. 
- 
description: string
 The description of the channel in text/markdown format,
intended to be used to prepopulate UI for editing a channel's
description. See also rendered_description.
 
- 
rendered_description: string
 The description of the channel rendered as HTML, intended to
be used when displaying the channel description in a UI. One should use the standard Zulip rendered_markdown CSS when
displaying this content so that emoji, LaTeX, and other syntax
work correctly. And any client-side security logic for
user-generated message content should be applied when displaying
this HTML as though it were the body of a Zulip message. See also description.
 
- 
date_created: integer
 The UNIX timestamp for when the channel was created, in UTC seconds. Changes: New in Zulip 4.0 (feature level 30). 
- 
creator_id: integer | null
 The ID of the user who created this channel. A nullvalue means the channel has no recorded creator, which is often
because the channel is very old, or because it was created via a data
import tool or management command.
 Changes: New in Zulip 9.0 (feature level 254). 
- 
invite_only: boolean
 Specifies whether the channel is private or not.
Only people who have been invited can access a private channel. 
- 
subscribers: (integer)[]
 A list of user IDs of users who are also subscribed
to a given channel. Included only if include_subscribersistrue.
 
- 
desktop_notifications: boolean | null
 A boolean specifying whether desktop notifications
are enabled for the given channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting,enable_stream_desktop_notifications, for
this channel.
 
- 
email_notifications: boolean | null
 A boolean specifying whether email notifications
are enabled for the given channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting,enable_stream_email_notifications, for
this channel.
 
- 
wildcard_mentions_notify: boolean | null
 A boolean specifying whether wildcard mentions
trigger notifications as though they were personal
mentions in this channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting, wildcard_mentions_notify, for
this channel.
 
- 
push_notifications: boolean | null
 A boolean specifying whether push notifications
are enabled for the given channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting,enable_stream_push_notifications, for
this channel.
 
- 
audible_notifications: boolean | null
 A boolean specifying whether audible notifications
are enabled for the given channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting,enable_stream_audible_notifications, for
this channel.
 
- 
pin_to_top: boolean
 A boolean specifying whether the given channel has been pinned
to the top. 
- 
is_muted: boolean
 Whether the user has muted the channel. Muted channels do
not count towards your total unread count and do not show
up in the Combined feedview (previously known asAll messages).
 Changes: Prior to Zulip 2.1.0, this feature was
represented by the more confusingly named in_home_view(with the
opposite value,in_home_view=!is_muted).
 
- 
in_home_view: boolean
 Legacy property for if the given channel is muted, with inverted meaning. Changes: Deprecated in Zulip 2.1.0. Clients should use is_mutedwhere available.
 
- 
is_announcement_only: boolean
 Whether only organization administrators can post to the channel. Changes: Deprecated in Zulip 3.0 (feature level 1). Clients
should use stream_post_policyinstead.
 
- 
is_web_public: boolean
 Whether the channel has been configured to allow unauthenticated
access to its message history from the web. 
- 
color: string
 The user's personal color for the channel. 
- 
stream_post_policy: integer
 A deprecated representation of a superset of the users who
have permission to post messages to the channel available
for backwards-compatibility. Clients should use
can_send_message_groupinstead.
 It is an enum with the following possible values, corresponding
to roles/system groups: 
- 1 = Any user can post.
- 2 = Only administrators can post.
- 3 = Only full members can post.
- 4 = Only moderators can post.
 Changes: Deprecated in Zulip 10.0 (feature level 333) and
replaced by can_send_message_group, which supports finer
resolution of configurations, resulting in this property being
inaccurate following that transition.
 New in Zulip 3.0 (feature level 1), replacing the previous
is_announcement_onlyboolean.
 
- 
message_retention_days: integer | null
 Number of days that messages sent to this channel will be stored
before being automatically deleted by the message retention
policy. There are two special values: 
- null, the default, means the channel will inherit the organization
  level setting.
- -1encodes retaining messages in this channel forever.
 Changes: New in Zulip 3.0 (feature level 17). 
- 
history_public_to_subscribers: boolean
 Whether the history of the channel is public to its subscribers. Currently always true for public channels (i.e. "invite_only": falseimplies"history_public_to_subscribers": true), but clients should not make that
assumption, as we may change that behavior in the future.
 
- 
first_message_id: integer | null
 The ID of the first message in the channel. Intended to help clients determine whether they need to display
UI like the "show all topics" widget that would suggest the channel
has older history that can be accessed. Is nullfor channels with no message history.
 
- 
is_recently_active: boolean
 Whether the channel has recent message activity. Clients should use this to implement
sorting inactive channels to the bottom. Changes: New in Zulip 10.0 (feature level 323). Previously, clients implemented the
demote_inactive_streams from local message history, resulting in a choppy loading
experience. 
- 
stream_weekly_traffic: integer | null
 The average number of messages sent to the channel per week, as
estimated based on recent weeks, rounded to the nearest integer. If null, the channel was recently created and there is
insufficient data to estimate the average traffic.
 
- 
can_add_subscribers_group: integer | object
 A group-setting value defining the set of users
who have permission to add subscribers to this channel. Users who can administer the channel or have similar realm-level
permissions can add subscribers to a public channel regardless
of the value of this setting. Users in this group need not be subscribed to a private channel to
add subscribers to it. Note that a user must have content access
to a channel and permission to administer the channel in order to
modify this setting. Changes: New in Zulip 10.0 (feature level 342). Previously, there was no
channel-level setting for this permission. 
- 
can_remove_subscribers_group: integer | object
 A group-setting value defining the set of users
who have permission to remove subscribers from this channel. Organization administrators can unsubscribe others from a channel as though
they were in this group without being explicitly listed here. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: Prior to Zulip 10.0 (feature level 349), channel administrators
could not unsubscribe other users if they were not an organization
administrator or part of can_remove_subscribers_group. Realm administrators
were not allowed to unsubscribe other users from a private channel if they
were not subscribed to that channel.
 Prior to Zulip 10.0 (feature level 320), this value was always the integer
ID of a system group. Before Zulip 8.0 (feature level 197), the can_remove_subscribers_groupsetting was namedcan_remove_subscribers_group_id.
 New in Zulip 6.0 (feature level 142). 
- 
can_administer_channel_group: integer | object
 A group-setting value defining the set of users
who have permission to administer this channel. Organization administrators can administer every channel as though they were
in this group without being explicitly listed here. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: Prior to Zulip 10.0 (feature level 349) a user needed to
have content access to a channel in
order to modify it. The exception to this rule was that organization
administrators can edit channel names and descriptions without
having full access to the channel. New in Zulip 10.0 (feature level 325). Prior to this
change, the permission to administer channels was limited to realm
administrators. 
- 
can_send_message_group: integer | object
 A group-setting value defining the set of users
who have permission to post in this channel. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: New in Zulip 10.0 (feature level 333). Previously
stream_post_policyfield used to control the permission to
post in the channel.
 
- 
can_subscribe_group: integer | object
 A group-setting value defining the set of users
who have permission to subscribe themselves to this channel. Everyone, excluding guests, can subscribe to any public channel
irrespective of this setting. Users in this group can subscribe to a private channel as well. Note that a user must have content access
to a channel and permission to administer the channel in order to
modify this setting. Changes: New in Zulip 10.0 (feature level 357). 
- 
is_archived: boolean
 A boolean indicating whether the channel is archived. Changes: New in Zulip 10.0 (feature level 315).
Previously, subscriptions only included active
channels. Note that some endpoints will never return archived
channels unless the client declares explicit support for
them via the archived_channelsclient capability.
 
 
- 
unsubscribed: (object)[]
 Present if subscriptionis present infetch_event_types.
 A array of dictionaries where each dictionary describes one of the
channels the user has unsubscribed from but was previously subscribed to
along with the subscription details. Unlike never_subscribed, the user might have messages in their personal
message history that were sent to these channels.
 Changes: Prior to Zulip 10.0 (feature level 349), if a user was
in can_administer_channel_groupof a channel that they had
unsubscribed from, but not an organization administrator, the channel
in question would not be part of this array.
 Removed email_addressfield from the dictionary
in Zulip 8.0 (feature level 226).
 Removed rolefield from the dictionary
in Zulip 6.0 (feature level 133).
 
- 
stream_id: integer
 The unique ID of a channel. 
- 
name: string
 The name of a channel. 
- 
description: string
 The description of the channel in text/markdown format,
intended to be used to prepopulate UI for editing a channel's
description. See also rendered_description.
 
- 
rendered_description: string
 The description of the channel rendered as HTML, intended to
be used when displaying the channel description in a UI. One should use the standard Zulip rendered_markdown CSS when
displaying this content so that emoji, LaTeX, and other syntax
work correctly. And any client-side security logic for
user-generated message content should be applied when displaying
this HTML as though it were the body of a Zulip message. See also description.
 
- 
date_created: integer
 The UNIX timestamp for when the channel was created, in UTC seconds. Changes: New in Zulip 4.0 (feature level 30). 
- 
creator_id: integer | null
 The ID of the user who created this channel. A nullvalue means the channel has no recorded creator, which is often
because the channel is very old, or because it was created via a data
import tool or management command.
 Changes: New in Zulip 9.0 (feature level 254). 
- 
invite_only: boolean
 Specifies whether the channel is private or not.
Only people who have been invited can access a private channel. 
- 
subscribers: (integer)[]
 A list of user IDs of users who are also subscribed
to a given channel. Included only if include_subscribersistrue.
 
- 
desktop_notifications: boolean | null
 A boolean specifying whether desktop notifications
are enabled for the given channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting,enable_stream_desktop_notifications, for
this channel.
 
- 
email_notifications: boolean | null
 A boolean specifying whether email notifications
are enabled for the given channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting,enable_stream_email_notifications, for
this channel.
 
- 
wildcard_mentions_notify: boolean | null
 A boolean specifying whether wildcard mentions
trigger notifications as though they were personal
mentions in this channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting, wildcard_mentions_notify, for
this channel.
 
- 
push_notifications: boolean | null
 A boolean specifying whether push notifications
are enabled for the given channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting,enable_stream_push_notifications, for
this channel.
 
- 
audible_notifications: boolean | null
 A boolean specifying whether audible notifications
are enabled for the given channel. A nullvalue means the value of this setting
should be inherited from the user-level default
setting,enable_stream_audible_notifications, for
this channel.
 
- 
pin_to_top: boolean
 A boolean specifying whether the given channel has been pinned
to the top. 
- 
is_muted: boolean
 Whether the user has muted the channel. Muted channels do
not count towards your total unread count and do not show
up in the Combined feedview (previously known asAll messages).
 Changes: Prior to Zulip 2.1.0, this feature was
represented by the more confusingly named in_home_view(with the
opposite value,in_home_view=!is_muted).
 
- 
in_home_view: boolean
 Legacy property for if the given channel is muted, with inverted meaning. Changes: Deprecated in Zulip 2.1.0. Clients should use is_mutedwhere available.
 
- 
is_announcement_only: boolean
 Whether only organization administrators can post to the channel. Changes: Deprecated in Zulip 3.0 (feature level 1). Clients
should use stream_post_policyinstead.
 
- 
is_web_public: boolean
 Whether the channel has been configured to allow unauthenticated
access to its message history from the web. 
- 
color: string
 The user's personal color for the channel. 
- 
stream_post_policy: integer
 A deprecated representation of a superset of the users who
have permission to post messages to the channel available
for backwards-compatibility. Clients should use
can_send_message_groupinstead.
 It is an enum with the following possible values, corresponding
to roles/system groups: 
- 1 = Any user can post.
- 2 = Only administrators can post.
- 3 = Only full members can post.
- 4 = Only moderators can post.
 Changes: Deprecated in Zulip 10.0 (feature level 333) and
replaced by can_send_message_group, which supports finer
resolution of configurations, resulting in this property being
inaccurate following that transition.
 New in Zulip 3.0 (feature level 1), replacing the previous
is_announcement_onlyboolean.
 
- 
message_retention_days: integer | null
 Number of days that messages sent to this channel will be stored
before being automatically deleted by the message retention
policy. There are two special values: 
- null, the default, means the channel will inherit the organization
  level setting.
- -1encodes retaining messages in this channel forever.
 Changes: New in Zulip 3.0 (feature level 17). 
- 
history_public_to_subscribers: boolean
 Whether the history of the channel is public to its subscribers. Currently always true for public channels (i.e. "invite_only": falseimplies"history_public_to_subscribers": true), but clients should not make that
assumption, as we may change that behavior in the future.
 
- 
first_message_id: integer | null
 The ID of the first message in the channel. Intended to help clients determine whether they need to display
UI like the "show all topics" widget that would suggest the channel
has older history that can be accessed. Is nullfor channels with no message history.
 
- 
is_recently_active: boolean
 Whether the channel has recent message activity. Clients should use this to implement
sorting inactive channels to the bottom. Changes: New in Zulip 10.0 (feature level 323). Previously, clients implemented the
demote_inactive_streams from local message history, resulting in a choppy loading
experience. 
- 
stream_weekly_traffic: integer | null
 The average number of messages sent to the channel per week, as
estimated based on recent weeks, rounded to the nearest integer. If null, the channel was recently created and there is
insufficient data to estimate the average traffic.
 
- 
can_add_subscribers_group: integer | object
 A group-setting value defining the set of users
who have permission to add subscribers to this channel. Users who can administer the channel or have similar realm-level
permissions can add subscribers to a public channel regardless
of the value of this setting. Users in this group need not be subscribed to a private channel to
add subscribers to it. Note that a user must have content access
to a channel and permission to administer the channel in order to
modify this setting. Changes: New in Zulip 10.0 (feature level 342). Previously, there was no
channel-level setting for this permission. 
- 
can_remove_subscribers_group: integer | object
 A group-setting value defining the set of users
who have permission to remove subscribers from this channel. Organization administrators can unsubscribe others from a channel as though
they were in this group without being explicitly listed here. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: Prior to Zulip 10.0 (feature level 349), channel administrators
could not unsubscribe other users if they were not an organization
administrator or part of can_remove_subscribers_group. Realm administrators
were not allowed to unsubscribe other users from a private channel if they
were not subscribed to that channel.
 Prior to Zulip 10.0 (feature level 320), this value was always the integer
ID of a system group. Before Zulip 8.0 (feature level 197), the can_remove_subscribers_groupsetting was namedcan_remove_subscribers_group_id.
 New in Zulip 6.0 (feature level 142). 
- 
can_administer_channel_group: integer | object
 A group-setting value defining the set of users
who have permission to administer this channel. Organization administrators can administer every channel as though they were
in this group without being explicitly listed here. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: Prior to Zulip 10.0 (feature level 349) a user needed to
have content access to a channel in
order to modify it. The exception to this rule was that organization
administrators can edit channel names and descriptions without
having full access to the channel. New in Zulip 10.0 (feature level 325). Prior to this
change, the permission to administer channels was limited to realm
administrators. 
- 
can_send_message_group: integer | object
 A group-setting value defining the set of users
who have permission to post in this channel. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: New in Zulip 10.0 (feature level 333). Previously
stream_post_policyfield used to control the permission to
post in the channel.
 
- 
can_subscribe_group: integer | object
 A group-setting value defining the set of users
who have permission to subscribe themselves to this channel. Everyone, excluding guests, can subscribe to any public channel
irrespective of this setting. Users in this group can subscribe to a private channel as well. Note that a user must have content access
to a channel and permission to administer the channel in order to
modify this setting. Changes: New in Zulip 10.0 (feature level 357). 
- 
is_archived: boolean
 A boolean indicating whether the channel is archived. Changes: New in Zulip 10.0 (feature level 315).
Previously, subscriptions only included active
channels. Note that some endpoints will never return archived
channels unless the client declares explicit support for
them via the archived_channelsclient capability.
 
 
- 
never_subscribed: (object)[]
 Present if subscriptionis present infetch_event_types.
 A array of dictionaries where each dictionary describes one of the
channels that is visible to the user and the user has never been subscribed
to. Important for clients containing UI where one can browse channels to subscribe
to. Changes: Before Zulip 10.0 (feature level 362), archived channels did
not appear in this list, even if the archived_channelsclient
capability was declared by the client.
 Prior to Zulip 10.0 (feature level 349), if a user was
in can_administer_channel_groupof a channel that they never
subscribed to, but not an organization administrator, the channel
in question would not be part of this array.
 
- 
stream_id: integer
 The unique ID of the channel. 
- 
name: string
 The name of the channel. 
- 
is_archived: boolean
 A boolean indicating whether the channel is archived. Changes: New in Zulip 10.0 (feature level 315).
Previously, this endpoint never returned archived channels. 
- 
description: string
 The short description of the channel in text/markdown format,
intended to be used to prepopulate UI for editing a channel's
description. 
- 
date_created: integer
 The UNIX timestamp for when the channel was created, in UTC seconds. Changes: New in Zulip 4.0 (feature level 30). 
- 
creator_id: integer | null
 The ID of the user who created this channel. A nullvalue means the channel has no recorded creator, which is often
because the channel is very old, or because it was created via a data
import tool or management command.
 Changes: New in Zulip 9.0 (feature level 254). 
- 
invite_only: boolean
 Specifies whether the channel is private or not.
Only people who have been invited can access a private channel. 
- 
rendered_description: string
 The short description of the channel rendered as HTML, intended to
be used when displaying the channel description in a UI. One should use the standard Zulip rendered_markdown CSS when
displaying this content so that emoji, LaTeX, and other syntax
work correctly. And any client-side security logic for
user-generated message content should be applied when displaying
this HTML as though it were the body of a Zulip message. 
- 
is_web_public: boolean
 Whether the channel has been configured to allow unauthenticated
access to its message history from the web. Changes: New in Zulip 2.1.0. 
- 
stream_post_policy: integer
 A deprecated representation of a superset of the users who
have permission to post messages to the channel available
for backwards-compatibility. Clients should use
can_send_message_groupinstead.
 It is an enum with the following possible values, corresponding
to roles/system groups: 
- 1 = Any user can post.
- 2 = Only administrators can post.
- 3 = Only full members can post.
- 4 = Only moderators can post.
 Changes: Deprecated in Zulip 10.0 (feature level 333) and
replaced by can_send_message_group, which supports finer
resolution of configurations, resulting in this property being
inaccurate following that transition.
 New in Zulip 3.0 (feature level 1), replacing the previous
is_announcement_onlyboolean.
 
- 
message_retention_days: integer | null
 Number of days that messages sent to this channel will be stored
before being automatically deleted by the message retention
policy. There are two special values: 
- null, the default, means the channel will inherit the organization
  level setting.
- -1encodes retaining messages in this channel forever.
 Changes: New in Zulip 3.0 (feature level 17). 
- 
history_public_to_subscribers: boolean
 Whether the history of the channel is public to its subscribers. Currently always true for public channels (i.e. "invite_only": falseimplies"history_public_to_subscribers": true), but clients should not make that
assumption, as we may change that behavior in the future.
 
- 
first_message_id: integer | null
 The ID of the first message in the channel. Intended to help clients determine whether they need to display
UI like the "show all topics" widget that would suggest the channel
has older history that can be accessed. Is nullfor channels with no message history.
 Changes: New in Zulip 2.1.0. 
- 
is_recently_active: boolean
 Whether the channel has recent message activity. Clients should use this to implement
sorting inactive channels to the bottom
if demote_inactive_streamsis enabled.
 Changes: New in Zulip 10.0 (feature level 323). Previously, clients implemented the
demote_inactive_streams from local message history, resulting in a choppy loading
experience. 
- 
is_announcement_only: boolean
 Whether the given channel is announcement only or not. Changes: Deprecated in Zulip 3.0 (feature level 1). Clients
should use stream_post_policyinstead.
 
- 
can_add_subscribers_group: integer | object
 A group-setting value defining the set of users
who have permission to add subscribers to this channel. Users who can administer the channel or have similar realm-level
permissions can add subscribers to a public channel regardless
of the value of this setting. Users in this group need not be subscribed to a private channel to
add subscribers to it. Note that a user must have content access
to a channel and permission to administer the channel in order to
modify this setting. Changes: New in Zulip 10.0 (feature level 342). Previously, there was no
channel-level setting for this permission. 
- 
can_remove_subscribers_group: integer | object
 A group-setting value defining the set of users
who have permission to remove subscribers from this channel. Organization administrators can unsubscribe others from a channel as though
they were in this group without being explicitly listed here. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: Prior to Zulip 10.0 (feature level 349), channel administrators
could not unsubscribe other users if they were not an organization
administrator or part of can_remove_subscribers_group. Realm administrators
were not allowed to unsubscribe other users from a private channel if they
were not subscribed to that channel.
 Prior to Zulip 10.0 (feature level 320), this value was always the integer
ID of a system group. Before Zulip 8.0 (feature level 197), the can_remove_subscribers_groupsetting was namedcan_remove_subscribers_group_id.
 New in Zulip 6.0 (feature level 142). 
- 
can_administer_channel_group: integer | object
 A group-setting value defining the set of users
who have permission to administer this channel. Organization administrators can administer every channel as though they were
in this group without being explicitly listed here. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: Prior to Zulip 10.0 (feature level 349) a user needed to
have content access to a channel in
order to modify it. The exception to this rule was that organization
administrators can edit channel names and descriptions without
having full access to the channel. New in Zulip 10.0 (feature level 325). Prior to this
change, the permission to administer channels was limited to realm
administrators. 
- 
can_send_message_group: integer | object
 A group-setting value defining the set of users
who have permission to post in this channel. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: New in Zulip 10.0 (feature level 333). Previously
stream_post_policyfield used to control the permission to
post in the channel.
 
- 
can_subscribe_group: integer | object
 A group-setting value defining the set of users
who have permission to subscribe themselves to this channel. Everyone, excluding guests, can subscribe to any public channel
irrespective of this setting. Users in this group can subscribe to a private channel as well. Note that a user must have content access
to a channel and permission to administer the channel in order to
modify this setting. Changes: New in Zulip 10.0 (feature level 357). 
- 
stream_weekly_traffic: integer | null
 The average number of messages sent to the channel per week, as
estimated based on recent weeks, rounded to the nearest integer. If null, the channel was recently created and there is
insufficient data to estimate the average traffic.
 
- 
subscribers: (integer)[]
 A list of user IDs of users who are subscribed
to the channel. Included only if include_subscribersistrue.
 If a user is not allowed to know the subscribers for
a channel, we will send an empty array. API authors
should use other data to determine whether users like
guest users are forbidden to know the subscribers. 
 
- 
unread_msgs: object
 Present if messageandupdate_message_flagsare both present inevent_types.
 A set of data structures describing the conversations containing
the 50000 most recent unread messages the user has received. This will usually
contain every unread message the user has received, but clients should support
users with even more unread messages (and not hardcode the number 50000). 
- 
count: integer
 The total number of unread messages to display. This includes one-on-one and group
direct messages, as well as channel messages that are not muted. Changes: Before Zulip 8.0 (feature level 213), the unmute and follow
topic features were not handled correctly in calculating this field. 
- 
pms: (object)[]
 An array of objects where each object contains details of unread
one-on-one direct messages with a specific user. Note that it is possible for a message that the current user sent
to the specified user to be marked as unread and thus appear here. 
- 
other_user_id: integer
 The user ID of the other participant in this one-on-one direct
message conversation. Will be the current user's ID for messages
that they sent in a one-on-one direct message conversation with
themself. Changes: New in Zulip 5.0 (feature level 119), replacing
the less clearly named sender_idfield.
 
- 
sender_id: integer
 Old name for the other_user_idfield. Clients should access
this field in Zulip server versions that do not yet supportother_user_id.
 Changes: Deprecated in Zulip 5.0 (feature level 119).
We expect to provide a next version of the full unread_msgsAPI before removing this legacy name.
 
- 
unread_message_ids: (integer)[]
 The message IDs of the recent unread direct messages sent
by either user in this one-on-one direct message conversation,
sorted in ascending order. 
 
- 
streams: (object)[]
 An array of dictionaries where each dictionary contains details of all
unread messages of a single subscribed channel. This includes muted channels
and muted topics, even though those messages are excluded from count.
 Changes: Prior to Zulip 5.0 (feature level 90), these objects
included a sender_idsproperty, which listed the set of IDs of
users who had sent the unread messages.
 
- 
topic: string
 The topic under which the messages were sent. Note that the empty string topic may have been rewritten by the server
to the value of realm_empty_topic_display_namefound in thePOST /registerresponse depending on the value
of theempty_topic_nameclient capability.
 Changes: The empty_topic_nameclient capability is new in
Zulip 10.0 (feature level 334).
 
- 
stream_id: integer
 The ID of the channel to which the messages were sent. 
- 
unread_message_ids: (integer)[]
 The message IDs of the recent unread messages sent in this channel,
sorted in ascending order. 
 
- 
huddles: (object)[]
 An array of objects where each object contains details of unread
group direct messages with a specific group of users. 
- 
user_ids_string: string
 A string containing the IDs of all users in the group
direct message conversation, including the current user,
separated by commas and sorted numerically; for example:
"1,2,3".
 
- 
unread_message_ids: (integer)[]
 The message IDs of the recent unread messages which have been sent in
this group direct message conversation, sorted in ascending order. 
 
- 
mentions: (integer)[]
 Array containing the IDs of all unread messages in which the user was
mentioned directly, and unread non-muted messages
in which the user was mentioned through a wildcard. Changes: Before Zulip 8.0 (feature level 213), the unmute and follow
topic features were not handled correctly in calculating this field. 
- 
old_unreads_missing: boolean
 Whether this data set was truncated because the user has too many
unread messages. When truncation occurs, only the most recent
MAX_UNREAD_MESSAGES(currently 50000) messages will be considered
when forming this response. Whentrue, we recommend that clients
display a warning, as they are likely to produce erroneous results
until reloaded with the user having fewer thanMAX_UNREAD_MESSAGESunread messages.
 Changes: New in Zulip 4.0 (feature level 44). 
 
- 
starred_messages: (integer)[]
 Present if starred_messagesis present infetch_event_types.
 Array containing the IDs of all messages which have been
starred by the user. 
- 
streams: (object)[]
 Present if streamis present infetch_event_types.
 Array of dictionaries where each dictionary contains details about
a single channel in the organization that is visible to the user. For organization administrators, this will include all private channels
in the organization. Changes: Before Zulip 11.0 (feature level ZF-5769ba), archived channels
did not appear in this list, even if the archived_channelsclient
capability was declared by the client.
 As of Zulip 8.0 (feature level 205), this will include all web-public
channels in the organization as well. 
- 
stream_id: integer
 The unique ID of the channel. 
- 
name: string
 The name of the channel. 
- 
is_archived: boolean
 A boolean indicating whether the channel is archived. Changes: New in Zulip 10.0 (feature level 315).
Previously, this endpoint never returned archived channels. 
- 
description: string
 The short description of the channel in text/markdown format,
intended to be used to prepopulate UI for editing a channel's
description. 
- 
date_created: integer
 The UNIX timestamp for when the channel was created, in UTC seconds. Changes: New in Zulip 4.0 (feature level 30). 
- 
creator_id: integer | null
 The ID of the user who created this channel. A nullvalue means the channel has no recorded creator, which is often
because the channel is very old, or because it was created via a data
import tool or management command.
 Changes: New in Zulip 9.0 (feature level 254). 
- 
invite_only: boolean
 Specifies whether the channel is private or not.
Only people who have been invited can access a private channel. 
- 
rendered_description: string
 The short description of the channel rendered as HTML, intended to
be used when displaying the channel description in a UI. One should use the standard Zulip rendered_markdown CSS when
displaying this content so that emoji, LaTeX, and other syntax
work correctly. And any client-side security logic for
user-generated message content should be applied when displaying
this HTML as though it were the body of a Zulip message. 
- 
is_web_public: boolean
 Whether the channel has been configured to allow unauthenticated
access to its message history from the web. Changes: New in Zulip 2.1.0. 
- 
stream_post_policy: integer
 A deprecated representation of a superset of the users who
have permission to post messages to the channel available
for backwards-compatibility. Clients should use
can_send_message_groupinstead.
 It is an enum with the following possible values, corresponding
to roles/system groups: 
- 1 = Any user can post.
- 2 = Only administrators can post.
- 3 = Only full members can post.
- 4 = Only moderators can post.
 Changes: Deprecated in Zulip 10.0 (feature level 333) and
replaced by can_send_message_group, which supports finer
resolution of configurations, resulting in this property being
inaccurate following that transition.
 New in Zulip 3.0 (feature level 1), replacing the previous
is_announcement_onlyboolean.
 
- 
message_retention_days: integer | null
 Number of days that messages sent to this channel will be stored
before being automatically deleted by the message retention
policy. There are two special values: 
- null, the default, means the channel will inherit the organization
  level setting.
- -1encodes retaining messages in this channel forever.
 Changes: New in Zulip 3.0 (feature level 17). 
- 
history_public_to_subscribers: boolean
 Whether the history of the channel is public to its subscribers. Currently always true for public channels (i.e. "invite_only": falseimplies"history_public_to_subscribers": true), but clients should not make that
assumption, as we may change that behavior in the future.
 
- 
first_message_id: integer | null
 The ID of the first message in the channel. Intended to help clients determine whether they need to display
UI like the "show all topics" widget that would suggest the channel
has older history that can be accessed. Is nullfor channels with no message history.
 Changes: New in Zulip 2.1.0. 
- 
is_recently_active: boolean
 Whether the channel has recent message activity. Clients should use this to implement
sorting inactive channels to the bottom
if demote_inactive_streamsis enabled.
 Changes: New in Zulip 10.0 (feature level 323). Previously, clients implemented the
demote_inactive_streams from local message history, resulting in a choppy loading
experience. 
- 
is_announcement_only: boolean
 Whether the given channel is announcement only or not. Changes: Deprecated in Zulip 3.0 (feature level 1). Clients
should use stream_post_policyinstead.
 
- 
can_add_subscribers_group: integer | object
 A group-setting value defining the set of users
who have permission to add subscribers to this channel. Users who can administer the channel or have similar realm-level
permissions can add subscribers to a public channel regardless
of the value of this setting. Users in this group need not be subscribed to a private channel to
add subscribers to it. Note that a user must have content access
to a channel and permission to administer the channel in order to
modify this setting. Changes: New in Zulip 10.0 (feature level 342). Previously, there was no
channel-level setting for this permission. 
- 
can_remove_subscribers_group: integer | object
 A group-setting value defining the set of users
who have permission to remove subscribers from this channel. Organization administrators can unsubscribe others from a channel as though
they were in this group without being explicitly listed here. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: Prior to Zulip 10.0 (feature level 349), channel administrators
could not unsubscribe other users if they were not an organization
administrator or part of can_remove_subscribers_group. Realm administrators
were not allowed to unsubscribe other users from a private channel if they
were not subscribed to that channel.
 Prior to Zulip 10.0 (feature level 320), this value was always the integer
ID of a system group. Before Zulip 8.0 (feature level 197), the can_remove_subscribers_groupsetting was namedcan_remove_subscribers_group_id.
 New in Zulip 6.0 (feature level 142). 
- 
can_administer_channel_group: integer | object
 A group-setting value defining the set of users
who have permission to administer this channel. Organization administrators can administer every channel as though they were
in this group without being explicitly listed here. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: Prior to Zulip 10.0 (feature level 349) a user needed to
have content access to a channel in
order to modify it. The exception to this rule was that organization
administrators can edit channel names and descriptions without
having full access to the channel. New in Zulip 10.0 (feature level 325). Prior to this
change, the permission to administer channels was limited to realm
administrators. 
- 
can_send_message_group: integer | object
 A group-setting value defining the set of users
who have permission to post in this channel. Note that a user must have metadata access to a channel and permission
to administer the channel in order to modify this setting. Changes: New in Zulip 10.0 (feature level 333). Previously
stream_post_policyfield used to control the permission to
post in the channel.
 
- 
can_subscribe_group: integer | object
 A group-setting value defining the set of users
who have permission to subscribe themselves to this channel. Everyone, excluding guests, can subscribe to any public channel
irrespective of this setting. Users in this group can subscribe to a private channel as well. Note that a user must have content access
to a channel and permission to administer the channel in order to
modify this setting. Changes: New in Zulip 10.0 (feature level 357). 
- 
stream_weekly_traffic: integer | null
 The average number of messages sent to the channel per week, as
estimated based on recent weeks, rounded to the nearest integer. If null, no information is provided on the average traffic.
This can be because the channel was recently created and there
is insufficient data to make an estimate, or because the server
wishes to omit this information for this client, this realm, or
this endpoint or type of event.
 Changes: New in Zulip 8.0 (feature level 199). Previously, this
statistic was available only in subscription objects. 
 
- 
realm_default_streams: (integer)[]
 Present if default_streamsis present infetch_event_types.
 An array of IDs of all the default channels
in the organization. Changes: Before Zulip 10.0 (feature level 330), we sent
array of dictionaries where each dictionary contained details
about a single default stream for the Zulip organization. 
- 
realm_default_stream_groups: (object)[]
 Present if default_stream_groupsis present infetch_event_types.
 An array of dictionaries where each dictionary contains details
about a single default channel group configured for this
Zulip organization. Default channel groups are an experimental feature. 
- 
name: string
 Name of the default channel group. 
- 
description: string
 Description of the default channel group. 
- 
id: integer
 The ID of the default channel group. 
- 
streams: (integer)[]
 An array of IDs of all the channels in the default stream group. Changes: Before Zulip 10.0 (feature level 330), we sent array
of dictionaries where each dictionary contained details about a
single stream in the default stream group. 
 
- 
stop_words: (string)[]
 Present if stop_wordsis present infetch_event_types.
 An array containing the stop words used by the Zulip server's
full-text search implementation. Useful for showing helpful
error messages when a search returns limited results because
a stop word in the query was ignored. 
- 
user_status: object
 Present if user_statusis present infetch_event_types.
 A dictionary which contains the status
of all users in the Zulip organization who have set a status. Changes: The emoji parameters are new in Zulip 5.0 (feature level 86).
Previously, Zulip did not support emoji associated with statuses. 
- 
user_settings: object
 Present if user_settingsis present infetch_event_types.
 A dictionary containing the user's personal settings. Changes: Removed dense_modesetting in Zulip 10.0
(feature level 364) as we now haveweb_font_size_pxandweb_line_height_percentsettings for more control.
 New in Zulip 5.0 (feature level 89). Previously, these
settings appeared in the top-level object, where they are
available for clients without the user_settings_objectclient
capability for backwards-compatibility.
 
- 
twenty_four_hour_time: boolean
 Whether time should be displayed in 24-hour notation. 
- 
web_mark_read_on_scroll_policy: integer
 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. 
- 
web_channel_default_view: integer
 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. 
- 
starred_message_counts: boolean
 Whether clients should display the number of starred
messages. 
- 
receives_typing_notifications: boolean
 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. Changes: New in Zulip 9.0 (feature level 253). Previously, there were
only options to disable sending typing notifications. 
- 
web_suggest_update_timezone: boolean
 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). 
- 
fluid_layout_width: boolean
 Whether to use the maximum available screen width
for the web app's center panel (message feed, recent conversations) on wide screens. 
- 
high_contrast_mode: boolean
 This setting is reserved for use to control variations in Zulip's design
to help visually impaired users. 
- 
web_font_size_px: integer
 User-configured primary font-sizefor 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_percent: integer
 User-configured primary line-heightfor the web application, in percent, so a
value of 120 represents aline-heightof 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. 
- 
color_scheme: integer
 Controls which color theme to use. 
- 1 - Automatic
- 2 - Dark theme
- 3 - Light theme
 Automatic detection is implementing using the standard prefers-color-schememedia query.
 
- 
translate_emoticons: boolean
 Whether to translate emoticons to emoji
in messages the user sends. 
- 
display_emoji_reaction_users: boolean
 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). 
- 
default_language: string
 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.
 
- 
web_home_view: string
 The home view used when opening a new
Zulip web app window or hitting the Esckeyboard shortcut repeatedly.
 
- "recent_topics" - Recent conversations view
- "inbox" - Inbox view
- "all_messages" - Combined feed view
 Changes: New in Zulip 8.0 (feature level 219). Previously, this was
called default_view, which was new in Zulip 4.0 (feature level 42).
 
- 
web_escape_navigates_to_home_view: boolean
 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).
 
- 
left_side_userlist: boolean
 Whether the users list on left sidebar in narrow windows. This feature is not heavily used and is likely to be reworked. 
- 
emojiset: string
 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
 
- 
demote_inactive_streams: integer
 Whether to demote inactive channels in the left sidebar. 
- 1 - Automatic
- 2 - Always
- 3 - Never
 
- 
user_list_style: integer
 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). 
- 
web_animate_image_previews: string
 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). 
- 
web_stream_unreads_count_display_policy: integer
 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). 
- 
hide_ai_features: boolean
 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). 
- 
timezone: string
 The IANA identifier of the user's profile time zone,
which is used primarily to display the user's local time to other users. 
- 
enter_sends: boolean
 Whether the user setting for sending on pressing Enter
in the compose box is enabled. 
- 
enable_drafts_synchronization: boolean
 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. 
- 
enable_stream_desktop_notifications: boolean
 Enable visual desktop notifications for channel messages. 
- 
enable_stream_email_notifications: boolean
 Enable email notifications for channel messages. 
- 
enable_stream_push_notifications: boolean
 Enable mobile notifications for channel messages. 
- 
enable_stream_audible_notifications: boolean
 Enable audible desktop notifications for channel messages. 
- 
notification_sound: string
 Notification sound name. 
- 
enable_desktop_notifications: boolean
 Enable visual desktop notifications for direct messages and @-mentions. 
- 
enable_sounds: boolean
 Enable audible desktop notifications for direct messages and
@-mentions. 
- 
enable_followed_topic_desktop_notifications: boolean
 Enable visual desktop notifications for messages sent to followed topics. Changes: New in Zulip 8.0 (feature level 189). 
- 
enable_followed_topic_email_notifications: boolean
 Enable email notifications for messages sent to followed topics. Changes: New in Zulip 8.0 (feature level 189). 
- 
enable_followed_topic_push_notifications: boolean
 Enable push notifications for messages sent to followed topics. Changes: New in Zulip 8.0 (feature level 189). 
- 
enable_followed_topic_audible_notifications: boolean
 Enable audible desktop notifications for messages sent to followed topics. Changes: New in Zulip 8.0 (feature level 189). 
- 
email_notifications_batching_period_seconds: integer
 The duration (in seconds) for which the server should wait to batch
email notifications before sending them. 
- 
enable_offline_email_notifications: boolean
 Enable email notifications for direct messages and @-mentions received
when the user is offline. 
- 
enable_offline_push_notifications: boolean
 Enable mobile notification for direct messages and @-mentions received
when the user is offline. 
- 
enable_online_push_notifications: boolean
 Enable mobile notification for direct messages and @-mentions received
when the user is online. 
- 
enable_digest_emails: boolean
 Enable digest emails when the user is away. 
- 
enable_marketing_emails: boolean
 Enable marketing emails. Has no function outside Zulip Cloud. 
- 
enable_login_emails: boolean
 Enable email notifications for new logins to account. 
- 
message_content_in_email_notifications: boolean
 Include the message's content in email notifications for new messages. 
- 
pm_content_in_desktop_notifications: boolean
 Include content of direct messages in desktop notifications. 
- 
wildcard_mentions_notify: boolean
 Whether wildcard mentions (E.g. @all) should send notifications
like a personal mention. 
- 
enable_followed_topic_wildcard_mentions_notify: boolean
 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). 
- 
desktop_icon_count_display: integer
 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 topicsoption, renumbering the options to insert it in
order.
 
- 
realm_name_in_email_notifications_policy: integer
 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_notificationsboolean;truecorresponded toAlways, andfalsetoNever.
 
- 
automatically_follow_topics_policy: integer
 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). 
- 
automatically_unmute_topics_in_muted_streams_policy: integer
 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). 
- 
automatically_follow_topics_where_mentioned: boolean
 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). 
- 
presence_enabled: boolean
 Display the presence status to other users when online. 
- 
available_notification_sounds: (string)[]
 Array containing the names of the notification sound options
supported by this Zulip server. Only relevant to support UI
for configuring notification sounds. 
- 
emojiset_choices: (object)[]
 Array of dictionaries where each dictionary describes an emoji set
supported by this version of the Zulip server. Only relevant to clients with configuration UI for choosing an emoji set;
the currently selected emoji set is available in the emojisetkey.
 See PATCH /settings for details on
the meaning of this setting. 
- 
send_private_typing_notifications: boolean
 Whether the user has chosen to send typing
notifications
when composing direct messages. The client should send typing
notifications for direct messages if and only if this setting is enabled. Changes: New in Zulip 5.0 (feature level 105). 
- 
send_stream_typing_notifications: boolean
 Whether the user has chosen to send typing
notifications
when composing channel messages. The client should send typing
notifications for channel messages if and only if this setting is enabled. Changes: New in Zulip 5.0 (feature level 105). 
- 
send_read_receipts: boolean
 Whether other users are allowed to see whether you've
read messages. Changes: New in Zulip 5.0 (feature level 105). 
- 
allow_private_data_export: boolean
 Whether organization administrators are allowed to
export your private data. Changes: New in Zulip 10.0 (feature level 293). 
- 
email_address_visibility: integer
 The policy for which other users
in this organization can see the user's 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. 
- 
web_navigate_to_sent_message: boolean
 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. 
 
- 
user_topics: (object)[]
 Present if user_topicis present infetch_event_types.
 Changes: New in Zulip 6.0 (feature level 134), deprecating and
replacing the previous muted_topicsstructure.
 
- 
stream_id: integer
 The ID of the channel to which the topic belongs. 
- 
topic_name: string
 The name of the topic. Note that the empty string topic may have been rewritten by the server to
the value of realm_empty_topic_display_namefound in thePOST /registerresponse depending on the value of theempty_topic_nameclient capability.
 Changes: The empty_topic_nameclient capability is new in
Zulip 10.0 (feature level 334).
 
- 
last_updated: integer
 An integer UNIX timestamp representing when the user-topic
relationship was changed. 
- 
visibility_policy: integer
 An integer indicating the user's visibility configuration for
the topic. Changes: In Zulip 7.0 (feature level 219), added followed as
a visibility policy option. In Zulip 7.0 (feature level 170), added unmuted as a visibility
policy option. 
 
- 
has_zoom_token: boolean
 Present if video_callsis present infetch_event_types.
 A boolean which signifies whether the user has a Zoom token and has thus
completed OAuth flow for the Zoom integration.
Clients need to know whether initiating Zoom OAuth is required before
creating a Zoom call. 
- 
giphy_api_key: string
 Present if giphyis present infetch_event_types.
 GIPHY's client-side SDKs needs this API key to use the GIPHY API.
GIPHY API keys are not secret (their main purpose appears to be
allowing GIPHY to block a problematic app). Please don't use our API
key for an app unrelated to Zulip. Developers of clients should also read the
GIPHY API TOS
before using this API key. Changes: Added in Zulip 4.0 (feature level 47). 
- 
enable_desktop_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_digest_emails: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_login_emails: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_marketing_emails: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
email_notifications_batching_period_seconds: integer
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_offline_email_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_offline_push_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_online_push_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_sounds: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_stream_desktop_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_stream_email_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_stream_push_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_stream_audible_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
wildcard_mentions_notify: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
message_content_in_email_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
notification_sound: string
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
pm_content_in_desktop_notifications: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
desktop_icon_count_display: integer
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
realm_name_in_email_notifications_policy: integer
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: In Zulip 7.0 (feature level 168), replaced previous
realm_name_in_notificationsglobal notifications setting withrealm_name_in_email_notifications_policy.
 Deprecated since Zulip 5.0 (feature level 89); both
realm_name_in_notificationsand the newerrealm_name_in_email_notifications_policyare deprecated. Clients
connecting to newer servers should declare theuser_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
presence_enabled: boolean
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 The current value of this global notification setting for the user.
See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
available_notification_sounds: (string)[]
 Present if update_global_notificationsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin theirclient_capabilitieswhen registering the event queue.
 Array containing the names of the notification sound options supported by
this Zulip server. Only relevant to support UI for configuring notification
sounds. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
color_scheme: integer
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 The color scheme selected by the user. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
default_language: string
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 The default language chosen by the user. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
demote_inactive_streams: integer
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether the user has chosen to demote inactive channels. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
emojiset: string
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 The name of the emoji set that the user has chosen. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
enable_drafts_synchronization: boolean
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether drafts synchronization is enabled for the user. If disabled,
clients will receive an error when trying to use the draftsendpoints.
 See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 New in Zulip 5.0 (feature level 87). 
- 
fluid_layout_width: boolean
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether the user has chosen for the layout width to be fluid. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
web_home_view: string
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 The home view in Zulip, represented
as the URL suffix after #to be rendered when Zulip loads.
 Currently supported values are all_messagesandrecent_topics.
 See PATCH /settings for details on
the meaning of this setting. Changes: New in Zulip 8.0 (feature level 219). Previously, this was
called default_view, which was new in Zulip 4.0 (feature level 42).
 Deprecated in Zulip 5.0 (feature level 89). Clients connecting to newer
servers should declare the user_settings_objectclient capability and
access theuser_settingsobject instead.
 
- 
high_contrast_mode: boolean
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether has switched on high contrast mode. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
left_side_userlist: boolean
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether the user has chosen for the userlist to be displayed
on the left side of the screen (for desktop app and web app) in narrow
windows. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
starred_message_counts: boolean
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether the user has chosen the number of starred messages to
be displayed similar to unread counts. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
timezone: string
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 The user's profile time zone, which is
used primarily to display the user's local time to other users. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
translate_emoticons: boolean
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether the user has chosen for emoticons to be translated into emoji
in the Zulip compose box. See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
twenty_four_hour_time: boolean
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether the user has chosen a twenty four hour time display (true)
or a twelve hour one (false). See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
receives_typing_notifications: boolean
 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. Changes: New in Zulip 9.0 (feature level 253). Previously, there were
only options to disable sending typing notifications. 
- 
enter_sends: boolean
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Whether the user setting for sending on pressing Enter
in the compose box is enabled. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and process theuser_settingsevent type instead.
 Prior to Zulip 5.0 (feature level 84), this field was present
in response if realm_userwas present infetch_event_types, notupdate_display_settings.
 
- 
emojiset_choices: (object)[]
 Present if update_display_settingsis present infetch_event_typesand only for clients that did not includeuser_settings_objectin
theirclient_capabilitieswhen registering the event queue.
 Array of dictionaries where each dictionary describes an emoji set
supported by this version of the Zulip server. Only relevant to clients with configuration UI for choosing an emoji set;
the currently selected emoji set is available in the emojisetkey.
 See PATCH /settings for details on
the meaning of this setting. Changes: Deprecated in Zulip 5.0 (feature level 89). Clients
connecting to newer servers should declare the user_settings_objectclient capability and access theuser_settingsobject instead.
 
- 
realm_message_edit_history_visibility_policy: string
 What typesof message edit history are accessible to users via
message edit history. 
- "all" = All edit history is visible.
- "moves" = Only moves are visible.
- "none" = No edit history is visible.
 Changes: New in Zulip 10.0 (feature level 358), replacing the previous
allow_edit_historyboolean setting;truecorresponds toall,
andfalsetonone.
 
- 
realm_allow_edit_history: boolean
 Present if realmis present infetch_event_types.
 Whether this organization is configured to allow users to access
message edit history. The value of realm_allow_edit_historyis set asfalseif therealm_message_edit_history_visibility_policyis configured as "None"
andtrueif it is configured as "Moves only" or "All".
 Changes: Deprecated in Zulip 10.0 (feature level 358) and will be
removed in the future, as it is an inaccurate version
realm_message_edit_history_visibility_policy, which replaces this field.
 
- 
realm_can_add_custom_emoji_group: integer | object
 Present if realmis present infetch_event_types.
 A group-setting value defining the set of
users who have permission to add custom emoji in the organization. Changes: New in Zulip 10.0 (feature level 307). Previously, this
permission was controlled by the enum add_custom_emoji_policy. Values
were 1=Members, 2=Admins, 3=Full members, 4=Moderators.
 Before Zulip 5.0 (feature level 85), the realm_add_emoji_by_admins_onlyboolean setting controlled this permission;truecorresponded toAdmins,
andfalsetoEveryone.
 
- 
realm_can_add_subscribers_group: integer | object
 A group-setting value defining the set of
users who have permission to add subscribers to channels in the organization. Changes: New in Zulip 10.0 (feature level 341). Previously, this
permission was controlled by the enum invite_to_stream_policy. Values
were 1=Members, 2=Admins, 3=Full members, 4=Moderators.
 
- 
realm_can_delete_any_message_group: integer | object
 Present if realmis present infetch_event_types.
 A group-setting value defining the set of
users who have permission to delete any message in the organization. Changes: New in Zulip 10.0 (feature level 281). Previously, this
permission was limited to administrators only and was uneditable. 
- 
realm_can_delete_own_message_group: integer | object
 Present if realmis present infetch_event_types.
 A group-setting value defining the set of
users who have permission to delete messages that they have sent in the
organization. Changes: New in Zulip 10.0 (feature level 291). Previously, this
permission was controlled by the enum delete_own_message_policy. Values
were 1=Members, 2=Admins, 3=Full members, 4=Moderators, 5=Everyone.
 Before Zulip 5.0 (feature level 101), the allow_message_deletingboolean
setting controlled this permission;truecorresponded toEveryone, andfalsetoAdmins.
 
- 
realm_can_invite_users_group: integer | object
 Present if realmis present infetch_event_types.
 A group-setting value defining the set of
users who have permission to send email invitations for inviting other users
to the organization. Changes: New in Zulip 10.0 (feature level 321). Previously, this
permission was controlled by the enum invite_to_realm_policy. Values
were 1=Members, 2=Admins, 3=Full members, 4=Moderators, 6=Nobody.
 Before Zulip 4.0 (feature level 50), the invite_by_admins_onlyboolean
setting controlled this permission;truecorresponded toAdmins, andfalsetoMembers.
 
- 
realm_can_mention_many_users_group: integer | object
 Present if realmis present infetch_event_types.
 A group-setting value defining the set of
users who have permission to use wildcard mentions in large channels. All users will receive a warning/reminder when using mentions in large
channels, even when permitted to do so. Changes: New in Zulip 10.0 (feature level 352). Previously, this
permission was controlled by the enum wildcard_mention_policy.
 
- 
realm_can_move_messages_between_channels_group: integer | object
 Present if realmis present infetch_event_types.
 A group-setting value defining the set of
users who have permission to move messages from one channel to another
in the organization. Changes: New in Zulip 10.0 (feature level 310). Previously, this
permission was controlled by the enum move_messages_between_streams_policy.
Values were 1=Members, 2=Admins, 3=Full members, 4=Moderators, 6=Nobody.
 In Zulip 7.0 (feature level 159), Nobodywas added as an option tomove_messages_between_streams_policyenum.
 
- 
realm_can_move_messages_between_topics_group: integer | object
 Present if realmis present infetch_event_types.
 A group-setting value defining the set of
users who have permission to move messages from one topic to another
within a channel in the organization. Changes: New in Zulip 10.0 (feature level 316). Previously, this
permission was controlled by the enum edit_topic_policy. Values were
1=Members, 2=Admins, 3=Full members, 4=Moderators, 5=Everyone, 6=Nobody.
 In Zulip 7.0 (feature level 159), Nobodywas added as an option toedit_topic_policyenum.
 
- 
realm_can_create_groups: integer | object
 A group-setting value defining
the set of users who have permission to create user
groups in this organization. Changes: New in Zulip 10.0 (feature level 299). Previously
realm_user_group_edit_policyfield used to control the
permission to create user groups.
 
- 
realm_can_create_bots_group: integer | object
 A group-setting value defining
the set of users who have permission to create all types of bot users
in the organization. See also can_create_write_only_bots_group.
 Changes: New in Zulip 10.0 (feature level 344). Previously, this
permission was controlled by the enum bot_creation_policy. Values
were 1=Members, 2=Generic bots limited to administrators, 3=Administrators.
 
- 
realm_can_create_write_only_bots_group: integer | object
 A group-setting value defining
the set of users who have permission to create bot users that
can only send messages in the organization, i.e. incoming webhooks,
in addition to the users who are present in can_create_bots_group.
 Changes: New in Zulip 10.0 (feature level 344). Previously, this
permission was controlled by the enum bot_creation_policy. Values
were 1=Members, 2=Generic bots limited to administrators, 3=Administrators.
 
- 
realm_can_manage_all_groups: integer | object
 A group-setting value
defining the set of users who have permission to
administer all existing groups in this organization. Changes: Prior to Zulip 10.0 (feature level 305), only users who
were a member of the group or had the moderator role or above could
exercise the permission on a given group. New in Zulip 10.0 (feature level 299). Previously the
user_group_edit_policyfield controlled the permission
to manage user groups. Valid values were as follows:
 
- 1 = All members can create and edit user groups
- 2 = Only organization administrators can create and edit
  user groups
- 3 = Only full members can create and
  edit user groups.
- 
4 = Only organization administrators and moderators can
  create and edit user groups. 
- 
The ID of the user group with this permission. 
- 
An object with these fields: 
- 
direct_members: (integer)[]
 The list of IDs of individual users in the collection of users with this permission. Changes: Prior to Zulip 10.0 (feature level 303), this list would include
deactivated users who had the permission before being deactivated. 
- 
direct_subgroups: (integer)[]
 The list of IDs of the groups in the collection of users with this permission. 
 
 
- 
realm_can_manage_billing_group: integer | object
 A group-setting value defining the set of
users who have permission to manage plans and billing in the organization. Changes: New in Zulip 10.0 (feature level 363). Previously, only owners
and users with is_billing_adminproperty set totruewere allowed to
manage plans and billing.
 
- 
realm_can_create_public_channel_group: integer | object
 A group-setting value defining
the set of users who have permission to create public
channels in this organization. Changes: New in Zulip 9.0 (feature level 264). Previously
realm_create_public_stream_policyfield used to control the
permission to create public channels.
 
- 
realm_can_create_private_channel_group: integer | object
 A group-setting value defining
the set of users who have permission to create private
channels in this organization. Changes: New in Zulip 9.0 (feature level 266). Previously
realm_create_private_stream_policyfield used to control the
permission to create private channels.
 
- 
realm_can_create_web_public_channel_group: integer | object
 A group-setting value defining
the set of users who have permission to create web-public
channels in this organization. Has no effect and should not be displayed in settings UI
unless the Zulip server has the WEB_PUBLIC_STREAMS_ENABLEDserver-level setting enabled and the organization has enabled
theenable_spectator_accessrealm setting.
 Changes: New in Zulip 10.0 (feature level 280). Previously
realm_create_web_public_stream_policyfield used to control
the permission to create web-public channels.
 
- 
realm_can_resolve_topics_group: integer | object
 A group-setting value defining
the set of users who have permission to resolve topics
in the organization. Changes: New in Zulip 10.0 (feature level 367). Previously, permission
to resolve topics was controlled by the more general
can_move_messages_between_topics_group permission for moving messages.
 
- 
realm_create_public_stream_policy: integer
 Present if realmis present infetch_event_types.
 A deprecated representation of a superset of the users who
have permission to create public channels in the organization,
available for backwards-compatibility. Clients should use
can_create_public_channel_groupinstead.
 It is an enum with the following possible values, corresponding
to roles/system groups: 
- 1 = Members only
- 2 = Admins only
- 3 = Full members only
- 4 = Admins and moderators only
 Changes: Deprecated in Zulip 9.0 (feature level 264) and
replaced by realm_can_create_public_channel_group, which
supports finer resolution of configurations, resulting in this
property being inaccurate following that transition.
 Before Zulip 5.0 (feature level 102), permission to create
channels was controlled by the realm_create_stream_policysetting.
 
- 
realm_create_private_stream_policy: integer
 Present if realmis present infetch_event_types.
 A deprecated representation of a superset of the users who
have permission to create private channels in the organization,
available for backwards-compatibility. Clients should use
can_create_private_channel_groupinstead.
 It is an enum with the following possible values, corresponding
to roles/system groups: 
- 1 = Members only
- 2 = Admins only
- 3 = Full members only
- 4 = Admins and moderators only
 Changes: Deprecated in Zulip 9.0 (feature level 266) and
replaced by realm_can_create_private_channel_group, which
supports finer resolution of configurations, resulting in this
property being inaccurate following that transition.
 Changes: Before Zulip 5.0 (feature level 102), permission to
create channels was controlled by the realm_create_stream_policysetting.
 
- 
realm_create_web_public_stream_policy: integer
 Present if realmis present infetch_event_types.
 A deprecated representation of a superset of the users who
have permission to create web-public channels in the
organization, available for backwards-compatibility. Clients
should use can_create_web_public_channel_groupinstead.
 It is an enum with the following possible values, corresponding
to roles/system groups: 
- 2 = Admins only
- 4 = Admins and moderators only
- 6 = Nobody
- 7 = Owners only
 Changes: Deprecated in Zulip 10.0 (feature level 280) and
replaced by realm_can_create_web_public_channel_group, which
supports finer resolution of configurations, resulting in this
property being inaccurate following that transition.
 Changes: Added in Zulip 5.0 (feature level 103). 
- 
realm_wildcard_mention_policy: integer
 Present if realmis present infetch_event_types.
 A deprecated representation of a superset of the users who
have permission to use wildcard mentions in large channels,
available for backwards-compatibility. Clients should use
can_mention_many_users_groupinstead.
 It is an enum with the following possible values, corresponding
to roles/system groups: 
- 1 = Any user can use wildcard mentions in large channels.
- 2 = Only members can use wildcard mentions in large channels.
- 3 = Only full members can use wildcard mentions in large channels.
- 5 = Only organization administrators can use wildcard mentions in large channels.
- 6 = Nobody can use wildcard mentions in large channels.
- 7 = Only organization administrators and moderators can use wildcard mentions in large channels.
 All users will receive a warning/reminder when using
mentions in large channels, even when permitted to do so. Changes: Deprecated in Zulip 10.0 (feature level 352) and
replaced by realm_can_mention_many_users_group, which
supports finer resolution of configurations, resulting in this
property being inaccurate following that transition.
 Channel administrators option removed in Zulip 6.0 (feature level 133). Moderators option added in Zulip 4.0 (feature level 62). New in Zulip 4.0 (feature level 33). 
- 
realm_default_language: string
 Present if realmis present infetch_event_types.
 The organization language for automated messages and invitation emails. 
- 
realm_description: string
 Present if realmis present infetch_event_types.
 The description of the organization, used on login and registration pages. 
- 
realm_digest_emails_enabled: boolean
 Present if realmis present infetch_event_types.
 Whether the organization has enabled weekly digest emails. 
- 
realm_disallow_disposable_email_addresses: boolean
 Present if realmis present infetch_event_types.
 Whether the organization disallows disposable email
addresses. 
- 
realm_email_changes_disabled: boolean
 Present if realmis present infetch_event_types.
 Whether users are allowed to change their own email address in this
organization. This is typically disabled for organizations that
synchronize accounts from LDAP or a similar corporate database. 
- 
realm_invite_required: boolean
 Present if realmis present infetch_event_types.
 Whether an invitation is required to join this organization. 
- 
realm_create_multiuse_invite_group: integer | object
 A group-setting value defining the
set of users who are allowed to create reusable invitation
links
to the organization. Changes: Prior to Zulip 10.0 (feature level 314), this value used
to be of type integer and did not accept anonymous user groups. New in Zulip 8.0 (feature level 209). 
- 
realm_inline_image_preview: boolean
 Present if realmis present infetch_event_types.
 Whether this organization has been configured to enable
previews of linked images. 
- 
realm_inline_url_embed_preview: boolean
 Present if realmis present infetch_event_types.
 Whether this organization has been configured to enable
previews of linked websites. 
- 
realm_mandatory_topics: boolean
 Present if realmis present infetch_event_types.
 Whether topics are required for messages in this organization. 
- 
realm_message_retention_days: integer
 Present if realmis present infetch_event_types.
 The default message retention policy
for this organization. It can have one special value: 
- -1denoting that the messages will be retained forever for this realm, by default.
 Changes: Prior to Zulip 3.0 (feature level 22), no limit was
encoded as nullinstead of-1. Clients can correctly handle all
server versions by treating both-1andnullas indicating
unlimited message retention.
 
- 
realm_name: string
 Present if realmis present infetch_event_types.
 The name of the organization, used in login pages etc. 
- 
realm_require_unique_names: boolean
 Indicates whether the organization is configured to require users
to have unique full names. If true, the server will reject attempts
to create a new user, or change the name of an existing user, where
doing so would lead to two users whose names are identical modulo
case and unicode normalization. Changes: New in Zulip 9.0 (feature level 246). Previously, the Zulip
server could not be configured to enforce unique names. 
- 
realm_name_changes_disabled: boolean
 Present if realmis present infetch_event_types.
 Indicates whether users are
allowed to change their name
via the Zulip UI in this organization. Typically disabled
in organizations syncing this type of account information from
an external user database like LDAP. 
- 
realm_avatar_changes_disabled: boolean
 Present if realmis present infetch_event_types.
 Indicates whether users are
allowed to change their avatar
via the Zulip UI in this organization. Typically disabled
in organizations syncing this type of account information from
an external user database like LDAP. 
- 
realm_emails_restricted_to_domains: boolean
 Present if realmis present infetch_event_types.
 Whether new users joining
this organization are required to have an email
address in one of the realm_domainsconfigured for the organization.
 
- 
realm_send_welcome_emails: boolean
 Present if realmis present infetch_event_types.
 Whether or not this organization is configured to send the standard Zulip
welcome emails to new users joining the organization. 
- 
realm_message_content_allowed_in_email_notifications: boolean
 Present if realmis present infetch_event_types.
 Whether notification emails in this organization are allowed to
contain Zulip the message content, or simply indicate that a new
message was sent. 
- 
realm_enable_spectator_access: boolean
 Present if realmis present infetch_event_types.
 Whether web-public channels and related anonymous access APIs/features
are enabled in this organization. Can only be enabled if the WEB_PUBLIC_STREAMS_ENABLEDserver setting is enabled on the Zulip
server. See also thecan_create_web_public_channel_grouprealm
setting.
 Changes: New in Zulip 5.0 (feature level 109). 
- 
realm_want_advertise_in_communities_directory: boolean
 Present if realmis present infetch_event_types.
 Whether the organization has given permission to be advertised in the
Zulip communities directory. Useful only to clients supporting changing this setting for the
organization. Giving permission via this setting does not guarantee that an
organization will be listed in the Zulip communities directory. Changes: New in Zulip 6.0 (feature level 129). 
- 
realm_video_chat_provider: integer
 The configured video call provider for the
organization. 
- 0 = None
- 1 = Jitsi Meet
- 3 = Zoom (User OAuth integration)
- 4 = BigBlueButton
- 5 = Zoom (Server to Server OAuth integration)
 Note that only one of the Zoom integrations can
be configured on a Zulip server. Changes: In Zulip 10.0 (feature level 353), added the Zoom Server
to Server OAuth option. In Zulip 3.0 (feature level 1), added the None option
to disable video call UI. 
- 
realm_jitsi_server_url: string | null
 The URL of the custom Jitsi Meet server configured in this organization's
settings. null, the default, means that the organization is using the should use the
server-level configuration,server_jitsi_server_url. A correct client
supporting only the modern API should userealm_jitsi_server_url ||
server_jitsi_server_urlto create calls.
 Changes: New in Zulip 8.0 (feature level 212). Previously, this was only
available as a server-level configuration, which was available via the
jitsi_server_urlfield.
 
- 
realm_giphy_rating: integer
 Present if realmis present infetch_event_types.
 The configured GIPHY rating for the organization. Changes: New in Zulip 4.0 (feature level 55). 
- 
realm_waiting_period_threshold: integer
 Present if realmis present infetch_event_types.
 Members whose accounts have been created at least this many days ago
will be treated as full members
for the purpose of settings that restrict access to new members. 
- 
realm_digest_weekday: integer
 Present if realmis present infetch_event_types.
 The day of the week when the organization will send
its weekly digest email to inactive users. 
- 
realm_direct_message_initiator_group: integer | object
 A group-setting value defining the set of
users who have permission to start a new direct message conversation
involving other non-bot users. Users who are outside this group and attempt
to send the first direct message to a given collection of recipient users
will receive an error, unless all other recipients are bots or the sender. Changes: New in Zulip 9.0 (feature level 270). Previously, access to send direct messages was controlled by the
private_message_policyrealm setting, which supported values of
1 (enabled) and 2 (disabled).
 
- 
realm_direct_message_permission_group: integer | object
 A group-setting value defining the set of
users who have permission to fully use direct messages. Users outside
this group can only send direct messages to conversations where all the
recipients are in this group, are bots, or are the sender, ensuring that
every direct message conversation will be visible to at least one user in
this group. Changes: New in Zulip 9.0 (feature level 270). Previously, access to send direct messages was controlled by the
private_message_policyrealm setting, which supported values of
1 (enabled) and 2 (disabled).
 
- 
realm_default_code_block_language: string
 Present if realmis present infetch_event_types.
 The default pygments language code to be used for code blocks in this
organization. If an empty string, no default has been set. Changes: Prior to Zulip 8.0 (feature level 195), a server bug meant
that both nulland an empty string could represent that no default was
set for this realm setting. Clients supporting older server versions
should treat either value (nullor"") as no default being set.
 
- 
realm_message_content_delete_limit_seconds: integer | null
 Present if realmis present infetch_event_types.
 Messages sent more than this many seconds ago cannot be deleted
with this organization's
message deletion policy. Will not be 0. A nullvalue means no limit: messages can be deleted
regardless of how long ago they were sent.
 Changes: No limit was represented using the
special value 0before Zulip 5.0 (feature level 100).
 
- 
realm_authentication_methods: object
 Present if realmis present infetch_event_types.
 Dictionary of authentication method keys mapped to dictionaries that
describe the properties of the named authentication method for the
organization - its enabled status and availability for use by the
organization. Clients should use this to implement server-settings UI to change which
methods are enabled for the organization. For authentication UI itself,
clients should use the pre-authentication metadata returned by
GET /server_settings.
 Changes: In Zulip 9.0 (feature level 241), the values in this
dictionary were changed. Previously, the values were a simple boolean
indicating whether the backend is enabled or not. 
- 
realm_allow_message_editing: boolean
 Present if realmis present infetch_event_types.
 Whether this organization's message edit policy
allows editing the content of messages. See PATCH /messages/{message_id}for details and
history of how message editing permissions work.
 
- 
realm_message_content_edit_limit_seconds: integer | null
 Present if realmis present infetch_event_types.
 Messages sent more than this many seconds ago cannot be edited
with this organization's
message edit policy. Will not be 0. Anullvalue means no limit, so messages can be edited
regardless of how long ago they were sent.
 See PATCH /messages/{message_id}for details and
history of how message editing permissions work.
 Changes: Before Zulip 6.0 (feature level 138), no limit was
represented using the special value 0.
 
- 
realm_move_messages_within_stream_limit_seconds: integer | null
 Present if realmis present infetch_event_types.
 Messages sent more than this many seconds ago cannot be moved within a
channel to another topic by users who have permission to do so based on this
organization's topic edit policy. This
setting does not affect moderators and administrators. Will not be 0. Anullvalue means no limit, so message topics can be
edited regardless of how long ago they were sent.
 See PATCH /messages/{message_id}for details and
history of how message editing permissions work.
 Changes: New in Zulip 7.0 (feature level 162). Previously, this time
limit was always 72 hours for users who were not administrators or
moderators. 
- 
realm_move_messages_between_streams_limit_seconds: integer | null
 Present if realmis present infetch_event_types.
 Messages sent more than this many seconds ago cannot be moved between
channels by users who have permission to do so based on this organization's
message move policy. This setting does
not affect moderators and administrators. Will not be 0. Anullvalue means no limit, so messages can be moved
regardless of how long ago they were sent.
 See PATCH /messages/{message_id}for details and
history of how message editing permissions work.
 Changes: New in Zulip 7.0 (feature level 162). Previously, there was
no time limit for moving messages between channels for users with permission
to do so. 
- 
realm_enable_read_receipts: boolean
 Present if realmis present infetch_event_types.
 Whether read receipts is enabled in the organization or not. If disabled, read receipt data will be unavailable to clients, regardless
of individual users' personal read receipt settings. See also the
send_read_receiptssetting withinrealm_user_settings_defaults.
 Changes: New in Zulip 6.0 (feature level 137). 
- 
realm_icon_url: string
 Present if realmis present infetch_event_types.
 The URL of the organization's profile icon. 
- 
realm_icon_source: string
 Present if realmis present infetch_event_types.
 String indicating whether the organization's
profile icon was uploaded
by a user or is the default. Useful for UI allowing editing the organization's icon. 
- "G" means generated by Gravatar (the default).
- "U" means uploaded by an organization administrator.
 
- 
max_icon_file_size_mib: integer
 Present if realmis present infetch_event_types.
 The maximum file size allowed for the organization's
icon. Useful for UI allowing editing the organization's icon. Changes: New in Zulip 5.0 (feature level 72). Previously,
this was called max_icon_file_size.
 
- 
realm_logo_url: string
 Present if realmis present infetch_event_types.
 The URL of the organization's wide logo configured in the
organization profile. 
- 
realm_logo_source: string
 Present if realmis present infetch_event_types.
 String indicating whether the organization's
profile wide logo was uploaded
by a user or is the default. Useful for UI allowing editing the
organization's wide logo. 
- "D" means the logo is the default Zulip logo.
- "U" means uploaded by an organization administrator.
 
- 
realm_night_logo_url: string
 Present if realmis present infetch_event_types.
 The URL of the organization's dark theme wide-format logo configured in the
organization profile. 
- 
realm_night_logo_source: string
 Present if realmis present infetch_event_types.
 String indicating whether the organization's dark theme
profile wide logo was uploaded
by a user or is the default. Useful for UI allowing editing the
organization's wide logo. 
- "D" means the logo is the default Zulip logo.
- "U" means uploaded by an organization administrator.
 
- 
max_logo_file_size_mib: integer
 Present if realmis present infetch_event_types.
 The maximum file size allowed for the uploaded organization logos. Changes: New in Zulip 5.0 (feature level 72). Previously,
this was called max_logo_file_size.
 
- 
realm_bot_domain: string
 Present if realmis present infetch_event_types.
 The fake email domain that will be used for new bots created this
organization. Useful for UI for creating bots. 
- 
realm_uri: string
 Present if realmis present infetch_event_types.
 The URL for the organization. Alias of realm_url.
 Changes: Deprecated in Zulip 9.0 (feature level 257). The term
"URI" is deprecated in web standards. 
- 
realm_url: string
 Present if realmis present infetch_event_types.
 The URL for the organization. Changes: New in Zulip 9.0 (feature level 257), replacing the
deprecated realm_uri.
 
- 
realm_available_video_chat_providers: object
 Present if realmis present infetch_event_types.
 Dictionary where each entry describes a supported video call
provider that is configured on this
server and could be selected by an organization administrator. Useful for administrative settings UI that allows changing the realm
setting video_chat_provider.
 
- 
realm_presence_disabled: boolean
 Present if realmis present infetch_event_types.
 Whether online presence of other users is shown in this
organization. 
- 
settings_send_digest_emails: boolean
 Present if realmis present infetch_event_types.
 Whether this Zulip server is configured to allow organizations to
enable digest emails. Relevant for administrative settings UI that can change the digest
email settings. 
- 
realm_is_zephyr_mirror_realm: boolean
 Present if realmis present infetch_event_types.
 Whether the organization is a Zephyr mirror realm. 
- 
realm_email_auth_enabled: boolean
 Present if realmis present infetch_event_types.
 Whether the organization has enabled Zulip's default email and password
authentication feature. Determines whether Zulip stores a password
for the user and clients should offer any UI for changing the user's
Zulip password. 
- 
realm_password_auth_enabled: boolean
 Present if realmis present infetch_event_types.
 Whether the organization allows any sort of password-based
authentication (whether via EmailAuthBackend or LDAP passwords). Determines whether a client might ever need to display a password prompt
(clients will primarily look at this attribute in server_settings
before presenting a login page). 
- 
realm_push_notifications_enabled: boolean
 Present if realmis present infetch_event_types.
 Whether push notifications are enabled for this organization. Typically
truefor Zulip Cloud and self-hosted realms that have a valid
registration for the Mobile push notifications
service,
andfalsefor self-hosted servers that do not.
 Changes: Before Zulip 8.0 (feature level 231), this incorrectly was
truefor servers that were partly configured to use the Mobile Push
Notifications Service but not properly registered.
 
- 
realm_push_notifications_enabled_end_timestamp: integer | null
 Present if realmis present infetch_event_types.
 If the server expects the realm's push notifications access to end at a
definite time in the future, the UNIX timestamp (UTC) at which this is
expected to happen. Mobile clients should use this field to display warnings
to users when the indicated timestamp is near. Changes: New in Zulip 8.0 (feature level 231). 
- 
realm_upload_quota_mib: integer | null
 Present if realmis present infetch_event_types.
 The total quota for uploaded files in this organization. Clients are not responsible for checking this quota; it is included
in the API only for display purposes. If null, there is no limit.
 Changes: Before Zulip 9.0 (feature level 251), this field
was incorrectly measured in bytes, not MiB. New in Zulip 5.0 (feature level 72). Previously,
this was called realm_upload_quota.
 
- 
realm_org_type: integer
 Present if realmis present infetch_event_types.
 The organization type for the realm.
Useful only to clients supporting changing this setting for the
organization, or clients implementing onboarding content or
other features that varies with organization type. 
- 0 = Unspecified
- 10 = Business
- 20 = Open-source project
- 30 = Education (non-profit)
- 35 = Education (for-profit)
- 40 = Research
- 50 = Event or conference
- 60 = Non-profit (registered)
- 70 = Government
- 80 = Political group
- 90 = Community
- 100 = Personal
- 1000 = Other
 Changes: New in Zulip 6.0 (feature level 128). 
- 
realm_plan_type: integer
 Present if realmis present infetch_event_types.
 The plan type of the organization. 
- 1 = Self-hosted organization (SELF_HOSTED)
- 2 = Zulip Cloud free plan (LIMITED)
- 3 = Zulip Cloud Standard plan (STANDARD)
- 4 = Zulip Cloud Standard plan, sponsored for free (STANDARD_FREE)
 
- 
realm_enable_guest_user_dm_warning: boolean
 Present if realmis present infetch_event_types.
 Whether clients should show a warning when a user is composing
a DM to a guest user in this organization. Changes: New in Zulip 10.0 (feature level 348). 
- 
realm_enable_guest_user_indicator: boolean
 Present if realmis present infetch_event_types.
 Whether clients should display "(guest)" after the names of
guest users to prominently highlight their status. Changes: New in Zulip 8.0 (feature level 216). 
- 
realm_can_access_all_users_group: integer | object
 A group-setting value defining the
set of users who are allowed to access all users in the
organization. Changes: Prior to Zulip 10.0 (feature level 314), this value used
to be of type integer and did not accept anonymous user groups. New in Zulip 8.0 (feature level 225). 
- 
realm_can_summarize_topics_group: integer | object
 A group-setting value defining the
set of users who are allowed to use AI summarization. Changes: New in Zulip 10.0 (feature level 350). 
- 
zulip_plan_is_not_limited: boolean
 Present if realmis present infetch_event_types.
 Whether the organization is using a limited (Zulip Cloud Free) plan. 
- 
upgrade_text_for_wide_organization_logo: string
 Present if realmis present infetch_event_types.
 Text to use when displaying UI for wide organization logos, a feature
that is currently not available on the Zulip Cloud Free plan. Useful only for clients supporting administrative UI for uploading
a new wide organization logo to brand the organization. 
- 
realm_default_external_accounts: object
 Present if realmis present infetch_event_types.
 Dictionary where each entry describes a default external
account type that can be configured with Zulip's custom
profile fields feature. Changes: New in Zulip 2.1.0. 
- 
jitsi_server_url: string
 Present if realmis present infetch_event_types.
 The base URL to be used to create Jitsi video calls. Equals
realm_jitsi_server_url || server_jitsi_server_url.
 Changes: Deprecated in Zulip 8.0 (feature level 212) and will
eventually be removed. Previously, the Jitsi server to use was not
configurable on a per-realm basis, and this field contained the server's
configured Jitsi server. (Which is now provided as
server_jitsi_server_url). Clients supporting older versions should fall
back to this field when creating calls: usingrealm_jitsi_server_url ||
server_jitsi_server_urlwith newer servers and usingjitsi_server_urlwith servers below feature level 212.
 
- 
development_environment: boolean
 Present if realmis present infetch_event_types.
 Whether this Zulip server is a development environment. Used
to control certain features or UI (such as error popups)
that should only apply when connected to a Zulip development
environment. 
- 
server_generation: integer
 Present if realmis present infetch_event_types.
 A timestamp indicating when the process hosting this
event queue was started. Clients will likely only find
this value useful for inclusion in detailed error reports. 
- 
password_min_length: integer
 Present if realmis present infetch_event_types.
 This Zulip server's configured minimum required length for passwords.
Necessary for password change UI to show whether the password
will be accepted. 
- 
password_max_length: integer
 Present if realmis present infetch_event_types.
 This Zulip server's configured maximum length for passwords.
Necessary for password change UI to show whether the password
will be accepted. Changes: New in Zulip 10.0 (feature level 338). 
- 
password_min_guesses: integer
 Present if realmis present infetch_event_types.
 This Zulip server's configured minimum zxcvbnminimum guesses.
Necessary for password change UI to show whether the password
will be accepted.
 
- 
giphy_rating_options: object
 Present if realmis present infetch_event_types.
 Dictionary where each entry describes a valid rating
that is configured on this server and could be selected by an
organization administrator. Useful for administrative settings UI that allows changing the
allowed rating of GIFs. 
- 
max_file_upload_size_mib: integer
 Present if realmis present infetch_event_types.
 The maximum file size that can be uploaded to this Zulip organization. 
- 
max_avatar_file_size_mib: integer
 Present if realmis present infetch_event_types.
 The maximum avatar size that can be uploaded to this Zulip server. 
- 
server_inline_image_preview: boolean
 Present if realmis present infetch_event_types.
 Whether the server is configured with support for inline image previews.
Clients containing administrative UI for changing
realm_inline_image_previewshould consult this field before offering
that feature.
 
- 
server_inline_url_embed_preview: boolean
 Present if realmis present infetch_event_types.
 Whether the server is configured with support for inline URL previews.
Clients containing administrative UI for changing
realm_inline_url_embed_previewshould consult this field before offering
that feature.
 
- 
server_thumbnail_formats: (object)[]
 A list describing the image formats that uploaded
images will be thumbnailed into. Any image with a
source starting with /user_uploads/thumbnail/can
have its last path component replaced with any of the
names contained in this list, to obtain the desired
thumbnail size.
 Changes: New in Zulip 9.0 (feature level 273). 
- 
name: string
 The file path component of the thumbnail format. 
- 
max_width: integer
 The maximum width of this format. 
- 
max_height: integer
 The maximum height of this format. 
- 
format: string
 The extension of this format. 
- 
animated: boolean
 If this file format is animated. These formats
are only generated for uploaded imates which
themselves are animated. 
 
- 
server_avatar_changes_disabled: boolean
 Present if realmis present infetch_event_types.
 Whether the server allows avatar changes. Similar to
realm_avatar_changes_disabledbut based on theAVATAR_CHANGES_DISABLEDZulip server level setting.
 
- 
server_name_changes_disabled: boolean
 Present if realmis present infetch_event_types.
 Whether the server allows name changes. Similar to
realm_name_changes_disabledbut based on theNAME_CHANGES_DISABLEDZulip server level setting.
 
- 
server_needs_upgrade: boolean
 Present if realmis present infetch_event_types.
 Whether the server is running an old version based on the Zulip
server release lifecycle,
such that the web app will display to the current user a prominent warning. Changes: New in Zulip 5.0 (feature level 74). 
- 
server_web_public_streams_enabled: boolean
 Present if realmis present infetch_event_types.
 The value of the WEB_PUBLIC_STREAMS_ENABLEDZulip server level
setting. A server that has disabled this setting intends to not offer web
public channels to realms it hosts. (Zulip Cloud
defaults totrue; self-hosted servers default tofalse).
 Clients should use this to determine whether to offer UI for the
realm-level setting for enabling web-public channels
(realm_enable_spectator_access).
 Changes: New in Zulip 5.0 (feature level 110). 
- 
server_emoji_data_url: string
 Present if realmis present infetch_event_types.
 The URL to a JSON file that describes which emoji names map to which
emoji codes, for all Unicode emoji this Zulip server accepts. The data at the given URL is a JSON object with one property, code_to_names.
The value of that property is a JSON object where each key is an
emoji code for an available
Unicode emoji, and each value is the corresponding
emoji names for this emoji,
with the canonical name for the emoji always appearing first.
 The HTTP response at that URL will have appropriate HTTP caching headers, such
any HTTP implementation should get a cached version if emoji haven't changed
since the last request. Changes: New in Zulip 6.0 (feature level 140). 
- 
server_jitsi_server_url: string | null
 The URL of the Jitsi server that the Zulip server is configured to use by
default; the organization-level setting realm_jitsi_server_urltakes
precedence over this setting when both are set.
 Changes: New in Zulip 8.0 (feature level 212). Previously, this value
was available as the now-deprecated jitsi_server_url.
 
- 
server_can_summarize_topics: boolean
 Present if realmis present infetch_event_types
 Whether topic summarization is enabled in the server or
not depending upon whether TOPIC_SUMMARIZATION_MODELis set or not.
 Changes: New in Zulip 10.0 (feature level 350). 
- 
event_queue_longpoll_timeout_seconds: integer
 Present if realmis present infetch_event_types.
 Recommended client-side HTTP request timeout for GET /eventscalls.
This is guaranteed to be somewhat greater than the heartbeat frequency. It is important
that clients respect this parameter, so that increases in the heartbeat frequency do not
break clients.
 Changes: New in Zulip 5.0 (feature level 74). Previously,
this was hardcoded to 90 seconds, and clients should use that as a fallback
value when interacting with servers where this field is not present. 
- 
realm_billing: object
 Present if realm_billingis present infetch_event_types.
 A dictionary containing billing information of the organization. Changes: New in Zulip 10.0 (feature level 363). 
- 
has_pending_sponsorship_request: boolean
 Whether there is a pending sponsorship request for the organization. Note that
this field will always be falseif the user is not incan_manage_billing_group.
 Changes: New in Zulip 10.0 (feature level 363). 
 
- 
realm_moderation_request_channel_id: integer
 The ID of the private channel to which messages flagged by users for
moderation are sent. Moderators can use this channel to review and
act on reported content. Will be -1if moderation requests are disabled.
 Clients should check whether moderation requests are disabled to
determine whether to present a "report message" feature in their UI
within a given organization. Changes: New in Zulip 10.0 (feature level 331). Previously,
no "report message" feature existed in Zulip. 
- 
realm_new_stream_announcements_stream_id: integer
 Present if realmis present infetch_event_types.
 The ID of the channel to which automated messages announcing the
creation of new channels are sent. Will be -1if such automated messages are disabled.
 Since these automated messages are sent by the server, this field is
primarily relevant to clients containing UI for changing it. Changes: In Zulip 9.0 (feature level 241), renamed 'realm_notifications_stream_id'
to realm_new_stream_announcements_stream_id.
 
- 
realm_signup_announcements_stream_id: integer
 Present if realmis present infetch_event_types.
 The ID of the channel to which automated messages announcing
that new users have joined the organization are sent. Will be -1if such automated messages are disabled.
 Since these automated messages are sent by the server, this field is
primarily relevant to clients containing UI for changing it. Changes: In Zulip 9.0 (feature level 241), renamed
'realm_signup_notifications_stream_id' to realm_signup_announcements_stream_id.
 
- 
realm_zulip_update_announcements_stream_id: integer
 Present if realmis present infetch_event_types.
 The ID of the channel to which automated messages announcing
new features or other end-user updates about the Zulip software are sent. Will be -1if such automated messages are disabled.
 Since these automated messages are sent by the server, this field is
primarily relevant to clients containing UI for changing it. Changes: New in Zulip 9.0 (feature level 242). 
- 
realm_empty_topic_display_name: string
 Present if realmis present infetch_event_types.
 Clients declaring the empty_topic_nameclient capability
should use the value ofrealm_empty_topic_display_nameto
determine how to display the empty string topic.
 Clients not declaring the empty_topic_nameclient capability
receiverealm_empty_topic_display_namevalue as the topic name
replacing empty string.
 Changes: New in Zulip 10.0 (feature level 334). Previously,
the empty string was not a valid topic name. 
- 
realm_user_settings_defaults: object
 Present if realm_user_settings_defaultsis present infetch_event_types.
 A dictionary containing the default values of settings for new users. Changes: New in Zulip 5.0 (feature level 95). 
- 
twenty_four_hour_time: boolean
 Whether time should be displayed in 24-hour notation. Changes: New in Zulip 5.0 (feature level 99).
This value was previously available as
realm_default_twenty_four_hour_timein
the top-level response object (only whenrealmwas
present infetch_event_types).
 
- 
web_mark_read_on_scroll_policy: integer
 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. 
- 
web_channel_default_view: integer
 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. 
- 
starred_message_counts: boolean
 Whether clients should display the number of starred
messages. 
- 
receives_typing_notifications: boolean
 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. Changes: New in Zulip 9.0 (feature level 253). Previously, there were
only options to disable sending typing notifications. 
- 
web_suggest_update_timezone: boolean
 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). 
- 
fluid_layout_width: boolean
 Whether to use the maximum available screen width
for the web app's center panel (message feed, recent conversations) on wide screens. 
- 
high_contrast_mode: boolean
 This setting is reserved for use to control variations in Zulip's design
to help visually impaired users. 
- 
web_font_size_px: integer
 User-configured primary font-sizefor 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_percent: integer
 User-configured primary line-heightfor the web application, in percent, so a
value of 120 represents aline-heightof 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. 
- 
color_scheme: integer
 Controls which color theme to use. 
- 1 - Automatic
- 2 - Dark theme
- 3 - Light theme
 Automatic detection is implementing using the standard prefers-color-schememedia query.
 
- 
translate_emoticons: boolean
 Whether to translate emoticons to emoji
in messages the user sends. 
- 
display_emoji_reaction_users: boolean
 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). 
- 
default_language: string
 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.
 
- 
web_home_view: string
 The home view used when opening a new
Zulip web app window or hitting the Esckeyboard shortcut repeatedly.
 
- "recent_topics" - Recent conversations view
- "inbox" - Inbox view
- "all_messages" - Combined feed view
 Changes: New in Zulip 8.0 (feature level 219). Previously, this was
called default_view, which was new in Zulip 4.0 (feature level 42).
 
- 
web_escape_navigates_to_home_view: boolean
 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).
 
- 
left_side_userlist: boolean
 Whether the users list on left sidebar in narrow windows. This feature is not heavily used and is likely to be reworked. 
- 
emojiset: string
 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
 
- 
demote_inactive_streams: integer
 Whether to demote inactive channels in the left sidebar. 
- 1 - Automatic
- 2 - Always
- 3 - Never
 
- 
user_list_style: integer
 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). 
- 
web_animate_image_previews: string
 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). 
- 
web_stream_unreads_count_display_policy: integer
 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). 
- 
hide_ai_features: boolean
 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). 
- 
enable_stream_desktop_notifications: boolean
 Enable visual desktop notifications for channel messages. 
- 
enable_stream_email_notifications: boolean
 Enable email notifications for channel messages. 
- 
enable_stream_push_notifications: boolean
 Enable mobile notifications for channel messages. 
- 
enable_stream_audible_notifications: boolean
 Enable audible desktop notifications for channel messages. 
- 
notification_sound: string
 Notification sound name. 
- 
enable_desktop_notifications: boolean
 Enable visual desktop notifications for direct messages and @-mentions. 
- 
enable_sounds: boolean
 Enable audible desktop notifications for direct messages and
@-mentions. 
- 
enable_offline_email_notifications: boolean
 Enable email notifications for direct messages and @-mentions received
when the user is offline. 
- 
enable_offline_push_notifications: boolean
 Enable mobile notification for direct messages and @-mentions received
when the user is offline. 
- 
enable_online_push_notifications: boolean
 Enable mobile notification for direct messages and @-mentions received
when the user is online. 
- 
enable_followed_topic_desktop_notifications: boolean
 Enable visual desktop notifications for messages sent to followed topics. Changes: New in Zulip 8.0 (feature level 189). 
- 
enable_followed_topic_email_notifications: boolean
 Enable email notifications for messages sent to followed topics. Changes: New in Zulip 8.0 (feature level 189). 
- 
enable_followed_topic_push_notifications: boolean
 Enable push notifications for messages sent to followed topics. Changes: New in Zulip 8.0 (feature level 189). 
- 
enable_followed_topic_audible_notifications: boolean
 Enable audible desktop notifications for messages sent to followed topics. Changes: New in Zulip 8.0 (feature level 189). 
- 
enable_digest_emails: boolean
 Enable digest emails when the user is away. 
- 
enable_marketing_emails: boolean
 Enable marketing emails. Has no function outside Zulip Cloud. 
- 
enable_login_emails: boolean
 Enable email notifications for new logins to account. 
- 
message_content_in_email_notifications: boolean
 Include the message's content in email notifications for new messages. 
- 
pm_content_in_desktop_notifications: boolean
 Include content of direct messages in desktop notifications. 
- 
wildcard_mentions_notify: boolean
 Whether wildcard mentions (E.g. @all) should send notifications
like a personal mention. 
- 
enable_followed_topic_wildcard_mentions_notify: boolean
 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). 
- 
desktop_icon_count_display: integer
 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 topicsoption, renumbering the options to insert it in
order.
 
- 
realm_name_in_email_notifications_policy: integer
 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_notificationsboolean;truecorresponded toAlways, andfalsetoNever.
 
- 
automatically_follow_topics_policy: integer
 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). 
- 
automatically_unmute_topics_in_muted_streams_policy: integer
 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). 
- 
automatically_follow_topics_where_mentioned: boolean
 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). 
- 
presence_enabled: boolean
 Display the presence status to other users when online. 
- 
enter_sends: boolean
 Whether the user setting for sending on pressing Enter
in the compose box is enabled. 
- 
enable_drafts_synchronization: boolean
 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. 
- 
email_notifications_batching_period_seconds: integer
 The duration (in seconds) for which the server should wait to batch
email notifications before sending them. 
- 
available_notification_sounds: (string)[]
 Array containing the names of the notification sound options
supported by this Zulip server. Only relevant to support UI
for configuring notification sounds. 
- 
emojiset_choices: (object)[]
 Array of dictionaries where each dictionary describes an emoji set
supported by this version of the Zulip server. Only relevant to clients with configuration UI for choosing an emoji set;
the currently selected emoji set is available in the emojisetkey.
 See PATCH /settings for details on
the meaning of this setting. 
- 
send_private_typing_notifications: boolean
 Whether typing notifications be sent when composing
direct messages. Changes: New in Zulip 5.0 (feature level 105). 
- 
send_stream_typing_notifications: boolean
 Whether typing notifications be sent when composing
channel messages. Changes: New in Zulip 5.0 (feature level 105). 
- 
send_read_receipts: boolean
 Whether other users are allowed to see whether you've
read messages. Changes: New in Zulip 5.0 (feature level 105). 
- 
allow_private_data_export: boolean
 Whether organization administrators are allowed to
export your private data. Changes: New in Zulip 10.0 (feature level 293). 
- 
email_address_visibility: integer
 The policy for which other users
in this organization can see the user's 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. 
- 
web_navigate_to_sent_message: boolean
 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. 
 
- 
realm_users: (object)[]
 Present if realm_useris present infetch_event_types.
 A array of dictionaries where each entry describes a user
whose account has not been deactivated. Note that unlike
the usual User dictionary, this does not contain the is_activekey, as all the users present in this array have active accounts.
 If the current user is a guest whose access to users is limited by a
can_access_all_users_grouppolicy, and the event queue was registered
with theuser_list_incompleteclient capability, then users that the
current user cannot access will not be included in this array. If the
current user's access to a user is restricted but the client lacks this
capability, then that inaccessible user will appear in the users array as
an "Unknown user" object with the usual format but placeholder data whose
only variable content is the user ID.
 See also cross_realm_botsandrealm_non_active_users.
 Changes: Before Zulip 8.0 (feature level 232), the
user_list_incompleteclient capability did not exist, and so all
clients whose access to a new user was prevented bycan_access_all_users_grouppolicy would receive a fake "Unknown
user" event for such users.
 
- 
user_id: integer
 The unique ID of the user. 
- 
delivery_email: string | null
 The user's real email address. This value will be nullif you cannot
access user's real email address. For bot users, this field is always
set to the real email of the bot, because bot users always haveemail_address_visibilityset to everyone.
 Changes: Prior to Zulip 7.0 (feature level 163), this field was
present only when email_address_visibilitywas restricted and you had
access to the user's real email. As of this feature level, this field
is always present, including the case whenemail_address_visibilityis set to everyone (and therefore not restricted).
 
- 
email: string
 The Zulip API email address of the user or bot. If you do not have permission to view the email address of the target user,
this will be a fake email address that is usable for the Zulip API but nothing else. 
- 
full_name: string
 Full name of the user or bot, used for all display purposes. 
- 
date_joined: string
 The time the user account was created. 
- 
is_active: boolean
 A boolean specifying whether the user account has been deactivated. 
- 
is_owner: boolean
 A boolean specifying whether the user is an organization owner.
If true, is_adminwill also be true.
 Changes: New in Zulip 3.0 (feature level 8). 
- 
is_admin: boolean
 A boolean specifying whether the user is an organization administrator. 
- 
is_guest: boolean
 A boolean specifying whether the user is a guest user. 
- 
is_bot: boolean
 A boolean specifying whether the user is a bot or full account. 
- 
bot_type: integer | null
 An integer describing the type of bot: 
- nullif the user isn't a bot.
- 1for a- Genericbot.
- 2for an- Incoming webhookbot.
- 3for an- Outgoing webhookbot.
- 4for an- Embeddedbot.
 
- 
bot_owner_id: integer | null
 If the user is a bot (i.e. is_botis true), thenbot_owner_idis the user ID of the bot's owner (usually, whoever created the bot).
 Will be nullfor legacy bots that do not have an owner.
 Changes: New in Zulip 3.0 (feature level 1). In previous
versions, there was a bot_ownerfield containing the email
address of the bot's owner.
 
- 
role: integer
 Organization-level role of the user.
Possible values are: 
- 100 = Organization owner
- 200 = Organization administrator
- 300 = Organization moderator
- 400 = Member
- 600 = Guest
 Changes: New in Zulip 4.0 (feature level 59). 
- 
timezone: string
 The IANA identifier of the user's profile time zone,
which is used primarily to display the user's local time to other users. 
- 
avatar_url: string | null
 URL for the user's avatar. Will be nullif theclient_gravatarquery parameter was set totrue, the current user has access to
this user's real email address, and this user's avatar is hosted by
the Gravatar provider (i.e. this user has never uploaded an avatar).
 Changes: Before Zulip 7.0 (feature level 163), access to a
user's real email address was a realm-level setting. As of this
feature level, email_address_visibilityis a user setting.
 In Zulip 3.0 (feature level 18), if the client has the
user_avatar_url_field_optionalcapability, this will be missing at
the server's sole discretion.
 
- 
avatar_version: integer
 Version for the user's avatar. Used for cache-busting requests
for the user's avatar. Clients generally shouldn't need to use this;
most avatar URLs sent by Zulip will already end with ?v={avatar_version}.
 
- 
profile_data: object
 Only present if is_botis false; bots can't have custom profile fields.
 A dictionary containing custom profile field data for the user. Each entry
maps the integer ID of a custom profile field in the organization to a
dictionary containing the user's data for that field. Generally the data
includes just a single valuekey; for those custom profile fields
supporting Markdown, arendered_valuekey will also be present.
 
 
- 
realm_non_active_users: (object)[]
 Present if realm_useris present infetch_event_types.
 A array of dictionaries where each entry describes a user
whose account has been deactivated. Note that unlike
the usual User dictionary this does not contain the is_activekey as all the users present in this array have deactivated
accounts.
 
- 
user_id: integer
 The unique ID of the user. 
- 
delivery_email: string | null
 The user's real email address. This value will be nullif you cannot
access user's real email address. For bot users, this field is always
set to the real email of the bot, because bot users always haveemail_address_visibilityset to everyone.
 Changes: Prior to Zulip 7.0 (feature level 163), this field was
present only when email_address_visibilitywas restricted and you had
access to the user's real email. As of this feature level, this field
is always present, including the case whenemail_address_visibilityis set to everyone (and therefore not restricted).
 
- 
email: string
 The Zulip API email address of the user or bot. If you do not have permission to view the email address of the target user,
this will be a fake email address that is usable for the Zulip API but nothing else. 
- 
full_name: string
 Full name of the user or bot, used for all display purposes. 
- 
date_joined: string
 The time the user account was created. 
- 
is_active: boolean
 A boolean specifying whether the user account has been deactivated. 
- 
is_owner: boolean
 A boolean specifying whether the user is an organization owner.
If true, is_adminwill also be true.
 Changes: New in Zulip 3.0 (feature level 8). 
- 
is_admin: boolean
 A boolean specifying whether the user is an organization administrator. 
- 
is_guest: boolean
 A boolean specifying whether the user is a guest user. 
- 
is_bot: boolean
 A boolean specifying whether the user is a bot or full account. 
- 
bot_type: integer | null
 An integer describing the type of bot: 
- nullif the user isn't a bot.
- 1for a- Genericbot.
- 2for an- Incoming webhookbot.
- 3for an- Outgoing webhookbot.
- 4for an- Embeddedbot.
 
- 
bot_owner_id: integer | null
 If the user is a bot (i.e. is_botis true), thenbot_owner_idis the user ID of the bot's owner (usually, whoever created the bot).
 Will be nullfor legacy bots that do not have an owner.
 Changes: New in Zulip 3.0 (feature level 1). In previous
versions, there was a bot_ownerfield containing the email
address of the bot's owner.
 
- 
role: integer
 Organization-level role of the user.
Possible values are: 
- 100 = Organization owner
- 200 = Organization administrator
- 300 = Organization moderator
- 400 = Member
- 600 = Guest
 Changes: New in Zulip 4.0 (feature level 59). 
- 
timezone: string
 The IANA identifier of the user's profile time zone,
which is used primarily to display the user's local time to other users. 
- 
avatar_url: string | null
 URL for the user's avatar. Will be nullif theclient_gravatarquery parameter was set totrue, the current user has access to
this user's real email address, and this user's avatar is hosted by
the Gravatar provider (i.e. this user has never uploaded an avatar).
 Changes: Before Zulip 7.0 (feature level 163), access to a
user's real email address was a realm-level setting. As of this
feature level, email_address_visibilityis a user setting.
 In Zulip 3.0 (feature level 18), if the client has the
user_avatar_url_field_optionalcapability, this will be missing at
the server's sole discretion.
 
- 
avatar_version: integer
 Version for the user's avatar. Used for cache-busting requests
for the user's avatar. Clients generally shouldn't need to use this;
most avatar URLs sent by Zulip will already end with ?v={avatar_version}.
 
- 
profile_data: object
 Only present if is_botis false; bots can't have custom profile fields.
 A dictionary containing custom profile field data for the user. Each entry
maps the integer ID of a custom profile field in the organization to a
dictionary containing the user's data for that field. Generally the data
includes just a single valuekey; for those custom profile fields
supporting Markdown, arendered_valuekey will also be present.
 
 
- 
avatar_source: string
 Present if realm_useris present infetch_event_types.
 The avatar data source type for the current user. Value values are G(gravatar) andU(uploaded by user).
 
- 
avatar_url_medium: string
 Present if realm_useris present infetch_event_types.
 The avatar URL for the current user at 500x500 resolution, appropriate
for use in settings UI showing the user's avatar. 
- 
avatar_url: string
 Present if realm_useris present infetch_event_types.
 The URL of the avatar for the current user at 100x100
resolution. See also avatar_url_medium.
 
- 
can_create_streams: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is allowed to create at least one type
of channel with the organization's channel creation
policy. Its value will
always equal can_create_public_streams || can_create_private_streams.
 Changes: Deprecated in Zulip 5.0 (feature level 102), when
the new create_private_stream_policyandcreate_public_stream_policyproperties introduced the
possibility that a user could only create one type of channel.
 This field will be removed in a future release. 
- 
can_create_public_streams: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is allowed to create public channels with
the organization's channel creation policy. Changes: New in Zulip 5.0 (feature level 102). In older
versions, the deprecated can_create_streamsproperty should be
used to determine whether the user can create public channels.
 
- 
can_create_private_streams: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is allowed to create private channels with
the organization's channel creation policy. Changes: New in Zulip 5.0 (feature level 102). In older
versions, the deprecated can_create_streamsproperty should be
used to determine whether the user can create private channels.
 
- 
can_create_web_public_streams: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is allowed to create public channels with
the organization's channel creation policy. Note that this will be false if the Zulip server does not have the
WEB_PUBLIC_STREAMS_ENABLEDsetting enabled or if the organization has
not enabled theenable_spectator_accessrealm setting.
 Changes: New in Zulip 5.0 (feature level 103). 
- 
can_subscribe_other_users: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is allowed to subscribe other users to channels with
the organization's channels policy. 
- 
can_invite_others_to_realm: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is allowed to invite others
to the organization. Changes: New in Zulip 4.0 (feature level 51). 
- 
is_admin: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is an organization administrator. 
- 
is_owner: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is an organization owner. Changes: New in Zulip 3.0 (feature level 11). 
- 
is_moderator: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is an organization moderator. Changes: New in Zulip 4.0 (feature level 60). 
- 
is_guest: boolean
 Present if realm_useris present infetch_event_types.
 Whether the current user is a guest user. 
- 
user_id: integer
 Present if realm_useris present infetch_event_types.
 The unique ID for the current user. 
- 
email: string
 Present if realm_useris present infetch_event_types.
 The Zulip API email address for the current user. See also
delivery_email; these may be the same or different depending
on the user'semail_address_visibilitypolicy.
 
- 
delivery_email: string
 Present if realm_useris present infetch_event_types.
 The user's email address, appropriate for UI for changing
the user's email address. See also email.
 
- 
full_name: string
 Present if realm_useris present infetch_event_types.
 The full name of the current user. 
- 
cross_realm_bots: (object)[]
 Present if realm_useris present infetch_event_types.
 Array of dictionaries where each dictionary contains details of
a single cross realm bot. Cross-realm bots are special system bot accounts
like Notification Bot. Most clients will want to combine this with realm_usersin many
contexts.
 
- 
user_id: integer
 The unique ID of the user. 
- 
delivery_email: string | null
 The user's real email address. This value will be nullif you cannot
access user's real email address. For bot users, this field is always
set to the real email of the bot, because bot users always haveemail_address_visibilityset to everyone.
 Changes: Prior to Zulip 7.0 (feature level 163), this field was
present only when email_address_visibilitywas restricted and you had
access to the user's real email. As of this feature level, this field
is always present, including the case whenemail_address_visibilityis set to everyone (and therefore not restricted).
 
- 
email: string
 The Zulip API email address of the user or bot. If you do not have permission to view the email address of the target user,
this will be a fake email address that is usable for the Zulip API but nothing else. 
- 
full_name: string
 Full name of the user or bot, used for all display purposes. 
- 
date_joined: string
 The time the user account was created. 
- 
is_active: boolean
 A boolean specifying whether the user account has been deactivated. 
- 
is_owner: boolean
 A boolean specifying whether the user is an organization owner.
If true, is_adminwill also be true.
 Changes: New in Zulip 3.0 (feature level 8). 
- 
is_admin: boolean
 A boolean specifying whether the user is an organization administrator. 
- 
is_guest: boolean
 A boolean specifying whether the user is a guest user. 
- 
is_bot: boolean
 A boolean specifying whether the user is a bot or full account. 
- 
bot_type: integer | null
 An integer describing the type of bot: 
- nullif the user isn't a bot.
- 1for a- Genericbot.
- 2for an- Incoming webhookbot.
- 3for an- Outgoing webhookbot.
- 4for an- Embeddedbot.
 
- 
bot_owner_id: integer | null
 If the user is a bot (i.e. is_botis true), thenbot_owner_idis the user ID of the bot's owner (usually, whoever created the bot).
 Will be nullfor legacy bots that do not have an owner.
 Changes: New in Zulip 3.0 (feature level 1). In previous
versions, there was a bot_ownerfield containing the email
address of the bot's owner.
 
- 
role: integer
 Organization-level role of the user.
Possible values are: 
- 100 = Organization owner
- 200 = Organization administrator
- 300 = Organization moderator
- 400 = Member
- 600 = Guest
 Changes: New in Zulip 4.0 (feature level 59). 
- 
timezone: string
 The IANA identifier of the user's profile time zone,
which is used primarily to display the user's local time to other users. 
- 
avatar_url: string | null
 URL for the user's avatar. Will be nullif theclient_gravatarquery parameter was set totrue, the current user has access to
this user's real email address, and this user's avatar is hosted by
the Gravatar provider (i.e. this user has never uploaded an avatar).
 Changes: Before Zulip 7.0 (feature level 163), access to a
user's real email address was a realm-level setting. As of this
feature level, email_address_visibilityis a user setting.
 In Zulip 3.0 (feature level 18), if the client has the
user_avatar_url_field_optionalcapability, this will be missing at
the server's sole discretion.
 
- 
avatar_version: integer
 Version for the user's avatar. Used for cache-busting requests
for the user's avatar. Clients generally shouldn't need to use this;
most avatar URLs sent by Zulip will already end with ?v={avatar_version}.
 
- 
profile_data: object
 Only present if is_botis false; bots can't have custom profile fields.
 A dictionary containing custom profile field data for the user. Each entry
maps the integer ID of a custom profile field in the organization to a
dictionary containing the user's data for that field. Generally the data
includes just a single valuekey; for those custom profile fields
supporting Markdown, arendered_valuekey will also be present.
 
- 
is_system_bot: boolean
 Whether the user is a system bot. System bots are special
bot user accounts that are managed by the system, rather than
the organization's administrators. Changes: This field was called is_cross_realm_botbefore Zulip 5.0 (feature level 83).
 
 
- 
server_supported_permission_settings: object
 Present if realmis present infetch_event_types.
 Metadata detailing the valid values for permission settings that
use group-setting values. Clients
should use these data as explained in the
main documentation
to determine what values to present as possible values for these
settings in UI components. This part of the Zulip API is unstable and may change
significantly in future versions. Changes: New in Zulip 8.0 (feature level 221). 
- 
realm: object
 Configuration for realm level group permission settings. 
- 
Configuration for a group permission setting specifying the groups
    to which the setting can be set to and the default values for the
    setting. Changes: Removed allow_owners_groupfield in Zulip 10.0 (feature level 326), as we now
support anonymous user groups. Previously, therole:ownerssystem group was
not offered whenallow_owners_groupwas false.
 Removed unnecessary id_field_namefield in Zulip 10.0 (feature level 326). Previously,
this always had the value of"{setting_name}_id"; it was an internal implementation
detail of the server not intended to be included in the API.
 
- 
require_system_group: boolean
 Whether the setting can only be set to a system user group. 
- 
allow_internet_group: boolean
 Whether the setting can be set to role:internetsystem group.
 
- 
allow_nobody_group: boolean
 Whether the setting can be set to role:nobodysystem group.
 
- 
allow_everyone_group: boolean
 Whether the setting can be set to role:everyonesystem group.
 If false, guest users cannot exercise this permission even if they are part of
the group-setting value for this setting. 
- 
default_group_name: string
 Name of the default group for the setting. 
- 
default_for_system_groups: string | null
 Name of the default group for the setting for system groups. This is non-null only for group-level settings. 
- 
allowed_system_groups: (string)[]
 An array of names of system groups to which the setting can
be set to. If the list is empty, the setting can be set to system groups
based on the other boolean fields. Changes: New in Zulip 8.0 (feature level 225). 
 
 
- 
stream: object
 Configuration for channel level group permission settings. 
- 
Configuration for a group permission setting specifying the groups
    to which the setting can be set to and the default values for the
    setting. Changes: Removed allow_owners_groupfield in Zulip 10.0 (feature level 326), as we now
support anonymous user groups. Previously, therole:ownerssystem group was
not offered whenallow_owners_groupwas false.
 Removed unnecessary id_field_namefield in Zulip 10.0 (feature level 326). Previously,
this always had the value of"{setting_name}_id"; it was an internal implementation
detail of the server not intended to be included in the API.
 
- 
require_system_group: boolean
 Whether the setting can only be set to a system user group. 
- 
allow_internet_group: boolean
 Whether the setting can be set to role:internetsystem group.
 
- 
allow_nobody_group: boolean
 Whether the setting can be set to role:nobodysystem group.
 
- 
allow_everyone_group: boolean
 Whether the setting can be set to role:everyonesystem group.
 If false, guest users cannot exercise this permission even if they are part of
the group-setting value for this setting. 
- 
default_group_name: string
 Name of the default group for the setting. 
- 
default_for_system_groups: string | null
 Name of the default group for the setting for system groups. This is non-null only for group-level settings. 
- 
allowed_system_groups: (string)[]
 An array of names of system groups to which the setting can
be set to. If the list is empty, the setting can be set to system groups
based on the other boolean fields. Changes: New in Zulip 8.0 (feature level 225). 
 
 
- 
group: object
 Configuration for group level group permission settings. 
- 
Configuration for a group permission setting specifying the groups
    to which the setting can be set to and the default values for the
    setting. Changes: Removed allow_owners_groupfield in Zulip 10.0 (feature level 326), as we now
support anonymous user groups. Previously, therole:ownerssystem group was
not offered whenallow_owners_groupwas false.
 Removed unnecessary id_field_namefield in Zulip 10.0 (feature level 326). Previously,
this always had the value of"{setting_name}_id"; it was an internal implementation
detail of the server not intended to be included in the API.
 
- 
require_system_group: boolean
 Whether the setting can only be set to a system user group. 
- 
allow_internet_group: boolean
 Whether the setting can be set to role:internetsystem group.
 
- 
allow_nobody_group: boolean
 Whether the setting can be set to role:nobodysystem group.
 
- 
allow_everyone_group: boolean
 Whether the setting can be set to role:everyonesystem group.
 If false, guest users cannot exercise this permission even if they are part of
the group-setting value for this setting. 
- 
default_group_name: string
 Name of the default group for the setting. 
- 
default_for_system_groups: string | null
 Name of the default group for the setting for system groups. This is non-null only for group-level settings. 
- 
allowed_system_groups: (string)[]
 An array of names of system groups to which the setting can
be set to. If the list is empty, the setting can be set to system groups
based on the other boolean fields. Changes: New in Zulip 8.0 (feature level 225).