list_scheduled_messages
Lists the user's scheduled messages: upcoming ones and the history of past sends (sent, failed, missed, cancelled; kept 90 days). Every filter is optional and they combine. Use it to answer "what's scheduled?", to check whether scheduled messages went out (and why one failed), and to find a message's id before cancelling or changing it. A repeating message shows one row per send: the next upcoming one plus its past sends. Returns { total, returned, offset, counts_by_status, upcoming (soonest first), history (newest first) }, each message in short form { id, series_id? (only when it differs from id), status, recipient { name, phone_display, canonical_jid }, text? (the first 150 characters; text_truncated: true when cut), media?, send_at (UTC), when (readable local time and how far away), recurrence, occurrence?, until?, sent_at?, message_id?, error? }. With id, that one message comes in full: { id, series_id (shared by every send of a repeating message), status (scheduled, processing, sent, failed, missed or cancelled), recipient (contact fields (name; name_source: address_book, push_name, group_subject, business, phone or unresolved; canonical_jid: the JID to pass to send_message and read_chat_history; phone_jid and lid_jid: the chat's phone-number and LID forms, null when unknown or for groups; phone_display: the number as +).), text?, media?, send_at (UTC), send_at_local, when (readable local time and how far away), timezone, recurrence, occurrence? (0 = first send of a series), until?, sent_at?, message_id? (once sent), error? (why it failed or was missed) }. A page holds up to limit messages but stops early when they are long. If total is more than offset + returned, page with offset (the headline gives the next one) or narrow the filters. Works on the free plan too.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Optional. One scheduled message by id. | |
| to | No | Optional. Recipient: part of a name (accents and case ignored), a phone number in any format, or a JID. | |
| text | No | Optional. Only messages whose text contains this (case-insensitive). | |
| limit | No | Optional. Maximum messages to return (default 20, max 100). | |
| offset | No | Optional. Skip this many matches, for paging (default 0). | |
| status | No | Optional. Only these statuses, e.g. ["scheduled"] for upcoming or ["failed", "missed"] for problems. | |
| has_media | No | Optional. true: only messages with a file; false: only text messages. | |
| recurring | No | Optional. true: only repeating messages; false: only one-off messages. | |
| series_id | No | Optional. Every send of one repeating message. | |
| recurrence | No | Optional. Only these repeat frequencies. | |
| send_after | No | Optional. Only sends at or after this ISO 8601 date-time with offset. | |
| send_before | No | Optional. Only sends at or before this ISO 8601 date-time with offset. |