2018-04-17 00:41:30 +02:00
|
|
|
# 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
|
2018-09-26 04:28:29 +02:00
|
|
|
want to [create a bot](/help/add-a-bot-or-integration), unless you're
|
|
|
|
using the API to interact with
|
2018-04-17 00:41:30 +02:00
|
|
|
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), or
|
2018-09-26 04:28:29 +02:00
|
|
|
just make HTTP requests with your favorite programming language. If
|
2018-04-17 00:41:30 +02:00
|
|
|
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
|
2018-05-05 23:25:02 +02:00
|
|
|
[system for reporting errors](/api/rest-error-handling).
|
2018-04-17 00:41:30 +02:00
|
|
|
|
|
|
|
Most other details are covered in the documentation for the individual
|
|
|
|
endpoints:
|
|
|
|
|
2019-01-22 03:23:26 +01:00
|
|
|
!!! 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).
|
|
|
|
|
2018-05-14 15:40:24 +02:00
|
|
|
{!rest-endpoints.md!}
|
2018-04-17 00:41:30 +02:00
|
|
|
|
|
|
|
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.
|