Domains

Add sending domains, fetch their DNS records, and trigger verification. Dashboard-session endpoints.

Add a domain

POST /domains

FieldTypeDescription
namerequiredstringThe domain, e.g. acme.com.
regionstringSending 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

FieldTypeDescription
cloudflare_api_tokenrequiredstringToken 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.