Create SMS campaign
Send or schedule an SMS campaign to one contact list, with an opt-out.
POST https://cotlet.dev/api/v1/clicksend/lists/{list_id}/sms-campaigns
Creates a campaign as SMS campaigns > Add new campaign does, for one list of up to 20,000 recipients. It goes out now or at send_at, and everyone on the list at send time gets it, also contacts added after you scheduled it. opt_out adds Reply STOP or an unsubscribe link; a shared or dedicated number takes either, an own number only unsubscribe_link, an alpha tag only unsubscribe_link (or your dedicated number in the text). The confirmation shows the date and cost, as the dashboard does. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| name string required | string | Campaign nickname, only for you. |
| list_id integer required | integer | Contact list ID from list_contact_lists. |
| from string required | string | Sender as the From field shows it: a dedicated number, an own number you verified, an alpha tag (up to 11 characters, no spaces), a shared number or Smart Senders. |
| message string required | string | Text of the message. Placeholders such as [First Name] and shortened links work. |
| opt_out enum | enum | reply_stop, unsubscribe_link or none. Marketing messages need one that fits the sender. |
| send_at string | string | Send time, YYYY-MM-DD HH:MM, in the timezone set in your ClickSend Dashboard. Up to 4 months ahead. Leave out to send now. |
Request
curl -X POST https://cotlet.dev/api/v1/clicksend/lists/128734/sms-campaigns \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Black Friday teaser","from":"+15550100188","message":"Hi [First Name], Black Friday starts Nov 27. Subscribers shop first: shop.example.com/bf","opt_out":"reply_stop","send_at":"2026-10-26 09:00"}' result = client.call("clicksend", "create_sms_campaign", {"name":"Black Friday teaser","list_id":128734,"from":"+15550100188","message":"Hi [First Name], Black Friday starts Nov 27. Subscribers shop first: shop.example.com/bf","opt_out":"reply_stop","send_at":"2026-10-26 09:00"}) const result = await cotlet.call('clicksend', 'create_sms_campaign', {"name":"Black Friday teaser","list_id":128734,"from":"+15550100188","message":"Hi [First Name], Black Friday starts Nov 27. Subscribers shop first: shop.example.com/bf","opt_out":"reply_stop","send_at":"2026-10-26 09:00"}); cotlet call clicksend create_sms_campaign --data '{"name":"Black Friday teaser","list_id":128734,"from":"+15550100188","message":"Hi [First Name], Black Friday starts Nov 27. Subscribers shop first: shop.example.com/bf","opt_out":"reply_stop","send_at":"2026-10-26 09:00"}' Example response
{
"campaign_id": 48213,
"name": "Black Friday teaser",
"status": "scheduled",
"list": "Newsletter subscribers",
"recipients": 1840,
"from": "+15550100188",
"send_at": "2026-10-26 09:00",
"message_parts": 1,
"cost": "73.60"
}