Skip to main content
Base URL
All requests use HTTPS and JSON. Authenticate with your Client-ID and Client-Secret headers. See Authentication.

Phone number formats

The to field accepts E.164 with or without a leading + (+256750625684, 256750625684) or local format (0750625684).

Field aliases

Message lifecycle

Messages start as queued, then move to sent and delivered, or failed. Poll GET /sms/status/{id} or use webhooks.

Message encoding

Messages are encoded as GSM-7 or UCS-2 (Unicode). The response’s segments field shows how many SMS units the message uses.

Bulk limits

POST /sms/bulk accepts up to 5,000 recipients per request.