Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Zulip REST API

The Zulip REST API powers the Zulip web and mobile apps. It provides programmatic access to messages, streams, users, organizations, and all other Zulip functionality. Anything you can do in Zulip, you can do with the REST API.

Zulip REST API is one of 17 APIs that Zulip publishes on the APIs.io network, described by an AsyncAPI event-driven specification.

Tagged areas include Messaging, REST, and Team Chat. The published artifact set on APIs.io includes API documentation, an API reference, and an AsyncAPI specification.

This event API exposes 2 operations across 2 channels, and defines 52 schemas. It is described by AsyncAPI 2.6.0, at version 1.0.

The API connects through 2 servers: https://{subdomain}.zulipchat.com/api/v1 (https), https://{host}/api/v1 (https).

2 operations 2 channels 52 schemas

Metadata

The identity and technical contract details declared by the specification.

Specification
AsyncAPI 2.6.0
API Version
1.0
Servers
https://{subdomain}.zulipchat.com/api/v1 (https)
https://{host}/api/v1 (https)
Resource Areas
1

Channels & Operations 2

Across 2 channels, the API surfaces 2 operations. Each is listed below with its action, channel, parameters, and response codes.

Channels 2
SUB
/events
Long-poll for new events from the registered event queue
getEvents 3 params body
PUB
/register
Register a new event queue
registerEventQueue body

Messages & Schemas 52

The contract defines 52 schemas that model the data carried by its messages. The most detailed are RegisterResponse (5 properties), EventBase (2 properties), EventBatch (2 properties). Each schema is shown below with its type and property counts.

EventBatch
message
A long-poll response containing zero or more events
RegisterResponse
message
Response body from POST /register
RegisterResponse
object
Response object returned by POST /api/v1/register.
5 properties 2 required
EventBatch
object
Long-poll response envelope returned by GET /events.
2 properties 2 required
EventBase
object
Common base fields present on every event object.
2 properties 2 required
MessageEvent
object
UpdateMessageEvent
object
DeleteMessageEvent
object
SubmessageEvent
object
ReactionEvent
object
SubscriptionEvent
object
StreamEvent
object
RealmUserEvent
object
UserSettingsEvent
object
UserStatusEvent
object
UserTopicEvent
object
PresenceEvent
object
TypingEvent
object
TypingEditMessageEvent
object
UpdateMessageFlagsEvent
object
RealmEvent
object
RealmEmojiEvent
object
RealmDomainsEvent
object
RealmLinkifiersEvent
object
RealmFiltersEvent
object
RealmPlaygroundsEvent
object
RealmBotEvent
object
RealmUserSettingsDefaultsEvent
object
RealmExportEvent
object
RealmExportConsentEvent
object
UserGroupEvent
object
AlertWordsEvent
object
MutedTopicsEvent
object
MutedUsersEvent
object
DraftsEvent
object
SavedSnippetsEvent
object
ScheduledMessagesEvent
object
RemindersEvent
object
NavigationViewEvent
object
ChannelFolderEvent
object
HasZoomTokenEvent
object
HasWebexTokenEvent
object
DeviceEvent
object
AttachmentEvent
object
InvitesChangedEvent
object
CustomProfileFieldsEvent
object
DefaultStreamsEvent
object
DefaultStreamGroupsEvent
object
OnboardingStepsEvent
object
HeartbeatEvent
object
RestartEvent
object
WebReloadClientEvent
object

Specification

The full machine-readable AsyncAPI contract behind this narrative.

Source

zulip-events-asyncapi.yml Raw ↑

Other APIs Zulip publishes across the network.

Zulip Events API
Zulip Webhooks
Zulip authentication API
Zulip bots API
Zulip channels 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