The Zulip REST API
The Zulip REST API powers the Zulip web and mobile apps, so anything
you can do in Zulip, you can do with Zulip's REST API. To use this API:
- You'll need to get an API key. You will likely
want to create a bot, unless you're
using the API to interact with
your own account (e.g. exporting your personal message history).
- Choose what language you'd like to use. You can download the
Python or JavaScript bindings, projects in
other languages, or
just make HTTP requests with your favorite programming language. If
you're making your own HTTP requests, you'll want to send the
appropriate HTTP Basic Authentication headers; see each endpoint's
curl
option for details on the request format.
- The Zulip API has a standard
system for reporting errors.
Most other details are covered in the documentation for the individual
endpoints:
You may use the client.call_endpoint
method of our Python API
bindings to call an endpoint that isn't documented here. For an
example, see Upload a custom emoji.
Messages
Streams
Users
Server & organizations
Real-time events
Specialty endpoints
Since Zulip is open source, you can also consult the
Zulip server source code as a
workaround for how to do anything not documented here.