Get a domain

GET/v1/domains/{id}

Secret key — sk_… or sk_test_… · Base URL https://api.volanea.com

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

  • idstringrequired

    Domain id.

Response

200 · Domain

  • domainIdstringrequired
  • projectIdstring
  • domainstringrequired
  • statusenumrequired
    pendingverifiedfailed
  • dkimStatusenum
    pendingverifiedfailednot_applicable
  • spfStatusenum
    pendingverifiedfailed
  • dmarcStatusenum
    pendingverifiedfailed
  • trackingStatusenum
    pendingverifiedfailed
  • mailFromStatusenum

    Custom MAIL FROM subdomain (`bounce.<domain>`) — carries the bounce path and lets DMARC align SPF.

    pendingverifiedfailednot_applicable
  • mailFromDomainstring | null
  • selectorstring | null

    DKIM selector published at `<selector>._domainkey.<domain>`.

  • verifiedForSendingboolean

    Whether the provider will currently accept mail from this domain.

  • dkimTokensstring[]

    Legacy SES Easy DKIM CNAME tokens. Empty for domains onboarded with BYODKIM, which publish a single TXT record instead.

  • verificationTokenstring | null
  • lastCheckedAtstring | null
  • createdAtdate-timerequired
  • dnsRecordsobject[]required

    The DNS records to install.

    • purposeenumrequired
      ownershipdkimspfdmarctrackingmailfrom
    • typeenumrequired
      TXTCNAMEMX
    • hoststringrequired
    • valuestringrequired
    • statusenumrequired
      pendingverifiedfailednot_applicable

Errors

Every failure returns the standard envelope — branch on `code`, never on the wording of `error`.

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

Request

curl https://api.volanea.com/v1/domains/id_123 \
  -H "Authorization: Bearer sk_..."

Response

200 · application/json

{
  "success": true,
  "data": {
    "domainId": "<domainId>",
    "projectId": "<projectId>",
    "domain": "<domain>",
    "status": "pending",
    "dkimStatus": "pending",
    "spfStatus": "pending",
    "dmarcStatus": "pending",
    "trackingStatus": "pending",
    "mailFromStatus": "pending",
    "mailFromDomain": "<mailFromDomain>",
    "selector": "<selector>",
    "verifiedForSending": true,
    "dkimTokens": [
      "<dkimTokens>"
    ],
    "verificationToken": "<verificationToken>",
    "lastCheckedAt": "2026-01-01T09:00:00.000Z",
    "createdAt": "2026-01-01T09:00:00.000Z",
    "dnsRecords": [
      {
        "purpose": "ownership",
        "type": "TXT",
        "host": "<host>",
        "value": "<value>",
        "status": "pending"
      }
    ]
  }
}

92 endpoints · OpenAPI document