API documentation
REST JSON API for sending SMS, checking delivery, and managing your account programmatically.
Base URL
All API requests use HTTPS. The current production base path is:
https://your-domain.com/api/v1/Authentication
Every request must include your secret API key in the header (create keys from the dashboard after you sign in):
X-API-Key: sk_live_...Keys can be rotated or revoked at any time from Dashboard → API keys.
Send a single SMS
POST /api/v1/sms/send with JSON body:
to— E.164 phone number (e.g. +233201234567)from— Approved sender ID or short codemessage— Message body (GSM-7 or Unicode as supported)
Bulk send
POST /api/v1/sms/bulk accepts an array of recipients with the same payload rules as single send. Large batches are queued and processed asynchronously.
Delivery status
GET /api/v1/sms/{id} returns the latest delivery state, timestamps, and any carrier error codes we received.
Webhooks
Configure a callback URL in the dashboard to receive delivery receipts (DLRs) and low-balance alerts as JSON POST payloads. Retry policy and signing headers are documented on the developer hub.
Rate limits & errors
Standard HTTP status codes apply. 429 indicates throttling; back off and retry with exponential delay. Error bodies include a machine-readable code and human-readable message.