Skip to content

Sender Names ​

A sender name is the from-address your recipients see. Carriers require it to be registered and approved before it can send, which is why registering one submits a KYC dossier rather than just a string.

All routes are org-scoped, and they authenticate differently from the sending APIs: they take a signed-in user's token, not an API key. An API-Key here is rejected with 401 — these routes authorize against your membership of {organizationId}, which they read from the path, so there is no X-TenantID to send either.

ActionRoute
ListGET /organization/{organizationId}/sender-names
Check availabilityGET /organization/{organizationId}/sender-names/availability
RegisterPOST /organization/{organizationId}/sender-names
Update the dossierPUT /organization/{organizationId}/sender-names/{documentId}
DeleteDELETE /organization/{organizationId}/sender-names/{documentId}

Check availability first ​

bash
curl "$ME_BASE/organization/$ME_TENANT/sender-names/availability?sender_name=MyBrand" \
  -H "Authorization: Bearer $ME_ACCESS_TOKEN"

Register ​

Registration is a KYC submission: the carrier needs to know who is behind the name, not just what it is.

bash
curl -X POST "$ME_BASE/organization/$ME_TENANT/sender-names" \
  -H "Authorization: Bearer $ME_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "sender_name": "MyBrand",
        "usage_type": "Transactional",
        "business_name": "My Company Co., Ltd.",
        "contact_person": "Mali Sukjai",
        "country": "TH",
        "email": "ops@example.com",
        "name": "Mali Sukjai",
        "nationality": "TH",
        "phone_number": "+66886578553",
        "purpose": "Order and delivery notifications",
        "company_registration_certificate": "https://…/cert.pdf",
        "brand_ownership_proof": "https://…/trademark.pdf"
      }'

Updating ​

PUT is a partial patch of the dossier. Four fields are deliberately not patchable:

FieldWhy
sender_nameA changed name needs a fresh KYC review.
obj_statusServer-controlled — it is the review outcome.
is_activeServer-controlled.
approved_operatorsSet by the carriers that approved the name.

To change the name itself, register a new one.

Approval is per carrier

approved_operators lists the carriers that approved this name. Sending with a name that is not approved for the target carrier does not fail the whole request — those recipients are counted in rejected. See SMS Messaging.