---
title: "Start email verification"
method: POST
path: "/api/v1/me/domains/{id}/verify-email"
tags: ["Domains"]
---

# Start email verification

`POST /api/v1/me/domains/{id}/verify-email`

## Request

- Base URL: `https://api.proof.holdings`
- URL: `https://api.proof.holdings/api/v1/me/domains/{id}/verify-email`
- Auth: API key in cookie `auth_token`

Start corporate email verification for a domain (admin@, webmaster@, etc.). For a VERIFIED domain whose proof has expired or expires within 30 days, mails a renewal code without changing the domain's status or method; confirming it renews the proof.

## Path parameters

- `id` string, required: MongoDB ObjectId

## Request body

- StartEmailVerificationRequest: Request body for starting email-based domain verification
  - `email_prefix` 'admin' | 'administrator' | 'webmaster' | 'hostmaster' | 'postmaster': Corporate email prefix to use

## Response `200`

Verification email sent

- SuccessResponse: Generic success response
  - `success` boolean, required
  - `message` string

## Other responses

- `400`: Validation error
- `409`: `proof_revoked` or `proof_suspended` — no renewal code is sent for a revoked or paused proof
- `503`: `domain_proof_status_unavailable` — the proof state could not be read; `domain_renewal_unavailable` — the registry could not be read for a due renewal. Both retryable.

---

[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)
