eusend
Domains

Domain Setup

Add your own sending domain to sign outbound emails with your DKIM key, improving deliverability and brand trust.

Add your own sending domain to sign outbound emails with your DKIM key, improving deliverability and brand trust. eusend auto-generates a 2048-bit RSA DKIM keypair for your domain.

POST/domains
ParameterTypeDescription
namerequiredstringYour domain name (e.g. acme.com). Must be at least 3 characters.
add domain
curl -X POST https://api.eusend.dev/domains \
  -H "Authorization: Bearer eu_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "name": "acme.com" }'
response — 201 Created
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "acme.com",
  "dkim": {
    "type": "TXT",
    "name": "eusend._domainkey.acme.com",
    "value": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgK..."
  },
  "dmarc": {
    "type": "TXT",
    "name": "_dmarc.acme.com",
    "value": "v=DMARC1; p=none; rua=mailto:dmarc@acme.com"
  }
}

Creating a domain starts checking its DNS for you — eusend polls in the background and flips the domain to verified as soon as your records resolve, so publishing them is usually all you need to do.

POST/domains/:id/verify

Start a fresh check right now. Use it when you published the records late, or corrected them after a failed: eusend re-checks your DNS and updates the domain status to verified or failed.

The rest of the domains surface:

GET/domains

List domains.

GET/domains/:id

Get domain details, including the DNS records to publish and a diagnostic object when a check found something wrong with what is already published — the record sitting under your domain twice because the panel appends it, a key cut off at the 255-character limit for one DNS string, or a DKIM key we did not issue on the same selector. It names the DNS host when your nameservers identify one, and is null whenever the only thing missing is propagation.

response — 200 OK, a record published at the wrong name
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "acme.com",
  "status": "pending",
  "diagnostic": {
    "code": "doubled_domain",
    "foundAt": "eusend._domainkey.acme.com.acme.com",
    "provider": {
      "id": "namecheap",
      "label": "Namecheap",
      "guide": "/docs/domains/registrars/namecheap"
    }
  }
}

See DNS providers for the panel-by-panel instructions the guide path points at.

DELETE/domains/:id

Delete domain.