List domains
List the sending domains of your wemail account with their verification state, SPF, DKIM and DMARC status and DNS records — the address space you send from.
A domain is the address space you send from — typically a subdomain like mail.acme.io. Domains carry SPF, DKIM, DMARC and tracking configuration. This endpoint lists every domain with its verification state.
How domains work
A verified domain is what lets wemail sign your mail. Add it, publish the SPF, DKIM and DMARC records returned by POST /v3/domains, then verify with PUT /v3/domains/{name}/verify; until then the domain can only be used with test keys. The same domain may be verified in more than one workspace of your organisation, and each domain carries its own tracking settings — branded tracking domain, open and click tracking, one-click unsubscribe — that override the account defaults. DKIM keys can be rotated without downtime from the DKIM keys page.
Endpoints in this section
GET /v3/domains lists domains (this page). POST /v3/domains adds one and returns its DNS records. GET /v3/domains/{name} reads a single domain with per-record status. PUT /v3/domains/{name}/verify runs a verification pass. DELETE /v3/domains/{name} removes a domain. IP inventory and pools — GET /v3/ips, GET /v3/pools, POST /v3/pools, PATCH /v3/pools/{id} — live in the same section because routing is decided per domain and pool.
GET /v3/domains
Responses
| Status | Description |
|---|---|
200 | OK. { items, total_count } — each domain with its verification status, SPF/DKIM/DMARC flags, DNS records and sent count. |
401 | Missing or invalid API key. |
Code examples
curl https://api.wemail.io/v3/domains \
-H "Authorization: Bearer afn_live_…"const res = await fetch("https://api.wemail.io/v3/domains", {
headers: {
Authorization: `Bearer ${process.env.WEMAIL_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://api.wemail.io/v3/domains",
headers={"Authorization": f"Bearer {os.environ['WEMAIL_API_KEY']}"},
)
data = r.json()