curl --request POST \
--url https://api.verbose.cx/v1/campaigns \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "June promo",
"message": "Hi {{first_name}}, 20% off. Reply STOP to opt out.",
"list_id": "8f3c",
"number_id": "1a2b",
"follow_ups": [
{
"message": "Last day!",
"delay_minutes": 1440
}
]
}
'{
"ok": true,
"campaign": {
"id": "478e4a29-4d45-4b69-a721-52405e75d85f",
"name": "September promo",
"campaign_type": "broadcast",
"status": "active",
"created_at": "2026-09-01T14:12:00Z"
}
}{
"ok": false,
"error": "list_id is required"
}{
"ok": false,
"error": "Invalid or missing API key"
}{
"ok": false,
"error": "This API key cannot create and edit.",
"required_scope": "write"
}Campaigns
Create a campaign
Built, not started — call /campaigns/{id}/start. SMS by default; set type: "voice" for a voice campaign.
POST
/
v1
/
campaigns
curl --request POST \
--url https://api.verbose.cx/v1/campaigns \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "June promo",
"message": "Hi {{first_name}}, 20% off. Reply STOP to opt out.",
"list_id": "8f3c",
"number_id": "1a2b",
"follow_ups": [
{
"message": "Last day!",
"delay_minutes": 1440
}
]
}
'{
"ok": true,
"campaign": {
"id": "478e4a29-4d45-4b69-a721-52405e75d85f",
"name": "September promo",
"campaign_type": "broadcast",
"status": "active",
"created_at": "2026-09-01T14:12:00Z"
}
}{
"ok": false,
"error": "list_id is required"
}{
"ok": false,
"error": "Invalid or missing API key"
}{
"ok": false,
"error": "This API key cannot create and edit.",
"required_scope": "write"
}Authorizations
Body
application/json
- Option 1
- Option 2
An SMS campaign to create. It is built, not sent — start it with POST /v1/campaigns/{id}/start. Target a list_id or a segment_id.
Was this page helpful?