---
title: "Retrieve an email sender domain"
method: GET
path: "/email-domains/{id}"
tags: ["Domains"]
---

# Retrieve an email sender domain

`GET /email-domains/{id}`

## Request

- Base URL: `https://api.cavuno.com/v1`
- URL: `https://api.cavuno.com/v1/email-domains/{id}`
- Auth: HTTP bearer

Returns the sender domain with its current status and the DNS records to publish, as of the last check.

## Path parameters

- `id` string, required: The email domain ID.

## Response `200`

Successful response.

- EmailDomain
  - `id` string, required
  - `object` 'email_domain', required
  - `domain` string, required: The sending hostname.
  - `status` 'pending' | 'verified' | 'failed', required: `pending` until the required DNS records verify, `verified` once board email sends from this domain, `failed` when the last check found a problem (see `statusReason`; publish or fix the records and verify again).
  - `senderName` string, required
  - `senderLocalPart` string, required
  - `senderAddress` string, required: The From address once the domain is verified.
  - `dnsRecords` EmailDomainDnsRecord[], required: Records to publish at the domain’s DNS provider. Empty while the domain is still being set up with the email provider; call verify to retry.
    - `purpose` 'dkim' | 'return_path' | 'dmarc', required: `dkim` signs outgoing mail, `return_path` receives bounces and complaints, `dmarc` is an optional policy record.
    - `type` string, required: DNS record type, for example `CNAME` or `TXT`.
    - `name` string, required: Host to create the record on, relative to the DNS zone the domain lives in (`@` is the zone itself), as most DNS providers expect it typed.
    - `value` string, required: Exact value to publish.
    - `ttl` string, required: Suggested TTL. `Auto` means the DNS provider’s default.
    - `required` boolean, required: Whether the domain needs this record to send. DMARC is recommended but optional.
    - `status` string, required: Last check of this record: `pending`, `verified`, or `failed`.
  - `statusReason` 'setup_required' | 'dns_verification_failed', nullable, required: Why the last check failed, when it did. `setup_required`: the domain must be set up with the email provider again; call verify, which re-stages it and returns fresh DNS records. `dns_verification_failed`: the published records do not match yet; check each record’s `status`, fix them and verify again.
  - `verifiedAt` string, nullable, required
  - `lastCheckedAt` string, nullable, required
  - `createdAt` string, required

## Other responses

- `404`: Email domain not found.

## Changes

- **2026-10-19** `c34152c38176`: 1 info
  - added the optional property `error/upgrade` to the response with the `404` status

[Operation history](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/changes/email-domains/:id/get.md)

---

[API](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api.md) · [All operations](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/revisions/d5974dabff14?raw)
