API docs

Sandbox

Test your integration without sending anything or spending credits.

A sandbox key (ws_test_…) uses the same base URL, the same checks and the same answers as a live key. The difference is that nothing is delivered and no credits are charged. Every answer is marked sandbox: true.

The sandbox needs no DAN verification, base fee or credit balance, and keeps working after the trial ends. You can build the integration while the paperwork is still in progress.

Create a key

In the dashboard under API keys, choose Create key and pick Sandbox key.

curl -X POST https://dev-api.wesend.mn/v1/sms \
  -H "Authorization: Bearer $WESEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "99112233",
  "text": "Sain baina uu? WeSend-ees ilgeev."
}'
Response200 OK
{
  "id": "0b9c1a52-6f0e-4d8b-9a3c-2f1e5d7c8a90",
  "status": "sent",
  "channel": "sms",
  "to": "99112233",
  "parts": 1,
  "rate_multiplier": 1,
  "credits": 80,
  "batch_id": null,
  "error": null,
  "sandbox": true,
  "created_at": "2026-10-06T08:15:30.000Z",
  "sent_at": "2026-10-06T08:15:30.000Z",
  "balance": 400
}

credits is what the message would cost live. balance does not change.

Recipients and outcomes

RecipientOutcome
Any other valid number or addresssent
99000001failed, error code provider_failed (502)
[email protected]failed, error code provider_failed

An SMS is sent or failed at once. Email and bulk sends start queued and settle within a second, so you can test your status polling too.

Verify

In the sandbox a verification code is always zeros: 000000 for six digits, 0000 for four. Wrong codes, the attempt limit and expiry work as they do live. Start one to 99000001 to test the switch to fallback_email.

Rules

  • A project can create up to 1,000 sandbox messages in 24 hours. Past that, requests answer 429 rate_limited.
  • The per-recipient limits are the same as live, but counted separately.
  • A sandbox key reads only sandbox messages, batches and verifications. A live key likewise reads only live ones.
  • Do not use one Idempotency-Key with both a sandbox and a live key.
  • Sandbox messages appear in the dashboard under Messages with the Sandbox switch on, and are deleted after 30 days.

When you are ready to send for real, put a live key in WESEND_API_KEY. No code changes are needed.