Developer API Updated Mar 2026
Sending SMS via API
Complete guide to sending SMS programmatically using the REST API.
apisendsmsrestendpointmessagescurl
POST /api/v1/messages
Send SMS to one or many recipients via a single API call.
Request Parameters
campaignName(string, required) — Internal tracking namesenderId(string, required) — Approved sender ID (max 11 chars)message(string, required) — SMS text contentmanualNumbers(string) — Comma-separated phone numbersgroupIds(string[]) — Contact group IDs to send toscheduledAt(ISO 8601) — Schedule for future delivery
Response
A successful response (200) returns:
campaignId— Unique ID for tracking the campaigntotalRecipients— Number of recipientscost— Credits consumedstatus— SENT, SCHEDULED, or QUEUED
Phone Number Format
Numbers must be in international format without the + prefix: 255712345678. The system auto-corrects common formats (0712345678 -> 255712345678).
Credit Check: The API will return a
402 Insufficient Credits error if your balance cannot cover the campaign cost. Always check your balance before sending large campaigns.
Related in Developer API
API Authentication
How to authenticate your API requests with Bearer tokens.
Webhooks & Callbacks
Receive real-time delivery notifications and event callbacks.
SDKs & Libraries
Quick-start code examples in Node.js, Python, PHP, and Java.
Rate Limits & API Best Practices
Understand rate limits and build resilient API integrations.