# Custom domain setup

Add your own domain, configure DNS records, and verify for sending and receiving.

## Prerequisites

- A paid Robotomail plan ([upgrade](https://robotomail.com/docs/api/billing))
- Access to your domain's DNS settings
- A verified email address on your Robotomail account


## 1. Register the domain

```curl
curl -X POST https://api.robotomail.com/v1/domains \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domain": "yourdomain.com" }'
```


## 2. Configure DNS records

The response includes all DNS records to add at your registrar. You need to create:

- **1 MX record** — routes inbound email to Robotomail
- **1 SPF TXT record** on `send.yourdomain.com` — authorizes Resend to send
- **DKIM records** (CNAME or TXT, as returned by the API) — enables DKIM signing
- **1 DMARC TXT record** — sets authentication policy

DNS propagation typically takes 5-30 minutes, though it can take up to 48 hours.


## 3. Verify

Robotomail checks your DNS records automatically every 5 minutes. To trigger an immediate check:

```curl
curl -X POST https://api.robotomail.com/v1/domains/DOMAIN_ID/verify \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY"
```

Once MX, SPF, and DKIM records verify locally, the domain status becomes `DNS_VERIFIED`. Once Resend confirms provider-side verification, the status becomes `VERIFIED` and you can create mailboxes on it. DMARC is recommended but not required.


## 4. Create a mailbox on your domain

```curl
curl -X POST https://api.robotomail.com/v1/mailboxes \
  -H "Authorization: Bearer $ROBOTOMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "address": "hello", "domainId": "DOMAIN_ID" }'
```


---

Previous: [Receive & reply](https://robotomail.com/docs/guides/receive-and-reply.md) | Next: [Agent onboarding](https://robotomail.com/docs/guides/agent-onboarding.md)
