> ## 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.

# Send before your domain is verified

> Every organisation can send a limited number of live emails from onboarding@sendbaze.com to its own addresses, so you see a real delivery before any DNS work.

Live email normally comes from a [domain you have verified](https://docs.sendbaze.com/get-started/add-domain.md). Many teams only get their domain, or access to its DNS, when they are close to production. Until then you can still see Sendbaze deliver a real email by sending from the shared test address:

```
onboarding@sendbaze.com
```

It works with a **live key** and from the **Domains** page of the dashboard, and the email takes the same path a customer email takes: queued, signed by Amazon SES in Cape Town, delivered, and reported in **Logs** and by [webhooks](https://docs.sendbaze.com/learn/webhooks/overview.md).

## The rules

The shared address is a taste of the product, not a way to send without a domain. Three limits keep it that way:

| Rule | Detail |
| - | - |
| Own addresses only | It delivers to your organisation's own addresses: the sign-in email of every member on the **Team** page and the billing email in **Settings**. The same mailbox with a `+label` counts (`thandi+test@yourshop.co.za` reaches the member `thandi@yourshop.co.za`). The [Amazon SES simulator addresses](https://docs.sendbaze.com/learn/sending/test-mode.md#simulated-addresses) are also allowed. Anyone else is refused with `403 sandbox_recipient_not_allowed` and nothing is queued. |
| 100 emails per organisation | A lifetime total, not a monthly one. The 101st returns `403 sandbox_limit_reached`. |
| Counts as live email | Each one draws on your plan like any other live email: the monthly allowance, the Free plan's daily cap and the warm-up limit all apply, and the message appears in Logs with a **test address** badge. |

Both errors carry a `domainsUrl` pointing at the Domains page, where the fix always is: add and verify your own domain, and send from it to anyone.

> [!NOTE]
>
> Test keys (`sk_test_`) are different: they validate the request and store the message but never deliver, so they are not subject to these rules. Use a test key in CI and the shared address when you want to see an email arrive.

## Send one

Put your own sign-in email in `to`.

```bash theme={"dark"}
curl https://api.sendbaze.com/v1/emails \
  -H "Authorization: Bearer $SENDBAZE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Yourshop <onboarding@sendbaze.com>",
    "to": "you@yourshop.co.za",
    "subject": "Hello from Sendbaze",
    "html": "<p>It works.</p>"
  }'
```

```json Response theme={"dark"}
{ "id": "em_01j9x7k2r4m8q3v5n6b7c8d9e0", "status": "queued", "mode": "live" }
```

A display name before the address is fine; the address itself must be exactly `onboarding@sendbaze.com`.

From the dashboard, open **Domains**: until one of your domains is verified the page offers **Send test email** from the shared address to your own inbox and shows how many of the 100 are left.

## When it is refused

```json Response (403) theme={"dark"}
{
  "error": {
    "code": "sandbox_recipient_not_allowed",
    "message": "onboarding@sendbaze.com is a shared test address: it only delivers to your organisation's own addresses (its members and its billing email) and to the Amazon SES simulator addresses, and customer@example.com is not one of them. Nothing was queued. To email anyone else, add and verify your own domain with POST /v1/domains or on the Domains page; see domainsUrl.",
    "docs": "https://docs.sendbaze.com/errors#sandbox_recipient_not_allowed",
    "fields": { "to": ["customer@example.com is not one of your organisation's own addresses"] },
    "domainsUrl": "https://dashboard.sendbaze.com/domains"
  }
}
```

## Move to production

**1. Add and verify your domain**

Follow [Add and verify a domain](https://docs.sendbaze.com/get-started/add-domain.md). Most domains verify within half an hour of publishing the records.

**2. Change `from`**

Send from an address on your domain, for example `orders@yourshop.co.za`. From that moment the recipient rules and the lifetime total no longer apply.

**3. Pick a plan for your volume**

The Free plan includes 3,000 emails a month with a daily cap of 150. [Compare plans](https://docs.sendbaze.com/resources/plans.md) when you send more.

> [!WARNING]
>
> Do not use made-up addresses on `example.com` or similar for testing. They bounce, and hard bounces are added to the suppression list and count against your reputation. Use your own address, or the [simulator addresses](https://docs.sendbaze.com/learn/sending/test-mode.md#simulated-addresses).


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