High-throughput REST API for transactional alerts, OTP verification, and automated webhooks. Standardized E.164 payload support with upfront wallet billing and real-time carrier status.
The CedCast Developer API uses RESTful design over HTTPS. Requests accept JSON payloads and return structured JSON responses with standard HTTP status codes.
https://api.cedcast.com/api/v1/
All requests must include an HTTP Authorization header containing your account API Token key.
To obtain or refresh your API token programmatically, post your credentials to /api/v1/auth/token/.
Query the active prepaid wallet balance, currency, and current SMS segment rate for your organization.
| Response Key | Type | Description |
|---|---|---|
organization |
string | Name of the authenticated organization account. |
balance |
decimal string | Available prepaid credit balance. |
currency |
string | Active currency code (e.g. GHS). |
current_sms_rate |
decimal string | Active billing rate per SMS segment. |
Dispatch direct transactional SMS or batch broadcasts to phone numbers in E.164 format. Phone numbers are validated and routed automatically.
| Parameter | Type | Required | Description |
|---|---|---|---|
content |
string | Yes | SMS message text. GSM-7 supports 160 chars/segment; Unicode UTF-8 supports 70 chars/segment. |
recipients |
array[string] | Yes | Array of phone numbers in E.164 or normalized format (e.g. ["+233241234567"]). |
scheduled_time |
ISO 8601 string | No | Optional future execution timestamp (e.g. "2026-08-26T10:00:00Z"). |
When carriers update delivery states (delivered, failed, undelivered), CedCast posts a webhook callback payload to your registered endpoint URL with HMAC-SHA256 signature verification.
X-CedCast-Signature: t=1787668200,v1=a1b2c3d4e5f6...
Webhooks automatically retry up to 3 times with exponential backoff (0s, 5s, 30s) if your endpoint experiences downtime.
| HTTP Code | Error Code | Description |
|---|---|---|
200 / 201 |
- | Request executed or queued successfully. |
401 |
AUTHENTICATION_FAILED |
Missing or invalid Token header key. |
402 |
INSUFFICIENT_BALANCE |
Prepaid wallet balance is insufficient. |
429 |
RATE_LIMIT_EXCEEDED |
Request frequency exceeded active throttle tier. |
Import our official OpenAPI schema into Postman, Insomnia, or client code generators.
curl -X POST https://api.cedcast.com/api/v1/messages/ \
-H "Authorization: Token 9944b09199c62bcf9418ad846d..." \
-H "Content-Type: application/json" \
-d '{
"content": "Your verification code is 884120",
"recipients": ["+233241234567"]
}'
{
"id": 10482,
"organization": 12,
"content": "Your verification code is 884120",
"is_batch_message": true,
"batch_status": "queued",
"sent": false,
"created_at": "2026-08-25T14:30:00Z"
}