mirror of https://github.com/zulip/zulip.git
2.5 KiB
2.5 KiB
Stream message
Send a message to a stream.
POST {{ api_url }}/v1/messages
Usage examples
- Python
- JavaScript
- curl
- zulip-send
curl {{ api_url }}/v1/messages \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
-d "type=stream" \
-d "to=Denmark" \
-d "subject=Castle" \
-d "content=Something is rotten in the state of Denmark."
{generate_code_example(python)|stream-message|example}
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.
zulip-send --stream Denmark --subject Castle \
--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
flag, as follows:
zulip-send --stream Denmark --subject Castle \
-m "Something is rotten in the state of Denmark." \
--user othello-bot@example.com --api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5
You can omit the user
and api-key
arguments if you have a ~/.zuliprc
file.
See also the full API endpoint documentation.
More examples and documentation can be found [here](https://github.com/zulip/zulip-js).
```js
const zulip = require('zulip-js');
// Download zuliprc-dev from your dev server const config = { zuliprc: 'zuliprc-dev', };
zulip(config).then((client) => { // Send a message const params = { to: 'Denmark', type: 'stream', subject: 'Castle', content: 'Something is rotten in the state of Denmark.' }
client.messages.send(params).then(console.log);
});
</div>
</div>
</div>
## Arguments
{generate_api_arguments_table|arguments.json|stream-message.md}
## Response
#### Return values
* `id`: The ID of the newly created message
#### Example response
A typical successful JSON response may look like:
{generate_code_example|stream-message|fixture}
A typical failed JSON response for when the target stream does not exist:
{ 'code':'BAD_REQUEST', 'msg':"Stream 'Denmarkk' does not exist", 'result':'error' }