Sandbox
Every sk_test_ key sends in sandbox mode: the entire pipeline runs (validation, queueing, events, webhooks) but nothing is delivered to a real inbox.
What’s simulated
| Stage | Sandbox behavior |
|---|---|
POST /v1/emails | Identical to live: validation, idempotency, 201 response |
| Delivery | Simulated: email.sent then email.delivered (~300ms) then email.opened |
| Logs | Emails appear in the dashboard and GET /v1/emails with "sandbox": true |
| Webhooks | Fired and signed exactly like live events |
| Domains | Not required: send from any address |
What’s different from live
- No real SMTP delivery, ever
- No domain verification requirement
- Suppression list checks still apply (so you can test that handling too)
Why we built it this way
You should be able to integrate everything (sending, error handling, webhooks, logging) before you own a domain or touch production. Switching to live is a one-line key change, not a re-integration.