Schedule a broadcast

Schedules a broadcast to an audience filter (the same filter as POST /v1/messaging/broadcast/audience). When it sends is schedule: at is a wall-clock time with NO offset (e.g. 2026-10-05T09:00), read in timezone (an IANA zone such as America/New_York). Add a recurrence (daily / weekly / monthly) to repeat it — at is then the first send and the time of day of every send. The audience is evaluated at every send, so contacts who join or leave your groups before then are included or excluded accordingly.

schedule.sendByLocalTime delivers at at's wall-clock time in each recipient's own timezone; it cannot be combined with waveConfig. A send that cannot start within 1 hour of its time is not sent.

Rate limit: 10 requests per minute, shared with update and cancel.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
audience
object
string

Sender phone number in E.164 format or short code (5-6 digits)

string
length ≤ 640
string
schedule
object

When it sends. Sending it replaces ALL of the timing.

waveConfig
object
string
length between 2 and 100

Idempotency key to prevent creating the same schedule twice. Must be 2-100 characters long. Allowed characters: English letters (A-Z, a-z), digits (0-9), and : @ - _ ) (.

Responses

401

Unauthorized. 33001.

403

33004 number not owned, 33021 user not active, 33022 API not enabled.

409

Conflict. 33013 duplicate idempotency key.

429

33002 rate limit exceeded, 33012 broadcasts already scheduled for that day would exceed your daily quota.

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json