# AgentMail Create Domain

> AgentMail Create Domain is a paid API for AI agents from AgentMail at mpp.api.agentmail.to, paid per call via MPP, $10/call, status unknown (last checked 2026-10-12).

Registers a new email domain with AgentMail and returns DNS records required for verification

## Facts

- Endpoint: POST https://mpp.api.agentmail.to/v0/domains?utm_source=zero.xyz
- Price: $10/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 3
- Provider: AgentMail
- Docs: https://docs.agentmail.to
- Website: https://agentmail.to
- Tags: email, inboxes, domains, drafts, threads, webhooks, messaging, ai, social
- Canonical page: https://www.zero.xyz/c/agentmail-domains-11e156ac
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CmQ6QOULt_htDNKzISxGL

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agentmail-domains-11e156ac -d '<json body>'
```

Example prompt: Set up mycompany.com as an email domain in AgentMail with bounce and complaint feedback notifications enabled, so I can create agent inboxes under that domain.

## When to prefer this

Use this endpoint when you need to register a custom domain within AgentMail so that AI agents can send and receive emails using addresses on that domain. This is the first step before creating inboxes under a custom domain. It is the right choice when the user owns the domain and is prepared to add DNS records for verification.

## Known failure modes

- Domain already registered — returns conflict error
- Invalid domain name format — validation error on 'domain' field
- Missing required fields (domain or feedback_enabled) — 400 Bad Request
- Unauthorized — missing or invalid Bearer token returns 401
- Domain name contains unsupported characters or TLD — validation failure

## How this service works

Create Domain

## Output

Returns a Domain object containing a domain_id, verification status (e.g. NOT_STARTED, PENDING, VERIFIED), a list of required DNS records (TXT, CNAME, MX) with their names, values, and current validation status, plus timestamps for creation and last update. Also includes client_id and pod_id for internal tracking.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "CreateDomainRequest",
 "required": [
  "domain",
  "feedback_enabled"
 ],
 "properties": {
  "domain": {
   "type": "string",
   "title": "DomainName",
   "description": "The name of the domain. (e.g., \"example.com\")"
  },
  "feedback_enabled": {
   "type": "boolean",
   "title": "FeedbackEnabled",
   "description": "Bounce and complaint notifications are sent to your inboxes."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "Domain",
 "required": [
  "domain_id",
  "status",
  "feedback_enabled",
  "records",
  "updated_at",
  "created_at"
 ],
 "properties": {
  "pod_id": {
   "type": "string",
   "title": "PodId",
   "description": "ID of pod."
  },
  "status": {
   "enum": [
    "NOT_STARTED",
    "PENDING",
    "INVALID",
    "FAILED",
    "VERIFYING",
    "VERIFIED"
   ],
   "type": "string",
   "title": "VerificationStatus"
  },
  "records": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "VerificationRecord",
    "required": [
     "type",
     "name",
     "value",
     "status"
    ],
    "properties": {
     "name": {
      "type": "string",
      "description": "The name or host of the record."
     },
     "type": {
      "enum": [
       "TXT",
       "CNAME",
       "MX"
      ],
      "type": "string",
      "title": "RecordType"
     },
     "value": {
      "type": "string",
      "description": "The value of the record."
     },
     "status": {
      "enum": [
       "MISSING",
       "INVALID",
       "VALID"
      ],
      "type": "string",
      "title": "RecordStatus"
     },
     "priority": {
      "type": "integer",
      "description": "The priority of the MX record."
     }
    }
   },
   "description": "A list of DNS records required to verify the domain."
  },
  "client_id": {
   "type": "string",
   "title": "ClientId",
   "description": "Client ID of domain."
  },
  "domain_id": {
   "type": "string",
   "title": "DomainId",
   "description": "The name of the domain. (e.g., \" your-domain.com\")"
  },
  "created_at": {
   "type": "string",
   "format": "date-time",
   "description": "Time at which the domain was created."
  },
  "updated_at": {
   "type": "string",
   "format": "date-time",
   "description": "Time at which the domain was last updated."
  },
  "feedback_enabled": {
   "type": "boolean",
   "title": "FeedbackEnabled",
   "description": "Bounce and complaint notifications are sent to your inboxes."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentmail-domains-11e156ac/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mpp.api.agentmail.to](https://www.zero.xyz/host/mpp.api.agentmail.to/llms.txt)
