Sendexa LogoDocs
SMS API
Stable

SMS API

Send transactional and marketing SMS messages to any mobile number. From single alerts to bulk campaigns — with automatic formatting, segmentation, and real-time delivery receipts.

Global Delivery

Reach any mobile number worldwide with intelligent routing across multiple carrier networks.

Instant Dispatch

Sub-second message queuing with typical delivery under 5 seconds for Ghana networks.

Sender ID Verified

Only pre-approved alphanumeric sender IDs are accepted — preventing spam and protecting your brand.

Delivery Tracking

Real-time delivery receipts with provider-level feedback and per-message status tracking.

Bulk Messaging

Send to thousands of recipients in one request with automatic batching and rate management.

Smart Segmentation

Messages over 160 characters are automatically split and concatenated on the recipient's device.

Avg Delivery

<5s

On Ghana networks

Max Length

1530

characters (10 segments)

Rate Limit

100/s

per API key

Bulk Limit

10,000

recipients per request

Quick Start

Send your first SMS in under a minute:

Bash
curl -X POST 'https://api.sendexa.co/v1/sms/send' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic YOUR_DASHBOARD_BASE64_TOKEN' \
-d '{
"to": "0244123456",
"from": "MyBrand",
"message": "Hello from Sendexa! Your order #1234 is confirmed."
}'

Response

JSON
{
"success": true,
"message": "SMS sent successfully",
"data": {
"messageId": "exa_sms_1a2b3c4d5e6f",
"status": "queued",
"to": "233244123456",
"from": "MyBrand",
"segments": 1,
"cost": 1
}
}
Message Types
Transactional

Order confirmations, delivery alerts, account notifications, and security codes triggered by user actions.

Marketing

Promotional campaigns, offers, event reminders, and bulk announcements sent to opted-in subscriber lists.

Scheduled

Messages queued for future delivery at a specific ISO 8601 timestamp — ideal for reminders and campaigns.

Delivery Statuses
StatusMeaningAction
queuedMessage accepted, waiting to be sent to carrierWait — normal
sentHanded off to the carrier networkWait for delivery receipt
deliveredConfirmed delivered to the handsetSuccess — store the receipt
failedCarrier rejected or number unreachableCheck error code, consider resend
expiredMessage not delivered within validity periodUse /resend endpoint
Common Error Codes
HTTPCodeCause
400INVALID_PHONEPhone number format not recognised
400MESSAGE_TOO_LONGMessage exceeds 1530 characters (10 segments)
401UNAUTHORIZEDMissing or invalid Authorization header
403SENDER_ID_NOT_APPROVEDSender ID pending approval or rejected
403INSUFFICIENT_CREDITSAccount balance too low to send
429RATE_LIMIT_EXCEEDEDExceeded 100 req/s — implement exponential backoff