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

# Domains

> Verify ownership of the domains you send email from

Email deliverability depends on proving to receiving mail servers that you control the domain in your `from` address. Pulsewave does this with standard DNS-based authentication (DKIM and a return-path `CNAME`) — you publish a few DNS records once, and every message sent from that domain is signed automatically.

<Note>
  Domains apply only to the `email` channel. SMS and push don't have an equivalent concept — your `from` number or push credentials are configured separately in your account settings.
</Note>

## Adding a domain

```bash theme={null}
curl -X POST https://api.pulsewave.dev/v1/domains \
  -H "Authorization: Bearer pw_live_8f2k9q3m1n7r5t6y4u2i0o8p" \
  -d '{ "name": "notifications.acme.com" }'
```

The response includes the DNS records to publish:

```json theme={null}
{
  "id": "dom_2x9k1p",
  "name": "notifications.acme.com",
  "status": "pending",
  "dns_records": [
    { "type": "TXT", "host": "pw._domainkey.notifications.acme.com", "value": "v=DKIM1; k=rsa; p=MIGfMA0..." },
    { "type": "CNAME", "host": "pwreturn.notifications.acme.com", "value": "return.pulsewave.dev" }
  ]
}
```

## Verifying

After publishing the records with your DNS provider, call [Verify a domain](/api-reference/domains/verify), or just wait — Pulsewave checks automatically every few minutes. The domain's `status` moves from `pending` to `verified` once all records resolve correctly, or to `failed` if verification doesn't succeed within 72 hours.

Subscribe to [`domain.verified`](/api-reference/webhook-events/domain-verified) instead of polling if you're verifying domains as part of an onboarding flow.

## Sending before verification

Messages sent with a `from` address on a `pending` domain are still accepted and delivered, but without DKIM signing — expect lower deliverability and a higher chance of landing in spam until verification completes. Pulsewave does not block sends from unverified domains, only warns.
