How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Zulip channels API

The channels API from Zulip — 23 operation(s) for channels.

Zulip channels API is one of 17 APIs that Zulip publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Channels. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 30 operations across 23 paths, and defines 35 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against 5 base URLs: https://{subdomain}.zulipchat.com/api/v1, {server}/api/v1, https://chat.zulip.org/api/v1, http://localhost:9991/api/v1, http://{subdomain}.testserver/json.

30 operations 23 paths 35 schemas 3 DELETE11 GET6 PATCH10 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Servers
https://{subdomain}.zulipchat.com/api/v1
{server}/api/v1
https://chat.zulip.org/api/v1
http://localhost:9991/api/v1
http://{subdomain}.testserver/json
Authentication
HTTP Basic
License
Resource Areas
1

Authentication & Security 1

Zulip channels API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (BasicAuth). By default, every request must be authenticated.

  • BasicAuth — Basic authentication, with the user's email as the username, and the API key as the password. The API key can be fetched using the /fetchapikey or /devfetchapi…

Paths & Operations 30

Across 23 paths, the API surfaces 30 operations — 3 DELETE, 11 GET, 6 PATCH, 10 POST. Each is listed below with its method, path, parameters, and response codes.

channels 30
GET
/get_stream_id
Get channel ID
get-stream-id 1 param → 200400
POST
/default_streams
Add a default channel
add-default-stream body → 200400
DELETE
/default_streams
Remove a default channel
remove-default-stream body → 200400
GET
/users/me/{stream_id}/topics
Get topics in a channel
get-stream-topics 2 params → 200400
GET
/users/me/subscriptions
Get subscribed channels
get-subscriptions 1 param → 200
POST
/users/me/subscriptions
Subscribe to a channel
subscribe body → 200400
PATCH
/users/me/subscriptions
Update subscriptions
update-subscriptions body → 200
DELETE
/users/me/subscriptions
Unsubscribe from a channel
unsubscribe body → 200400
PATCH
/users/me/subscriptions/muted_topicsdeprecated
Topic muting
mute-topic body → 200
POST
/user_topics
Update personal preferences for a topic
update-user-topic body → 200
GET
/users/{user_id}/subscriptions/{stream_id}
Get subscription status
get-subscription-status 2 params → 200
GET
/users/{user_id}/channels
Get a user's subscribed channels
get-user-channels 1 param → 200
POST
/users/me/subscriptions/properties
Bulk update subscription settings
update-subscription-settings body → 200
PATCH
/users/me/subscriptions/{stream_id}
Update a subscription setting
update-subscription-property 1 param body → 200
GET
/streams/{stream_id}/members
Get channel subscribers
get-subscribers 1 param → 200400
GET
/streams
Get all channels
get-streams 9 params → 200
GET
/streams/{stream_id}
Get a channel by ID
get-stream-by-id 1 param → 200400
DELETE
/streams/{stream_id}
Archive a channel
archive-stream 1 param → 200400
PATCH
/streams/{stream_id}
Update a channel
update-stream 1 param body → 200400
GET
/streams/{stream_id}/email_address
Get channel's email address
get-stream-email-address 2 params → 200400
POST
/streams/{stream_id}/delete_topic
Delete a topic
delete-topic 1 param body → 200400
POST
/channels/create
Create a channel
create-channel body → 200409
POST
/channel_folders/create
Create a channel folder
create-channel-folder body → 200400
GET
/channel_folders
Get channel folders
get-channel-folders body → 200
PATCH
/channel_folders
Reorder channel folders
patch-channel-folders body → 200400
PATCH
/channel_folders/{channel_folder_id}
Update a channel folder
update-channel-folder 1 param body → 200400
GET
/calls/bigbluebutton/create
Create BigBlueButton video call
create-big-blue-button-video-call 2 params → 200
POST
/calls/nextcloud_talk/create
Create Nextcloud Talk video call
create-nextcloud-talk-video-call body → 200
POST
/calls/webex/create
Create Webex video call
create-webex-video-call → 200
POST
/calls/constructorgroups/create
Create Constructor Groups video call
create-constructor-groups-video-call → 200

Schemas 35

The contract defines 35 schemas that model the data the API accepts and returns. The most detailed are Subscription (41 properties), BasicChannelBase (29 properties), ChannelFolder (8 properties), GroupSettingValueUpdate (2 properties). Each schema is shown below with its type and property counts.

CanCreateTopicGroup
TopicsPolicy
string
Whether [named topics](/help/introduction-to-topics) and the empty topic (i.e., ["general chat" topic](/help/general-chat-topic)) are enabled in this channel.…
IgnoredParametersSuccess
Changes: The [ignoredparametersunsupported][ignoredparams] array was added as a possible return value for all REST API endpoint JSON success responses in Zulip…
BasicChannelBase
object
Object containing basic details about the channel.
29 properties
IgnoredParametersUnsupported
array
An array of any parameters sent in the request that are not supported by the endpoint. See [error handling](/api/rest-error-handlingignored-parameters) documen…
Subscription
object
41 properties
CodedErrorBase
CanRemoveSubscribersGroup
CanDeleteAnyMessageGroup
CanMoveMessagesOutOfChannelGroup
CanAdministerChannelGroup
CanResolveTopicsGroup
CodedError
SendNewSubscriptionMessages
boolean
Whether any other users newly subscribed via this request should be sent a direct message, from Notification Bot, notifying them about their new subscription.…
IgnoredParametersBase
ChannelCanAddSubscribersGroup
CanDeleteOwnMessageGroup
MessageRetentionDays
Number of days that messages sent to this channel will be stored before being automatically deleted by the [message retention policy](/help/message-retention-p…
ChannelFolder
object
Object containing the channel folder's attributes.
8 properties
GroupSettingValueUpdate
object
2 properties 1 required
JsonSuccessBase
Changes: As of Zulip 7.0 (feature level 167), if any parameters sent in the request are not supported by this endpoint, a successful JSON response will include…
GroupSettingValue
Principals
A list of user IDs (preferred) or Zulip API email addresses of the users to be subscribed to or unsubscribed from the channels specified in the subscriptions p…
SubscriptionPropertyValue
The new value of the property being modified. If the property is "color", then value is a string representing the hex value of the user's display color for the…
SubscriptionProperty
string
One of the channel properties described below: - "color": The hex value of the user's display color for the channel. - "ismuted": Whether the channel is [muted…
FolderId
integernull
The ID of the folder to which the channel belongs. Is null if channel does not belong to any folder. Changes: New in Zulip 11.0 (feature level 389).
CanSubscribeGroup
HistoryPublicToSubscribers
boolean
Whether the channel's message history should be available to newly subscribed members, or users can only access messages they actually received while subscribe…
JsonResponseBase
object
1 property
JsonSuccess
NonExistingChannelNameError
CanMoveMessagesWithinChannelGroup
BasicChannel
CanSendMessageGroup
InvalidChannelError

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

zulip-channels-api-openapi.yml Raw ↑

Other APIs Zulip publishes across the network.

Zulip REST API
Zulip Events API
Zulip Webhooks
Zulip authentication API
Zulip bots API
Zulip drafts API
Zulip invites API
Zulip messages API
Zulip mobile API
Zulip navigation_views API
Zulip real_time_events API
Zulip reminders API
Where this information came from

This is an independent, third-party profile of Zulip channels API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.