Send SMS
Send one text now or later to numbers or to a list, as Quick SMS does.
POST https://cotlet.dev/api/v1/clicksend/sms
Sends like Quick SMS: to up to 1,000 numbers or contacts at once, now or at send_at. Give to or list_id. It spends account credit, and the confirmation shows the cost as Preview and Confirm does. Quick SMS has no Reply STOP and no unsubscribe link, so for a marketing text use create_sms_campaign. A text scheduled this way cannot be edited, only cancelled with cancel_scheduled_sms. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| to array | array | Phone numbers with the country code, for example +447700900142. |
| list_id integer | integer | Send to this contact list instead of to. |
| 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] work with a list. |
| 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/sms \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"from":"from","message":"message"}' result = client.call("clicksend", "send_sms", {"from":"from","message":"message"}) const result = await cotlet.call('clicksend', 'send_sms', {"from":"from","message":"message"}); cotlet call clicksend send_sms --data '{"from":"from","message":"message"}' Example response
{
"status": "scheduled",
"recipients": 2,
"from": "+15550100188",
"send_at": "2026-10-24 10:00",
"message_parts": 1,
"cost": "0.08",
"message_ids": [
"3B9A5E70-12C4-4D8F-A6B3-0E7D4C2F1A58",
"9C4E2A61-7F0D-4B35-8E19-6D2A0B7C4F13"
]
}