Skip to main content

Sender IDs

A sender ID is the name or number that appears as the originator of your SMS. Registering a branded alphanumeric sender ID (for example AFRIROUTE) significantly improves deliverability and trust compared to shared numbers. This page covers registering, listing, and managing sender IDs.

๐Ÿท๏ธ Sender ID Typesโ€‹

TypeExampleNotes
AlphanumericAFRIROUTE3-11 characters, letters/digits, one-way only (recipients cannot reply)
Numeric (long code)+251700000000Supports two-way messaging
Short code8000Operator-issued, high throughput, region-specific

Many African operators require alphanumeric sender IDs to be pre-registered and approved. Registration can take 1-7 business days depending on the country.

๐Ÿ“ก Endpointsโ€‹

MethodPathPurpose
GET/v1/sms/sender-idsList your sender IDs and their status
POST/v1/sms/sender-idsRegister a new sender ID for approval
DELETE/v1/sms/sender-ids/{id}Remove a sender ID

Base URL: https://api.afriroute.ai

๐Ÿ“‹ List Sender IDsโ€‹

curl https://api.afriroute.ai/api/v1/sms/sender-ids \
-H "Authorization: Bearer $AFRIROUTE_API_KEY"
const res = await fetch('https://api.afriroute.ai/api/v1/sms/sender-ids', {
headers: { 'Authorization': 'Bearer $AFRIROUTE_API_KEY' }
});
const { sender_ids } = await res.json();
import requests

res = requests.get(
'https://api.afriroute.ai/api/v1/sms/sender-ids',
headers={'Authorization': 'Bearer $AFRIROUTE_API_KEY'},
)
print(res.json()['sender_ids'])

Responseโ€‹

{
"sender_ids": [
{
"id": "sid_abc123",
"name": "AFRIROUTE",
"type": "alphanumeric",
"status": "approved",
"countries": ["ET", "KE", "NG"],
"created_at": "2026-04-10T09:00:00Z"
}
]
}

โž• Register a Sender IDโ€‹

POST /v1/sms/sender-ids
FieldTypeRequiredDescription
namestringYesThe sender ID (3-11 alphanumeric chars)
typestringYesalphanumeric, numeric, or short_code
countriesarrayYesISO 3166-1 alpha-2 codes where it will be used
use_casestringYesDescription of how it will be used (required by operators)
curl -X POST https://api.afriroute.ai/api/v1/sms/sender-ids \
-H "Authorization: Bearer $AFRIROUTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "MYBRAND",
"type": "alphanumeric",
"countries": ["ET", "KE"],
"use_case": "Transactional OTP and order notifications"
}'

Responseโ€‹

{
"id": "sid_def456",
"name": "MYBRAND",
"type": "alphanumeric",
"status": "pending",
"countries": ["ET", "KE"],
"created_at": "2026-05-28T10:30:00Z"
}

๐ŸŸข Sender ID Statusesโ€‹

StatusMeaning
pendingSubmitted, awaiting operator approval
approvedLive and ready to use as a from value
rejectedDeclined; review the rejection_reason and resubmit

โŒ Delete a Sender IDโ€‹

curl -X DELETE https://api.afriroute.ai/api/v1/sms/sender-ids/sid_def456 \
-H "Authorization: Bearer $AFRIROUTE_API_KEY"

Returns 204 No Content on success.

๐Ÿ’ก Best Practicesโ€‹

  • Register early โ€” approval can take several business days per country.
  • Keep names recognisable and consistent with your brand for higher trust.
  • Use alphanumeric IDs for transactional traffic to maximise deliverability.
  • Choose numeric/long codes when recipients need to reply.
  • Provide a clear use_case โ€” vague descriptions are commonly rejected.
  • Avoid generic words like INFO or SMS that operators frequently reject.

โš ๏ธ Error Handlingโ€‹

HTTPCodeResolution
400INVALID_SENDER_IDUse 3-11 valid alphanumeric characters
409SENDER_ID_EXISTSThis sender ID is already registered
422SENDER_ID_REJECTEDOperator declined; revise and resubmit

See Error Codes for the full list.


Last Updated: May 2026 ยท Need help? Contact Support โ†’