Content rules
Sender identity
Sender identity
Every broadcast must come from a verified alphanumeric Sender ID (3 to 11 characters) or the default
UGATEXT. Impersonating banks, government agencies, or telecom operators (for example MTN, AIRTEL, BOU, URA) without authorization is rejected with 403 COMPLIANCE_BLOCKED.Prohibited content
Prohibited content
These are blocked automatically (decision
BLOCK):- Phishing links
- Fake Mobile Money PIN prompts
- Unlicensed loan scams
- Betting or gambling broadcasts to unverified lists
- Fraudulent impersonation
Promotional quiet hours
Promotional quiet hours
Promotional and marketing broadcasts may only be sent between 07:00 and 21:00 EAT (
Africa/Kampala). Transactional messages such as OTPs, payment receipts, and security alerts can be sent 24/7.URL and link shortener inspection
URL and link shortener inspection
Shortened URLs that hide malicious redirects or credential-harvesting domains are flagged for review (decision
REVIEW) or blocked.Opt-outs
Include an opt-out line
Marketing and promotional campaigns must end with clear unsubscribe instructions, for exampleReply STOP to unsubscribe.
Suppression list
A number is added to your opt-out suppression list immediately when:- The recipient replies with an opt-out keyword:
STOP,UNSUBSCRIBE,CANCEL,END,QUIT, orOPT OUT. - You add it from the dashboard or through the Opt-out API.
422 NUMBER_SUPPRESSED_ON_OPT_OUT_LIST.
In bulk broadcasts, suppressed numbers are filtered out before billing, so you are not charged for them.
Opt back in
When a recipient repliesSTART or SUBSCRIBE, the number is removed from the suppression list and receives a confirmation SMS.
Opt-out API
Manage your suppression list with the/api/opt-outs endpoints. They are also available under /api/sms/opt-outs.
List opted-out numbers
GET /api/opt-outs accepts these query parameters:
The response contains
success, records, total, page, limit, totalPages, and stats.
Add, remove, and import numbers
GET /api/opt-outs/export downloads a CSV file of every opted-out number on your account.
Filter recipients before sending
POST /api/opt-outs/check splits a recipient list into numbers you can message and numbers that opted out.
Request
Response
Audit log
GET /api/opt-outs/audit-logs returns the last 100 opt-out and opt-in events.
Inbound carrier webhook
POST /api/opt-outs/inbound-webhook receives recipient replies from the carrier and records opt-outs and opt-ins automatically.
Pre-flight compliance check
Validate message copy before you send withPOST /compliance/inspect.
Related errors
See Errors and limits for all error codes.

