Every eSMS Africa account includes a sandbox so you can build and test your SMS integration end to end — without sending a single real message or spending any balance.

How it works

Instead of your live key (esms_live_…), authenticate with a test key (esms_test_…). Create one in the dashboard under API keys → Environment: Test. Our SDKs auto-detect the prefix, so no other change is needed.

What test mode does

  • Nothing is sent to a real network and nothing is billed — your balance is never touched.
  • Responses are realistic: real segment and encoding calculation, a test_… message id, and "environment":"test", "livemode":false.
  • The delivery lifecycle is simulated (queued → submitted → delivered) and your webhook fires with "livemode":false.
  • Test traffic appears only in your test logs — live logs stay clean.

Your first sandbox request

curl "https://sms.esmsafrica.io/api/messages/send" \
  -H "Authorization: Bearer esms_test_..." \
  -H "Content-Type: application/json" \
  -d '{"to":"+254712341234","text":"Hello from the sandbox"}'

You'll get a realistic 200 response with "status":"queued" and, moments later, a simulated delivered webhook.

Going live

When you're ready, swap the test key for your live key. Same request, same response shape — live messages go to real networks and are billed per segment. Nothing else changes. See the full sandbox documentation.