eSMS AfricaeSMS Africa
API ReferenceSMS API

Send SMS

POST /api/sms/send — Send a single SMS message.

Endpoint

POST https://app.esmsafrica.io/api/sms/send

Authentication

X-Account-ID: your_account_id
X-API-Key: your_api_key

Request body

{
  "phoneNumber": "+254712345678",
  "text": "Hello from eSMS Africa!",
  "senderId": "eSMS"
}
FieldTypeRequiredDescription
phoneNumberstringYesRecipient in international format (e.g. +254712345678)
textstringYesMessage content. Max 160 chars per segment (GSM-7) or 70 chars (Unicode).
senderIdstringNoApproved sender ID. Defaults to system default if omitted.

Response

Success (200)

{
  "status": "success",
  "messageId": "msg_abc123",
  "reason": "SMS queued for delivery"
}

Errors

StatusDescription
400Invalid phone number or missing required fields
401Invalid or missing API key
402Insufficient wallet balance
403Sender ID not approved for your account

Example

curl -X POST https://app.esmsafrica.io/api/sms/send \
  -H "X-Account-ID: your_account_id" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumber": "+254712345678",
    "text": "Your OTP is 123456",
    "senderId": "MyApp"
  }'

On this page