New: the MailCraft MCP server is live โ€” connect your AI agent in one line. Connect your agent โ†’
API reference

Emails

Send transactional email and look up delivery status for previously sent messages.

Health check

Unauthenticated endpoint for uptime monitoring. Always returns 200 while the API is reachable.

GET
/health

Authorizations

None โ€” this endpoint is unauthenticated.

Health check
curl https://api.mailcraft.host/v1/health
{
  "status": "ok",
  "time": "2026-09-22T14:03:11.000000Z"
}

Validate an email address

Checks address format, MX record presence, and whether the domain is a known disposable-email provider.

GET
/emails/validate

Authorizations

Authorization
string
header
required

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

Validate an email address
curl https://api.mailcraft.host/v1/emails/[email protected] \
  -H 'Authorization: Bearer sk_live_...'
{
  "email": "[email protected]",
  "valid": true,
  "checks": {
    "format": true,
    "mx_record": true,
    "disposable": false
  }
}

Send an email

Sends a single transactional email through a verified sender. Requires either `html`, `text`, or both.

POST
/emails

Authorizations

Authorization
string
header
required

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

Body ยท application/json

from
string
to
string[]
subject
string
html
string
tags
string[]
Send an email
curl https://api.mailcraft.host/v1/emails \
  -X POST \
  -H 'Authorization: Bearer sk_live_...' \
  -H 'Content-Type: application/json' \
  -d '{
    "from": "[email protected]",
    "to": ["[email protected]"],
    "subject": "Welcome!",
    "html": "<p>Thanks for signing up.</p>",
    "tags": ["welcome"]
  }'
{
  "data": {
    "id": "01j9x1qz5k8g5e4z1n3s7d9pqm",
    "status": "queued",
    "type": "transactional",
    "source": "api",
    "from": "[email protected]",
    "to": ["[email protected]"],
    "cc": null,
    "bcc": null,
    "reply_to": null,
    "subject": "Welcome!",
    "tags": ["welcome"],
    "message_id": null,
    "error_message": null,
    "open_count": 0,
    "click_count": 0,
    "sent_at": null,
    "delivered_at": null,
    "bounced_at": null,
    "complained_at": null,
    "created_at": "2026-09-22T14:03:11.000000Z"
  }
}

List emails

Cursor-paginated, newest first. Pass `limit` (default 25) and the `next_cursor` from `meta` to page forward.

GET
/emails

Authorizations

Authorization
string
header
required

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

List emails
curl https://api.mailcraft.host/v1/emails?limit=25 \
  -H 'Authorization: Bearer sk_live_...'
{
  "data": [
    {
      "id": "01j9x1qz5k8g5e4z1n3s7d9pqm",
      "status": "delivered",
      "type": "transactional",
      "source": "api",
    "source": "api",
      "from": "[email protected]",
      "to": ["[email protected]"],
      "subject": "Welcome!",
      "open_count": 1,
      "click_count": 0,
      "sent_at": "2026-09-22T14:03:12.000000Z",
      "delivered_at": "2026-09-22T14:03:14.000000Z",
      "created_at": "2026-09-22T14:03:11.000000Z"
    }
  ],
  "links": {
    "first": null,
    "last": null,
    "prev": null,
    "next": "https://api.mailcraft.host/v1/emails?cursor=eyJpZCI6MTIzfQ"
  },
  "meta": {
    "path": "https://api.mailcraft.host/v1/emails",
    "per_page": 25,
    "next_cursor": "eyJpZCI6MTIzfQ",
    "prev_cursor": null
  }
}

Get an email

Looks up the current status, timestamps, and open/click counts for a single sent email by its id.

GET
/emails/{id}

Authorizations

Authorization
string
header
required

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

Get an email
curl https://api.mailcraft.host/v1/emails/01j9x1qz5k8g5e4z1n3s7d9pqm \
  -H 'Authorization: Bearer sk_live_...'
{
  "data": {
    "id": "01j9x1qz5k8g5e4z1n3s7d9pqm",
    "status": "delivered",
    "type": "transactional",
    "source": "api",
    "from": "[email protected]",
    "to": ["[email protected]"],
    "subject": "Welcome!",
    "open_count": 1,
    "click_count": 0,
    "sent_at": "2026-09-22T14:03:12.000000Z",
    "delivered_at": "2026-09-22T14:03:14.000000Z",
    "created_at": "2026-09-22T14:03:11.000000Z"
  }
}