Skip to main content
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.
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.

Adding a domain

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:
{
  "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, 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 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.