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

# Add and verify a domain

> Live keys can only send email from a domain you have proved you own. Add it, publish five DNS records, and Sendbaze verifies it in minutes.

Sendbaze sends email using a domain you own. Before a live key can send to your customers, the domain must be verified with your organisation. Test keys skip this step because they never deliver, and while you wait you can [send to your own addresses from `onboarding@sendbaze.com`](https://docs.sendbaze.com/get-started/test-without-a-domain).

> [!NOTE]
>
> If you do not own a domain yet, buy one first. Any registrar works; the [DNS guides](https://docs.sendbaze.com/learn/domains/dns-guides.md) cover Cloudflare, Afrihost, Xneelo, GoDaddy and Namecheap.

## Add a domain

You can add a domain in two ways:

* on the **Domains** page of the dashboard
* with the [Sendbaze API](https://docs.sendbaze.com/api-reference/domains/add-a-domain.md) (`POST /v1/domains`, scope `domains:write`)

From the dashboard:

**1. Open Domains and choose Add domain**

Enter the domain, for example `yourshop.co.za`. We recommend a subdomain for automated mail (`mail.yourshop.co.za` or `notify.yourshop.co.za`) so its reputation is separate from your personal mailboxes; see [subdomains](https://docs.sendbaze.com/learn/domains/subdomains.md).

**2. Publish the DNS records**

Sendbaze shows five records. Add each one at your DNS host exactly as shown, using the copy buttons.

| Purpose | Type | Required | What it does |
| - | - | - | - |
| DKIM (3 records) | CNAME | Yes | Lets Amazon SES sign your mail so receivers can trust it |
| Return-path MX | MX | Yes | Routes bounces for the `mail` subdomain back to Sendbaze |
| Return-path SPF | TXT | Yes | Authorises Sendbaze to send on behalf of the `mail` subdomain |
| DMARC | TXT | Advised | Tells receivers what to do with unauthenticated mail claiming to be you |

> [!WARNING]
>
> Cloudflare users: set the DKIM CNAMEs to **DNS only** (grey cloud). Proxied records cannot be verified.

**3. Wait for verification**

Sendbaze checks the records every five minutes and shows the result per record, so a typo in one record is visible rather than a silent "pending". Most domains verify within 5 to 30 minutes; DNS can take up to 72 hours in rare cases. Press **Check now** to look immediately after you publish.

**4. Send**

Once the status is **verified**, any address on the domain, and on any of its subdomains, can be used in `from`. Sending from an unverified domain fails with `403 domain_not_verified` and nothing is queued.

## Learn more

* [How verification works](https://docs.sendbaze.com/learn/domains/verification.md), including what each record does and why the return path matters for DMARC.
* [DNS guides](https://docs.sendbaze.com/learn/domains/dns-guides.md) for popular registrars.
* [Subdomain or root domain?](https://docs.sendbaze.com/learn/domains/subdomains.md)

## Next steps

> [card] [Create an API key](https://docs.sendbaze.com/get-started/create-api-key.md)

> [card] [Send your first email](https://docs.sendbaze.com/get-started/send-with/nodejs.md)


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