SelanimDocs

Sender IDs

The alphanumeric name your recipients see. Every Tanzanian network must whitelist it before you can send.

Naming rules

RuleTypeDescription
length3–11Characters, inclusive.
charsetA–Z 0–9Letters and digits only — no spaces, punctuation or emoji.
ownershipstringMust relate to your registered business name or product.
reservedstringBank, operator and government-style names need supporting documents.

Request a sender ID

POSThttps://bulksmsapi.selanim.com/v1/sender-ids
FieldTypeDescription
namerequiredstringWhat recipients will see. Up to 11 characters.
purposerequiredstringWhat you will send under it. The operator reads this.
sampleMessagestring
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

GEThttps://bulksmsapi.selanim.com/v1/sender-ids

Status 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.