Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
33 lines
1.4 KiB
Markdown
33 lines
1.4 KiB
Markdown
# 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](/api/api-keys). You will likely
|
|
want to [create a bot](/help/add-a-bot-or-integration), 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](/api/installation-instructions), projects in
|
|
[other languages](/api/client-libraries), 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](/api/http-headers).
|
|
* The Zulip API has a standard
|
|
[system for reporting errors](/api/rest-error-handling).
|
|
|
|
Most other details are covered in the documentation for the individual
|
|
endpoints:
|
|
|
|
!!! tip ""
|
|
|
|
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](/api/upload-custom-emoji).
|
|
|
|
{!rest-endpoints.md!}
|
|
|
|
Since Zulip is open source, you can also consult the
|
|
[Zulip server source code](https://github.com/zulip/zulip/) as a
|
|
workaround for how to do anything not documented here.
|