Skip to main content
UgaText enforces Uganda Communications Commission (UCC) and East African telecom anti-spam directives through a real-time 21-rule compliance engine. Every message is checked before it reaches the carrier.

Content rules

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

Opt-outs

Include an opt-out line

Marketing and promotional campaigns must end with clear unsubscribe instructions, for example Reply 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, or OPT OUT.
  • You add it from the dashboard or through the Opt-out API.
Sending promotional SMS to a suppressed number returns 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 replies START 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 with POST /compliance/inspect.
See Errors and limits for all error codes.