Get scheduled messages


Fetch all scheduled messages for the current user.

Scheduled messages are messages the user has scheduled to be sent in the future via the send later feature.

Changes: New in Zulip 7.0 (feature level 173).

Usage examples

curl -sSX GET -G \


This endpoint does not accept any parameters.


Return values

  • scheduled_messages: (object)[]

    Returns all of the current user's undelivered scheduled messages, ordered by scheduled_delivery_timestamp (ascending).

    • scheduled_message_id: integer

      The unique ID of the scheduled message, which can be used to modify or delete the scheduled message.

      This is different from the unique ID that the message will have after it is sent.

    • type: string

      The type of the scheduled message. Either "stream" or "private".

    • to: integer | (integer)[]

      The scheduled message's tentative target audience.

      For channel messages, it will be the unique ID of the target channel. For direct messages, it will be an array with the target users' IDs.

    • topic: string

      Only present if type is "stream".

      The topic for the channel message.

    • content: string

      The content/body of the scheduled message, in text/markdown format.

    • rendered_content: string

      The content/body of the scheduled message rendered in HTML.

    • scheduled_delivery_timestamp: integer

      The UNIX timestamp for when the message will be sent by the server, in UTC seconds.

    • failed: boolean

      Whether the server has tried to send the scheduled message and it failed to successfully send.

      Clients that support unscheduling and editing scheduled messages should display scheduled messages with "failed": true with an indicator that the server failed to send the message at the scheduled time, so that the user is aware of the failure and can get the content of the scheduled message.

      Changes: New in Zulip 7.0 (feature level 181).

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.

A typical successful JSON response may look like:

    "msg": "",
    "result": "success",
    "scheduled_messages": [
            "content": "Hi",
            "failed": false,
            "rendered_content": "<p>Hi</p>",
            "scheduled_delivery_timestamp": 1681662420,
            "scheduled_message_id": 27,
            "to": 14,
            "topic": "Introduction",
            "type": "stream"