---
title: "Verify a domain"
method: POST
path: "/v1/domains/{domainId}/verify"
tags: ["Domains"]
---

# Verify a domain

`POST /v1/domains/{domainId}/verify`

Re-checks the DNS records with the provider and refreshes the row. Empty body. Safe to poll — keep calling until `sendable: true` (DNS propagation can take minutes to hours). Returns the bare refreshed row.

## Path parameters

- `domainId` string, required — Domain id (opaque Convex document id) returned by `POST /v1/domains` and listed by `GET /v1/domains`.

## Headers

- `Idempotency-Key` string

## Response `200`

The refreshed domain row.

- Domain
  - `domainId` string, required
  - `domainUrl` string, uri, required
  - `name` string, required
  - `region` string, required
  - `status` 'not_started' | 'pending' | 'verified' | 'failed' | 'temporary_failure' | 'partially_verified' | 'partially_failed', required
  - `sendingEnabled` boolean, required
  - `sendable` boolean, required
  - `records` object[], required
    - `record` string, required
    - `name` string, required
    - `type` string, required
    - `ttl` string, required
    - `status` string, required
    - `value` string, required
    - `priority` number
  - `openTracking` boolean
  - `clickTracking` boolean
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `verifiedAt` string, date-time

## Other responses

- `401` — The API key was missing, invalid, or revoked.
- `403` — The caller does not have the required `domains` permission.
- `404` — Domain not found in the API-key brand. Cross-brand ids intentionally surface as 404 (never 403) so the API does not leak cross-brand existence.
- `409` — The same `Idempotency-Key` was reused with a different request body.
- `429` — The request hit the rolling rate limit window.
- `500` — Unexpected internal error.

---

[API](https://skmtc.net/brew/apis/brew-public-api-v1.md) · [All operations](https://skmtc.net/brew/apis/brew-public-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/brew/brew-public-api-v1/versions/db96cfedc6c5/schema)
