> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sendbaze.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Test mode

> Test keys validate everything, return real-looking ids and never send. Use them in development and CI.

Every API key is either **live** (`sk_live_`) or **test** (`sk_test_`). Test keys let you build and run automated tests without a verified domain, without spending your allowance and without a real inbox.

## What a test key does

* Runs every validation and compliance check, so a bad request fails exactly as it would in production.
* Returns an id (`em_…`, `sm_…`) and `"mode": "test"` in the send response.
* Stores the message: it appears in the dashboard **Logs** with a **test** badge and `GET /v1/emails/{id}` returns it with status `sent` and a `queued` and `sent` event.
* Never enqueues, never contacts Amazon SES or a mobile network, never debits credits and never counts against your monthly allowance.
* Skips the verified-domain, suppression and allowance checks, since nothing is delivered. Attachments are validated and described but not stored.

## What a test key does not do

* Deliver anything. To reach an inbox, use a live key.
* Produce delivery webhooks. A test send emits no `email.delivered` or `email.bounced` events. To exercise your webhook handler, use **Send test event** on the Webhooks page or `POST /v1/webhooks/{id}/test`.

## Sending before your domain is verified

A test key never delivers. To see a real email arrive before you have a verified domain, send with a **live** key from the shared test address `onboarding@sendbaze.com` to your own sign-in email. It only delivers to your organisation's own addresses (members and the billing email) and to the simulator addresses below, and each organisation gets 100 such emails in total. See [send before your domain is verified](https://docs.sendbaze.com/get-started/test-without-a-domain.md).

## Simulated addresses

With a **live** key you can test delivery outcomes without a real mailbox using the Amazon SES simulator addresses. They count as sends but never reach a person, and they are allowed from the shared test address too:

| Address | Outcome |
| - | - |
| `success@simulator.amazonses.com` | Delivered |
| `bounce@simulator.amazonses.com` | Hard bounce; the address is suppressed |
| `complaint@simulator.amazonses.com` | Complaint; the address is suppressed and counts toward your rate |

> [!WARNING]
>
> Do not send complaint simulations in bulk: they count toward the complaint rate that can pause your organisation.

## Recommended set-up

* Local development and CI: `sk_test_` key.
* First real delivery, before DNS: a live key from `onboarding@sendbaze.com` to your own address.
* Staging: a live key on a staging subdomain such as `staging.yourshop.co.za`, sending to the simulator addresses and your own team.
* Production: a live key with the narrowest scopes you need.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.