---
title: "Get Domain"
method: GET
path: "/domains/{domain}"
tags: ["Domains"]
---

# Get Domain

`GET /domains/{domain}`

## Request

- Base URL: `https://app.lettr.com/api`
- URL: `https://app.lettr.com/api/domains/{domain}`
- Auth: HTTP bearer

Retrieve details of a single sending domain including DNS records and tracking domain configuration.

## Path parameters

- `domain` string, required

## Response `200`

Domain retrieved successfully

- ShowDomainResponse: Response containing a single domain with full details
  - `message` string, required: Human-readable response message
  - `data` DomainDetailView, required: Detailed view of a single domain
    - `domain` string, required: The domain name
    - `status` 'pending' | 'approved' | 'blocked', required: Current status of the domain
    - `status_label` string, required: Human-readable status label
    - `can_send` boolean, required: Whether the domain can be used for sending emails
    - `cname_status` string, nullable: CNAME verification status
    - `dkim_status` string, nullable: DKIM verification status. `null` until the domain has been verified at least once via `POST /domains/{domain}/verify`.
    - `dmarc_status` 'valid' | 'invalid' | 'missing' | 'unverified' | 'null', nullable: DMARC verification status. `null` until the domain has been verified at least once.
    - `spf_status` 'valid' | 'invalid' | 'missing' | 'unverified' | 'null', nullable: SPF verification status. `null` until the domain has been verified at least once.
    - `is_primary_domain` boolean: True when this is a root/apex sending domain (not a subdomain). Primary domains require SPF instead of CNAME delegation.
    - `tracking_domain` string, nullable: Associated tracking domain for click/open tracking
    - `dns` object, nullable: DNS records for domain verification
      - `dkim` object: DKIM DNS record details
        - `selector` string: DKIM selector
        - `public` string: DKIM public key
        - `headers` string: Headers included in DKIM signature
    - `dns_provider` object, nullable: Detected DNS provider for this domain, or `null` if detection hasn't run.
      - `provider` string, required: Machine-readable DNS provider identifier.
      - `provider_label` string, required: Human-readable DNS provider name.
      - `nameservers` string[], required: Nameservers detected for the domain.
      - `error` string, nullable, required: Error message if DNS provider detection failed.
    - `created_at` string, date-time, nullable, required: When the domain was created. Null for legacy records stored without a creation timestamp.
    - `updated_at` string, date-time, nullable, required: When the domain was last updated. Falls back to the creation timestamp, and is null when neither is stored.

## Other responses

- `401`: Unauthorized - Missing or invalid API key
- `404`: Domain not found
- `500`: Server error - Failed to retrieve domain
- `503`: Service unavailable - the API key could not be verified, so the request was not processed. This does not mean the key is invalid; retry after the delay given in the Retry-After header.

---

[API](https://skmtc.dev/lettr/apis/lettr-api.md) · [All operations](https://skmtc.dev/lettr/apis/lettr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lettr/apis/lettr-api/revisions/48ef0dac1ebd?raw)
