Domains
Add sending domains, fetch their DNS records, and trigger verification. Dashboard-session endpoints.
Add a domain
POST /domains
| Field | Type | Description |
|---|---|---|
| namerequired | string | The domain, e.g. acme.com. |
| region | string | Sending region: us-west-2 (default), us-east-1, or eu-west-1. Delivery/bounce event feedback currently flows for us-west-2 domains; other regions send without it until their event pipeline is provisioned. |
Response (abridged)
{
"id": "dom_...", "name": "acme.com", "status": "pending",
"records": [
{"record": "Verification", "type": "TXT", "host": "_sendibl.acme.com", "value": "sendibl-verify=..."},
{"record": "DKIM 1..3", "type": "CNAME","host": "<token>._domainkey.acme.com", "value": "<token>.dkim.amazonses.com"},
{"record": "SPF", "type": "TXT", "host": "send.acme.com", "value": "v=spf1 include:amazonses.com ~all"},
{"record": "MX", "type": "MX", "host": "send.acme.com", "value": "feedback-smtp.us-west-2.amazonses.com", "priority": 10}
]
}List / retrieve
GET /domains
GET /domains/:id
Verify
POST /domains/:id/verify
Checks the ownership TXT and DKIM state; the response includes a checksobject with each probe's result. Safe to call repeatedly while DNS propagates.
Auto-configure DNS (Cloudflare)
POST /domains/:id/autoconfigure
| Field | Type | Description |
|---|---|---|
| cloudflare_api_tokenrequired | string | Token scoped to Zone:Read + DNS:Edit. Used for this request only — never stored. |
Creates every required record in the domain's Cloudflare zone. Records that already exist with identical values report already_exists.
Update tracking settings
PATCH /domains/:id
{"open_tracking": true, "click_tracking": false}Delete
DELETE /domains/:id
See the Domains guide for DNS gotchas — especially the two most common panel mistakes.