Sender IDs
The alphanumeric name your recipients see. Every Tanzanian network must whitelist it before you can send.
Naming rules
| Rule | Type | Description |
|---|---|---|
length | 3–11 | Characters, inclusive. |
charset | A–Z 0–9 | Letters and digits only — no spaces, punctuation or emoji. |
ownership | string | Must relate to your registered business name or product. |
reserved | string | Bank, operator and government-style names need supporting documents. |
Request a sender ID
POST
https://bulksmsapi.selanim.com/v1/sender-ids| Field | Type | Description |
|---|---|---|
namerequired | string | What recipients will see. Up to 11 characters. |
purposerequired | string | What you will send under it. The operator reads this. |
sampleMessage | string |
bash
curl -X POST "https://bulksmsapi.selanim.com/v1/sender-ids" \
-H "Authorization: Bearer $SBS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "SHULEYETU",
"purpose": "Fee reminders and results notifications for parents."
}'Needs: curl, on every machine already.
json
{
"id": "8f14e45f-ceea-467a-9f1d-2a1c0f8b3d77",
"name": "SHULEYETU",
"status": "pending",
"shared": false,
"createdAt": "2026-08-17T09:30:00Z"
}Check status
GET
https://bulksmsapi.selanim.com/v1/sender-idsStatus is one of pending, approved or rejected. Rejections always carry a reason so you can resubmit a corrected name.
json
{
"data": [
{ "id": "SID-501", "senderId": "SELANIM", "status": "approved", "default": true },
{ "id": "SID-502", "senderId": "MYSCHOOL", "status": "pending" },
{
"id": "SID-504",
"senderId": "NORTHSTAR",
"status": "rejected",
"reason": "Name resembles a licensed financial institution."
}
]
}Approval takes 1–3 business days
Sending with a pending sender ID fails with
sender_id_not_approved. Keep a fallback approved ID configured so transactional traffic is never blocked by a pending request.
