Changes: In Zulip 7.0 (feature level 184), moved support for
editing a scheduled message to a
separate API endpoint, which removed the scheduled_message_id
parameter from this endpoint.
New in Zulip 7.0 (feature level 179).
Usage examples
curl
# Create a scheduled stream message
curl -X POST https://zulip.engr.uconn.edu/api/v1/scheduled_messages \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
--data-urlencode type=stream \
--data-urlencode to=9 \
--data-urlencode topic=Hello \
--data-urlencode 'content=Nice to meet everyone!' \
--data-urlencode scheduled_delivery_timestamp=3165826990
# Create a scheduled direct message
curl -X POST https://zulip.engr.uconn.edu/api/v1/messages \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
--data-urlencode type=direct \
--data-urlencode 'to=[9, 10]' \
--data-urlencode 'content=Can we meet on Monday?' \
--data-urlencode scheduled_delivery_timestamp=3165826990
Parameters
typestringrequired
Example: "direct"
The type of scheduled message to be sent. "direct" for a direct
message and "stream" for a stream message.
In Zulip 7.0 (feature level 174), "direct" was added as the
preferred way to indicate the type of a direct message, deprecating
the original "private". While "private" is supported for
scheduling direct messages, clients are encouraged to use to the
modern convention because support for "private" may eventually
be removed.
Must be one of: "direct", "stream", "private".
tointeger | (integer)[]required
Example: [9, 10]
The scheduled message's tentative target audience.
For stream messages, the integer ID of the stream.
For direct messages, a list containing integer user IDs.
contentstringrequired
Example: "Hello"
The content of the message.
Clients should use the max_message_length returned by the
POST /register endpoint to determine
the maximum message size.
topicstringoptional
Example: "Castle"
The topic of the message. Only required for stream messages
("type": "stream"), ignored otherwise.
Clients should use the max_topic_length returned by the
POST /register endpoint to determine
the maximum topic length.
scheduled_delivery_timestampintegerrequired
Example: 3165826990
The UNIX timestamp for when the message will be sent,
in UTC seconds.
read_by_senderbooleanoptional
Example: true
Whether the message should be initially marked read by its
sender. If unspecified, the server uses a heuristic based
on the client name and the recipient.
Changes: New in Zulip 8.0 (feature level 236).
Response
Return values
scheduled_message_id: integer
The unique ID of the scheduled message.
This is different from the unique ID that the message will have
after it is sent.
Example response(s)
Changes: As of Zulip 7.0 (feature level 167), if any
parameters sent in the request are not supported by this
endpoint, a successful JSON response will include an
ignored_parameters_unsupported array.