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
1.4 KiB
1.4 KiB
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.
- The Zulip API has a standard system for reporting errors.
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 as a workaround for how to do anything not documented here.