Skip to main content
POST
Send a Single SMS Message (Alias for /sms/send)

Authorizations

Client-ID
string
header
required

Your UgaText Client-ID (e.g. uga_...). Accepted header aliases: X-Client-ID, or combined in Authorization: Bearer : / X-API-Key: :.

Client-Secret
string
header
required

Your UgaText Client-Secret (e.g. sk_live_...). Accepted header alias: X-Client-Secret.

Headers

Idempotency-Key
string

Optional unique key (up to 128 chars, e.g. UUID v4) to safely retry POST /api/v1/sms/send or POST /api/v1/sms/bulk without duplicate dispatch or double billing. Cached for 24 hours per account; replays return X-Cache-Lookup: HIT (Idempotent).

Example:

"8f14e45f-ceea-467f-a8f1-4e45fceea67f"

Body

application/json
to
string
required

Recipient phone number in E.164 with or without a leading + (e.g. "+256750625684", "+254712345678", "+255712345678", or "+243810000000") or local national format ("0750625684"). Accepted aliases: "phone", "recipient". Free sandbox numbers: +256700000000, +254700000000, +255700000000, +243810000000.

Example:

"+256750625684"

message
string
required

SMS text body (accepted aliases: "text", "body").

Example:

"Your verification code is 482910."

sender_id
string
required

Approved alphanumeric Sender ID (1-11 chars, e.g. "UGATEXT"; accepted aliases: "senderId", "from").

Example:

"UGATEXT"

Response

Message accepted and queued for dispatch

success
boolean
Example:

true

message_id
string
Example:

"msg_1760425200000_a1b2c3d4"

status
enum<string>
Available options:
queued,
sent,
delivered,
failed
Example:

"queued"

recipient
string
Example:

"+256750625684"

phone
string
Example:

"+256750625684"

sender_id
string
Example:

"UGATEXT"

segments
integer
Example:

1

units_used
integer
Example:

1

encoding
enum<string>
Available options:
GSM-7,
UCS-2
Example:

"GSM-7"

rate_per_sms
number
Example:

25

estimated_cost
number
Example:

25

cost_ugx
number
Example:

25

currency
enum<string>
Available options:
UGX,
KES,
USD,
TZS
Example:

"UGX"

country
string
Example:

"Uganda"

country_code
string
Example:

"+256"

network
string
Example:

"Airtel"

mode
enum<string>
Available options:
live,
sandbox
Example:

"live"

created_at
string<date-time>
queued_at
string<date-time>