zulip/templates/zerver/api/send-message.md
Suyash Vardhan Mathur 1fa82c2fcd apidocs: Fix response in API templates.
Now, the descriptions and all subschemas
are directly returned just by
`generate_code_example`, and so, these individual
subschemas and descriptions can be removed from the
templates.

All API endpoints docs are exactly the same after the
change, except few where missing 400 responses got added
due to the modification
2021-06-09 12:43:12 -07:00

2.1 KiB

{generate_api_title(/messages:post)}

{generate_api_description(/messages:post)}

Usage examples

{start_tabs} {tab|python}

{generate_code_example(python)|/messages:post|example}

{tab|js}

More examples and documentation can be found here.

{generate_code_example(javascript)|/messages:post|example}

{tab|curl}

# For stream messages
curl -X POST {{ api_url }}/v1/messages \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    --data-urlencode type=stream \
    --data-urlencode to=Denmark \
    --data-urlencode subject=Castle \
    --data-urlencode 'content=I come not, friends, to steal away your hearts.'

# For private messages
curl -X POST {{ api_url }}/v1/messages \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    --data-urlencode type=private \
    --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.

# For stream messages
zulip-send --stream Denmark --subject Castle \
    --user othello-bot@example.com --api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5

# For private 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:

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}

Response

Return values

{generate_return_values_table|zulip.yaml|/messages:post}

Example response

{generate_code_example|/messages:post|fixture(200)}

{generate_code_example|/messages:post|fixture(400)}