---
title: "Start domain verification"
method: POST
path: "/api/v1/verifications/domain"
tags: ["Verifications"]
---

# Start domain verification

`POST /api/v1/verifications/domain`

## Request

- Base URL: `https://api.proof.holdings`
- URL: `https://api.proof.holdings/api/v1/verifications/domain`
- Auth: HTTP bearer

Start a B2B domain verification. Returns DNS TXT record and HTTP file instructions for the domain owner to complete verification. Automatically detects the DNS provider.

## Request body

- StartDomainVerificationRequest: Request body for starting B2B domain verification
  - `domain` string, required: Domain to verify
  - `customer_id` string: Optional customer identifier
  - `verification_method` 'manual_dns' | 'http_file': Verification method (default: manual_dns)

## Response `201`

Domain verification started

- DomainVerificationResponse: Domain verification initiation response
  - `id` string, required: MongoDB ObjectId
  - `domain` string, required
  - `status` 'pending' | 'verified', required
  - `verification_method` string, required
  - `dns_record` object, required
    - `type` 'TXT', required
    - `name` string, required
    - `value` string, required
  - `http_file` object, required
    - `path` string, required
    - `content` string, required
  - `provider` object, required
    - `detected` string, required
    - `name` string, required

## Other responses

- `400`: Validation error
- `402`: card_required. Only once billing is live: a free account with no card on file that has used its included proofs and the 50-proof grace this month is refused new proof requests until a card is added (add_card_url). Proofs already issued keep working. The error carries add_card_url, used, included and hard_limit.
- `403`: `account_key_required` — this API key is bound to one sub-account; account-level changes need an account-wide key or the dashboard.
- `409`: `domain_revoking` — the domain's revocation cascade is running (h-implement-proper-deletion, DOM-1); nothing is minted for it — retry in a moment

---

[API](https://skmtc.dev/proof/apis/proof-holdings-api.md) · [All operations](https://skmtc.dev/proof/apis/proof-holdings-api/llms.txt) · [OpenAPI document](https://skmtc.dev/proof/apis/proof-holdings-api/revisions/6b8d61ee354f?raw)
