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

# Get a domain

`GET /v1/domains/{id}`

## Request

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

One domain: its verification state and the full DNS record set.

This is the endpoint to poll while a new domain propagates. On Amazon SES the status flips to `verified` once SES accepts the DKIM records; SES re-checks every five minutes for up to 72 hours and then marks the domain `failed`, so a domain stuck in `pending` past that window needs its records re-published, not more waiting.

## Path parameters

- `id` string, required

## Response `200`

The domain with its DNS records.

- Domain: A sending domain. On Amazon SES, `status` becomes `verified` once SES accepts the DKIM TXT record — publish all four records and poll this endpoint (or `POST /v1/domains/{id}/verify`) until then; SES is re-checked every 5 minutes for up to 72 hours, after which the domain is marked `failed`. On other providers `status` becomes `verified` once the ownership and SPF records pass.
  - `domainId` string, required
  - `projectId` string
  - `domain` string, required
  - `status` 'pending' | 'verified' | 'failed', required
  - `dkimStatus` 'pending' | 'verified' | 'failed' | 'not_applicable'
  - `spfStatus` 'pending' | 'verified' | 'failed'
  - `dmarcStatus` 'pending' | 'verified' | 'failed'
  - `trackingStatus` 'pending' | 'verified' | 'failed'
  - `mailFromStatus` 'pending' | 'verified' | 'failed' | 'not_applicable': Custom MAIL FROM subdomain (`bounce.<domain>`) — carries the bounce path and lets DMARC align SPF.
  - `mailFromDomain` string, nullable
  - `selector` string, nullable: DKIM selector published at `<selector>._domainkey.<domain>`.
  - `verifiedForSending` boolean: Whether the provider will currently accept mail from this domain.
  - `dkimTokens` string[]: Legacy SES Easy DKIM CNAME tokens. Empty for domains onboarded with BYODKIM, which publish a single TXT record instead.
  - `verificationToken` string, nullable
  - `lastCheckedAt` string, date-time, nullable
  - `createdAt` string, date-time, required
  - `dnsRecords` DnsRecord[], required: The DNS records to install.
    - `purpose` 'ownership' | 'dkim' | 'spf' | 'dmarc' | 'tracking' | 'mailfrom', required
    - `type` 'TXT' | 'CNAME' | 'MX', required
    - `host` string, required
    - `value` string, required
    - `status` 'pending' | 'verified' | 'failed' | 'not_applicable', required

## Other responses

- `401`: Missing or invalid API key.
- `404`: Not found.
- `422`: Request validation failed (code `validation_error`, 422).

---

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