New: the MailCraft MCP server is live — connect your AI agent in one line. Connect your agent →
API reference

Domains

Sending domains, verified through SPF, DKIM, and DMARC DNS records.

Create a domain

Registers a new sending domain and returns the SPF, DKIM, and DMARC DNS records to add before it can send.

POST
/domains

Authorizations

Authorization
string
header
required

API key for your workspace, scoped to domains:manage. Pass it as a Bearer token in the Authorization header.

Body · application/json

name
string
region
string
Create a domain
curl https://api.mailcraft.host/v1/domains \
  -X POST \
  -H 'Authorization: Bearer sk_live_...' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "yourdomain.com", "region": "us-east-1" }'
{
  "data": {
    "id": 1,
    "name": "yourdomain.com",
    "region": "us-east-1",
    "status": "pending",
    "is_default": false,
    "click_tracking_enabled": true,
    "open_tracking_enabled": true,
    "dns_records": [
      { "type": "TXT", "name": "yourdomain.com", "value": "v=spf1 include:amazonses.com ~all" },
      { "type": "CNAME", "name": "abc123._domainkey.yourdomain.com", "value": "abc123.dkim.amazonses.com" },
      { "type": "CNAME", "name": "def456._domainkey.yourdomain.com", "value": "def456.dkim.amazonses.com" },
      { "type": "CNAME", "name": "ghi789._domainkey.yourdomain.com", "value": "ghi789.dkim.amazonses.com" },
      { "type": "TXT", "name": "_dmarc.yourdomain.com", "value": "v=DMARC1; p=none;" }
    ],
    "dkim_verified_at": null,
    "created_at": "2026-09-22T14:10:00.000000Z"
  }
}

List domains

Returns every sending domain in the workspace and its verification status.

GET
/domains

Authorizations

Authorization
string
header
required

API key for your workspace, scoped to domains:manage. Pass it as a Bearer token in the Authorization header.

List domains
curl https://api.mailcraft.host/v1/domains \
  -H 'Authorization: Bearer sk_live_...'
{
  "data": [
    { "id": 1, "name": "yourdomain.com", "status": "verified", "is_default": true }
  ]
}

Get a domain

Fetches a single domain, including its current DNS verification status.

GET
/domains/{domain}

Authorizations

Authorization
string
header
required

API key for your workspace, scoped to domains:manage. Pass it as a Bearer token in the Authorization header.

Get a domain
curl https://api.mailcraft.host/v1/domains/1 \
  -H 'Authorization: Bearer sk_live_...'
{
  "data": {
    "id": 1,
    "name": "yourdomain.com",
    "region": "us-east-1",
    "status": "verified",
    "is_default": true,
    "click_tracking_enabled": true,
    "open_tracking_enabled": true,
    "dkim_verified_at": "2026-09-22T15:02:00.000000Z",
    "created_at": "2026-09-22T14:10:00.000000Z"
  }
}

Re-check domain verification

Re-checks DKIM/SPF/DMARC DNS records against SES. Call this after adding the DNS records returned when the domain was created.

POST
/domains/{domain}/verify

Authorizations

Authorization
string
header
required

API key for your workspace, scoped to domains:manage. Pass it as a Bearer token in the Authorization header.

Re-check domain verification
curl https://api.mailcraft.host/v1/domains/1/verify \
  -X POST \
  -H 'Authorization: Bearer sk_live_...'
{
  "data": {
    "id": 1,
    "name": "yourdomain.com",
    "status": "verified",
    "dkim_verified_at": "2026-09-22T15:02:00.000000Z"
  }
}

Delete a domain

DELETE
/domains/{domain}

Authorizations

Authorization
string
header
required

API key for your workspace, scoped to domains:manage. Pass it as a Bearer token in the Authorization header.

Delete a domain
curl https://api.mailcraft.host/v1/domains/1 \
  -X DELETE \
  -H 'Authorization: Bearer sk_live_...'
(empty body)