Create a Campaign
Request Parameters
A descriptive internal name for the campaign (e.g.
Weekend Sale - June 2026). This name is visible only in your dashboard and API responses — recipients do not see it.The messaging channel to use. Must be one of:
sms, whatsapp, telegram, email, slack.The ID of the contact list to target. All active contacts in the list will receive the campaign message. Retrieve list IDs from the Contacts API or your dashboard.
Your registered Sender ID (for SMS, WhatsApp, Telegram) or verified email address (for email) to use as the message origin. Use
GET /sender-ids to list your registered Sender IDs.The plain-text message body. Required unless
template is provided.A WhatsApp-approved message template. Use instead of
body when sending WhatsApp campaigns that require a pre-approved template.An ISO 8601 UTC datetime string specifying when to start sending the campaign (e.g.
2026-07-01T08:00:00Z). Set to null or omit entirely to begin sending immediately after the campaign is created.Request Example
Response Fields
The unique campaign identifier, prefixed with
cmp_.The initial campaign status after creation. See Campaign Statuses.
The campaign name as provided in the request.
The messaging channel used for this campaign.
The total number of contacts targeted by this campaign.
ISO 8601 UTC timestamp of when the campaign was created.
201 Created):
Error Scenarios
| Status | Error | Description |
|---|---|---|
400 | invalid_request | Missing required fields or malformed JSON body |
401 | unauthorized | API key is missing or invalid |
404 | not_found | The specified contact_list_id does not exist |
422 | validation_error | sender_id is not registered, or body and template are both absent |
422 | insufficient_credits | Not enough credits to dispatch the campaign |
429 | rate_limit_exceeded | Too many requests — retry after the time indicated in Retry-After |
Get Campaign Status
Retrieve the current status and delivery statistics for a specific campaign:Response Fields
The unique campaign identifier, prefixed with
cmp_.The campaign name as provided when created.
The current campaign status. See the Campaign Statuses table below.
The messaging channel used for this campaign.
The total number of contacts targeted by this campaign.
The number of messages confirmed as delivered so far.
The number of messages that failed or were undeliverable.
ISO 8601 UTC timestamp of when the campaign was created.
ISO 8601 UTC timestamp of when sending began. Null if the campaign has not started yet.
ISO 8601 UTC timestamp of when all messages reached a final delivery status. Null if the campaign has not yet completed.
Campaign Statuses
| Status | Description |
|---|---|
draft | Campaign has been created but sending has not started |
scheduled | Campaign is queued and will begin sending at the specified scheduled_at time |
processing | Messages are actively being dispatched to recipients |
sent | All messages have been dispatched to carriers; delivery confirmations may still be arriving |
completed | All messages have reached a final delivery status — the campaign is fully resolved |
failed | The campaign could not be processed; contact support with the campaign ID |
List Campaigns
Retrieve a paginated list of all campaigns on your account:Page number (default:
1).Results per page (default:
50, max: 100).