Add a domain

Add a sending domain with the wemail API and receive the SPF, DKIM and DMARC records to publish. Verify once DNS has propagated to unlock production sending.

Registers the domain and returns the SPF/DKIM/DMARC records to publish. Verify with PUT /v3/domains/{name}/verify once DNS has propagated.

POST /v3/domains

Body parameters

ParameterTypeRequiredDescription
domainstringRequiredOnly count events whose message was sent from this domain.

Responses

StatusDescription
201Created. The domain object with status: "pending" and the dns_records to publish (all ok: false until verified). Re-POSTing a domain you already registered returns the existing record instead of an error.
400The value isn't a valid domain name.
403Your plan's domain allowance is used up — upgrade for unlimited domains.

Code examples

cURL
curl -X POST https://api.wemail.io/v3/domains \
  -H "Authorization: Bearer afn_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "domain": "mail.acme.io" }'
Node.js
await wemail.domains.create({ domain: "mail.acme.io" });
Python
wemail.domains.create(domain="mail.acme.io")
PHP
$wemail->domains->create(['domain' => 'mail.acme.io']);
Ruby
wemail.domains.create(domain: "mail.acme.io")
Go
client.Domains.Create(ctx, &wemail.DomainParams{Domain: "mail.acme.io"})
Java
wemail.domains().create("mail.acme.io");
.NET
await wemail.Domains.CreateAsync(new DomainParams { Domain = "mail.acme.io" });
ResponseExample response
{
  "id": "dom_01HCXV5Z…",
  "domain": "mail.acme.io",
  "status": "pending",
  "spf": false,
  "dkim": false,
  "dmarc": false,
  "dkim_selector": "afn8kq2x1w9",
  "tracking_subdomain": "track.mail.acme.io",
  "dns_records": [
    { "type": "CNAME", "host": "afn8kq2x1w9._domainkey.mail.acme.io", "value": "afn8kq2x1w9.dkim.wemail.io", "ok": false },
    { "type": "TXT",   "host": "mail.acme.io",                        "value": "v=spf1 include:wemail.io ~all", "ok": false },
    { "type": "CNAME", "host": "track.mail.acme.io",                  "value": "track.wetik.io", "ok": false },
    { "type": "TXT",   "host": "_dmarc.mail.acme.io",                 "value": "v=DMARC1; p=none;", "ok": false }
  ],
  "sent_count": 0,
  "reputation": null,
  "created_at": "2026-05-10T09:42:18Z",
  "verified_at": null
}