List email domains

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Lists the app's email domains and where each one is in setup.

An app with no email set up returns an empty list rather than a 404, so this is the safe endpoint to poll while a domain verifies.

You normally get one domain. You get two while a replacement is in flight, the old one still sending and the new one still verifying. Domains you removed are left out.

Every row repeats the same id, which identifies the app's email configuration rather than the individual domain. Tell rows apart by domain, and pass that value to the endpoints that take a domain parameter.

<Note>configuration_status moves through pending_dns_configuration, pending_user_dns_configuration, pending_domain_verification and then active. The three failed_ values mean setup stopped and you can retry with Retry email domain setup. Only active sends mail.</Note>

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

get/api/apps/{app_id}/custom-email-domains

Path parameters

app_idstring required

ID of the app whose email domains you want to work with.

ID of the app whose email domains you want to work with.

Response

The app's email domains. Empty when none are set up.

Example response

{
  "email_domains": [
    {
      "configuration_status": "active",
      "dns_records": [],
      "domain": "example.com",
      "enabled_at": "2026-08-20T16:31:00Z",
      "external": true,
      "from_email": "no-reply@example.com",
      "id": "68b1c0d4e7b91d003c45a1f2",
      "sender_name": "Nordwind Furniture"
    }
  ]
}

Changes

Changed in 2 of the 11 revisions of this API.2