> ## Documentation Index
> Fetch the complete documentation index at: https://agentmail.manicule.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For every page in one file, fetch https://agentmail.manicule.dev/llms-full.txt (large).
> To search and read these docs as tools, connect the MCP server at https://agentmail.manicule.dev/api/mcp.
> Every agent surface: https://agentmail.manicule.dev/.well-known/llms-manifest.json

# Get Domain (/api-reference/get-domain)

<!-- agent-signals: reading_time_min: 3 · est_tokens: 2046 · updated: 2026-09-29 -->
Related: [Sign Up](/api-reference/sign-up.md), [Attach Human](/api-reference/attach-human.md), [Verify](/api-reference/verify.md), [List Inboxes](/api-reference/list-inboxes.md), [Create Inbox](/api-reference/create-inbox.md), [Search Inboxes](/api-reference/search-inboxes.md)

# Get Domain

`GET /v0/domains/{domain_id}`

> **CLI:**
> ```bash
> agentmail domains get --domain-id <domain_id>
> ```

Base URL: `https://api.agentmail.to`

Base URL: `https://x402.api.agentmail.to`

Base URL: `https://mpp.api.agentmail.to`

Base URL: `https://api.agentmail.eu`

## OpenAPI

```json
{
  "servers": [
    {
      "url": "https://api.agentmail.to",
      "description": "prod"
    },
    {
      "url": "https://x402.api.agentmail.to",
      "description": "prod-x402"
    },
    {
      "url": "https://mpp.api.agentmail.to",
      "description": "prod-mpp"
    },
    {
      "url": "https://api.agentmail.eu",
      "description": "eu-prod"
    }
  ],
  "security": [
    {
      "Bearer": []
    }
  ],
  "securitySchemes": {
    "Bearer": {
      "type": "http",
      "scheme": "bearer"
    }
  },
  "parameters": [
    {
      "name": "domain_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "description": "The ID of the domain.",
        "title": "DomainId"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Response with status 200",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "pod_id": {
                "type": "string",
                "description": "ID of pod.",
                "title": "PodId"
              },
              "domain_id": {
                "type": "string",
                "description": "The ID of the domain.",
                "title": "DomainId"
              },
              "domain": {
                "type": "string",
                "description": "The name of the domain (e.g., `example.com`).",
                "title": "DomainName"
              },
              "status": {
                "type": "string",
                "enum": [
                  "NOT_STARTED",
                  "PENDING",
                  "INVALID",
                  "FAILED",
                  "VERIFYING",
                  "VERIFIED"
                ],
                "title": "VerificationStatus"
              },
              "reason": {
                "type": "string",
                "description": "Why the domain is not (yet) VERIFIED, when known. `dns_records_missing` / `dns_records_invalid` point at the DNS records. The `ses_*` values mean the records look right and sending-infrastructure validation has not converged: `ses_dkim_pending` / `ses_mail_from_pending` (still checking), `ses_dkim_temporary_failure` / `ses_mail_from_temporary_failure` (a transient error the infrastructure keeps retrying on its own — usually resolves without changes), `ses_dkim_failed` / `ses_mail_from_failed` (a terminal verdict; re-verify after fixing), `ses_dkim_not_started` / `ses_mail_from_not_started` (the attribute was never configured on the identity — re-verify to push it), and `ses_not_verified_for_sending`. Absent when VERIFIED."
              },
              "feedback_enabled": {
                "type": "boolean",
                "description": "Bounce and complaint notifications are sent to your inboxes.",
                "title": "FeedbackEnabled"
              },
              "subdomains_enabled": {
                "type": "boolean",
                "description": "Allow inboxes on any subdomain of this domain. Adds a required wildcard MX\nrecord (`*.<domain>`) to `records`.",
                "title": "SubdomainsEnabled"
              },
              "tracking_enabled": {
                "type": "boolean",
                "description": "Serve open tracking pixels from this domain. Adds a required `link.<domain>`\nCNAME record to `records`, which must be published and verified before\n`track_opens` can be used on a send.",
                "title": "TrackingEnabled"
              },
              "records": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TXT",
                        "CNAME",
                        "MX"
                      ],
                      "title": "RecordType"
                    },
                    "name": {
                      "type": "string",
                      "description": "The name or host of the record."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value of the record."
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "MISSING",
                        "INVALID",
                        "VALID"
                      ],
                      "title": "RecordStatus"
                    },
                    "priority": {
                      "type": "integer",
                      "description": "The priority of the MX record."
                    },
                    "reason": {
                      "type": "string",
                      "description": "Why the record is INVALID, when known. `duplicate_records` means the expected value is present but extra records coexist at the same name; `value_mismatch` means a record exists but does not match the expected value."
                    }
                  },
                  "required": [
                    "type",
                    "name",
                    "value",
                    "status"
                  ],
                  "title": "VerificationRecord"
                },
                "description": "A list of DNS records required to verify the domain. Includes a\nwildcard MX record (`*.<domain>`) when `subdomains_enabled` is true."
              },
              "client_id": {
                "type": "string",
                "description": "Client ID of domain.",
                "title": "ClientId"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time at which the domain was last updated."
              },
              "created_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time at which the domain was created."
              }
            },
            "required": [
              "domain_id",
              "domain",
              "status",
              "feedback_enabled",
              "subdomains_enabled",
              "tracking_enabled",
              "records",
              "updated_at",
              "created_at"
            ],
            "title": "Domain"
          }
        }
      }
    },
    "404": {
      "description": "Error response with status 404",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of error.",
                "title": "ErrorName"
              },
              "code": {
                "type": "string",
                "description": "Stable, machine-readable error code in snake_case (for example, not_found or missing_permission). Branch on this rather than the message text.",
                "title": "ErrorCode"
              },
              "message": {
                "type": "string",
                "description": "Error message.",
                "title": "ErrorMessage"
              },
              "fix": {
                "type": "string",
                "description": "The concrete next action that resolves the error.",
                "title": "ErrorFix"
              },
              "docs": {
                "type": "string",
                "description": "Link to the error reference entry for this code.",
                "title": "ErrorDocs"
              }
            },
            "required": [
              "name",
              "message"
            ],
            "title": "ErrorResponse"
          }
        }
      }
    }
  }
}
```
