Launch a campaign
POST/broadcasts/:id/launch
Freezes the audience and sets the campaign to send — now, or at scheduledAt (up to a
year ahead). More than 60 seconds in the future, the campaign becomes scheduled;
otherwise it starts building the recipient list at once.
It does not take an Idempotency-Key: a second launch answers 409, because the
campaign is no longer a draft.
With an API key limited to some numbers, the audience — saved or typed as a filter — is narrowed to the contacts that have a conversation on those numbers, and that slice is frozen at launch together with the audience. A campaign launched by an unrestricted key goes to the whole base.
Request
Responses
- 202
- 401
- 402
- 403
- 404
- 409
- 422
- 429
Campaign launched or scheduled.
Missing, malformed, unknown or revoked token (authentication), or a suspended
account (tenant_inactive).
No entitlement (payment_required). The body carries the reason in reason and the
way out in action: what to do (kind) and the dashboard page where it is done (url).
The resource does not belong to your account (forbidden), or the path is on the
mirror's block list (forbidden_endpoint), or your API key is limited to some numbers and
the operation covers the whole account (forbidden).
Resource does not exist (not_found).
The campaign is not in a state that allows the action (broadcast_invalid_state, with status).
The campaign is not ready (the same errors as the estimate), or: audience_empty (nobody can receive it), broadcast_limit_reached (above the recipient cap, with limit), quota_exceeded (the plan has no messages left this month).
Rate limit exceeded (rate_limit).
Response Headers
Seconds to wait before retrying.
Which rate limit category applied — send, media or default.
Which bucket the other headers describe — key (the API key), session (the dashboard) or account (the account ceiling).
Request ceiling for this category in the current window.
Requests left in the current window.