MobiReachMobiReach
โ˜ฐ โ— Sign in Get started free
</> DEVELOPER PLATFORM

An SMS API you'd actually want to use.

Send SMS and OTPs from your app, website, or internal system. Bearer tokens โ€” never passwords in query strings. Signed webhooks, idempotency keys, a real sandbox, and predictable status codes.

curl
node.js
python
php
go
$ curl -X POST \
  https://api.mobireach.ug/v1/sms/send \
  -H "Authorization: Bearer mr_live_โ€ขโ€ขโ€ขโ€ข" \
  -H "Idempotency-Key: req_8Kq" \
  -d '{
    "to": ["+256772123456"],
    "from": "MOBIREACH",
    "message": "Your code: 482910"
  }'
// Response
201 Created
{ "message_id": "msg_8KqRf2", "status": "queued" }
// CORE ENDPOINTS

Everything is one REST call away.

POST
/v1/sms/send
Send a single SMS or a bulk campaign.
POST
/v1/otp/send
Generate and deliver a one-time code.
POST
/v1/otp/verify
Validate a code within its expiry window.
GET
/v1/messages/:id
Fetch delivery status and failure reason.
// OTP PRODUCT

Ship login codes this afternoon.

Two endpoints โ€” send and verify. We handle 6-digit codes, single-use enforcement, 5โ€“10 minute expiry, attempt limits, resend cooldowns, and fraud monitoring. You handle nothing.

โœ“ 6-digit, single-use codes with configurable expiry
โœ“ Attempt limits, resend cooldowns, IP throttling
โœ“ Fraud signals on unusual volume or geography
// 1. Send the code
POST /v1/otp/send
{ "to": "+256772123456", "purpose": "login" }
โ†’ { "request_id": "otp_4f2", "expires_in": 300 }
// 2. Verify what the user typed
POST /v1/otp/verify
{ "request_id": "otp_4f2", "code": "482910" }
โ†’ { "verified": true }
// WEBHOOKS

Delivery events, pushed to you

Every status change hits your endpoint โ€” signed, retryable, and visible in logs. Includes message id, status, and failure reason.

POST your-app.com/webhooks
{ "message_id": "msg_8KqRf2",
  "status": "delivered",
  "network": "MTN" }
X-MobiReach-Signature: sha256=โ€ฆ
// API KEYS & SCOPES

Scoped keys, shown once

Generate a key, see it once, store only the hash. Rotate or revoke anytime. Restrict each key to exactly the scopes it needs.

sms:send otp:send otp:verify contacts:write reports:read balance:read webhooks:write
{ }

Real sandbox

Test sends and delivery callbacks with sandbox keys โ€” no credits spent, no real SMS sent. Flip to live with one switch.

๐Ÿ“Š

Logs & rate limits

Inspect every request, response, latency, and webhook attempt. Generous, transparent rate limits per key and endpoint.

OPERATIONAL

Public status page

Real-time delivery health, incident history, and uptime โ€” so you always know what's happening before your users do.

Grab a sandbox key and build.

Free to start. No credits needed until you go live.

MobiReach

SMS reminders, alerts, OTPs, and campaigns โ€” for schools, churches, SACCOs, clinics, and developers across Uganda.

All systems normal
ยฉ 2026 MobiReach โ€” a service of Anathoth Technologies Ltd.
hello@mobireach.ug ยท +256 700 000 000