Domain Verification
Verify your domain to send emails and improve deliverability. You can manage domains through the Dashboard or the API.
Why Verify?
- Required to send production emails
- Improves inbox placement
- Enables DKIM signing
- Protects your brand
Add Your Domain
Via Dashboard
- Navigate to Domains in the sidebar
- Click Add Domain
- Enter your sending domain (e.g.,
mail.yourapp.com) - Zyphr returns the DNS records you need to add
Via API
curl -X POST https://api.zyphr.dev/v1/domains \
-H "X-API-Key: zy_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "domain": "mail.yourapp.com" }'
const domain = await zyphr.domains.create({
domain: 'mail.yourapp.com',
});
// domain.dns_records contains the records to add
console.log(domain.dns_records);
The response includes all DNS records you need to configure.
Add DNS Records
Add the following records to your DNS provider:
DKIM Records (3 CNAME records):
selector1._domainkey.mail.yourapp.com → dkim1.zyphr.dev
selector2._domainkey.mail.yourapp.com → dkim2.zyphr.dev
selector3._domainkey.mail.yourapp.com → dkim3.zyphr.dev
SPF Record (TXT):
v=spf1 include:spf.zyphr.dev ~all
DMARC Record (TXT):
v=DMARC1; p=none; rua=mailto:dmarc@yourapp.com
Verify Your Domain
After adding DNS records (may take up to 48 hours to propagate):
Via Dashboard
- Go to Domains in the sidebar
- Find your domain and click Verify
- Zyphr checks your DNS records
- Once verified, the status updates to Verified
Via API
curl -X POST https://api.zyphr.dev/v1/domains/DOMAIN_ID/check \
-H "X-API-Key: zy_live_your_key"
const result = await zyphr.domains.verify('DOMAIN_ID');
console.log(result.status); // 'verified' or 'pending'
List Domains
Via Dashboard
Navigate to Domains in the sidebar to see all your domains with their verification status.
Via API
curl https://api.zyphr.dev/v1/domains \
-H "X-API-Key: zy_live_your_key"
const { data: domains } = await zyphr.domains.list();
Set Default Domain
Via Dashboard
On the Domains page, click the menu on a verified domain and select Set as Default.
Via API
curl -X POST https://api.zyphr.dev/v1/domains/DOMAIN_ID/default \
-H "X-API-Key: zy_live_your_key"
Delete a Domain
Via Dashboard
On the Domains page, click the menu on a domain and select Delete.
Via API
curl -X DELETE https://api.zyphr.dev/v1/domains/DOMAIN_ID \
-H "X-API-Key: zy_live_your_key"
Domain Status
| Status | Description |
|---|---|
pending | Awaiting DNS records |
verifying | DNS check in progress |
verified | Ready to send |
failed | Verification failed |
Plan Limits
| Plan | Max Domains |
|---|---|
| Free | 1 |
| Starter | 5 |
| Professional | 25 |
| Enterprise | Unlimited |