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
80 lines
2.0 KiB
Markdown
80 lines
2.0 KiB
Markdown
{generate_api_header(/messages:post)}
|
|
|
|
## Usage examples
|
|
|
|
{start_tabs}
|
|
|
|
{generate_code_example(python)|/messages:post|example}
|
|
|
|
{generate_code_example(javascript)|/messages:post|example}
|
|
|
|
{tab|curl}
|
|
|
|
{!curl-auth-credentials.md!}
|
|
|
|
``` curl
|
|
# For channel messages
|
|
curl -X POST {{ api_url }}/v1/messages \
|
|
-u EMAIL_ADDRESS:API_KEY \
|
|
--data-urlencode type=stream \
|
|
--data-urlencode 'to="Denmark"' \
|
|
--data-urlencode topic=Castle \
|
|
--data-urlencode 'content=I come not, friends, to steal away your hearts.'
|
|
|
|
# For direct messages
|
|
curl -X POST {{ api_url }}/v1/messages \
|
|
-u EMAIL_ADDRESS:API_KEY \
|
|
--data-urlencode type=direct \
|
|
--data-urlencode 'to=[9]' \
|
|
--data-urlencode 'content=With mirth and laughter let old wrinkles come.'
|
|
```
|
|
|
|
{tab|zulip-send}
|
|
|
|
You can use `zulip-send`
|
|
(available after you `pip install zulip`) to easily send Zulips from
|
|
the command-line, providing the message content via STDIN.
|
|
|
|
```bash
|
|
# For channel messages
|
|
zulip-send --stream Denmark --subject Castle \
|
|
--user othello-bot@example.com --api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5
|
|
|
|
# For direct messages
|
|
zulip-send hamlet@example.com \
|
|
--user othello-bot@example.com --api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5
|
|
```
|
|
|
|
#### Passing in the message on the command-line
|
|
|
|
If you'd like, you can also provide the message on the command-line with the
|
|
`-m` or `--message` flag, as follows:
|
|
|
|
|
|
```bash
|
|
zulip-send --stream Denmark --subject Castle \
|
|
--message 'I come not, friends, to steal away your hearts.' \
|
|
--user othello-bot@example.com --api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5
|
|
```
|
|
|
|
You can omit the `user` and `api-key` parameters if you have a `~/.zuliprc`
|
|
file.
|
|
|
|
{end_tabs}
|
|
|
|
## Parameters
|
|
|
|
{generate_api_arguments_table|zulip.yaml|/messages:post}
|
|
|
|
{generate_parameter_description(/messages:post)}
|
|
|
|
## Response
|
|
|
|
{generate_return_values_table|zulip.yaml|/messages:post}
|
|
|
|
{generate_response_description(/messages:post)}
|
|
|
|
#### Example response(s)
|
|
|
|
{generate_code_example|/messages:post|fixture}
|