---
title: "Verify sending domain"
method: POST
path: "/websites/{domain}/verify"
tags: ["Websites"]
---

# Verify sending domain

`POST /websites/{domain}/verify`

Runs a fresh DNS and provider verification and returns normalized aggregate, SPF, DKIM, and MAIL FROM status and diagnostics.

## Path parameters

- `domain` string, required

## Response `200`

Verification completed

- object
  - `success` boolean
  - `website` Website
    - `id` string
    - `domain` string
    - `status` 'not_started' | 'pending' | 'verified' | 'failed' | 'misconfigured' — Stored DNS verification status. This does not imply that a sending transport is ready.
    - `dnsVerified` boolean — Whether the customer DNS records are verified.
    - `readyToSend` boolean — Whether DNS and the selected home transport are both ready.
    - `readiness` object
      - `dnsVerified` boolean
      - `readyToSend` boolean
      - `status` 'setup_required' | 'verifying_dns' | 'activating_transport' | 'ready' | 'blocked'
      - `reason` string, nullable
      - `homeTransport` 'ses' | 'mta'
      - `homeTransportReady` boolean — Whether the selected home transport is fully available. It can be false while readyToSend stays true, when sends are temporarily deferred and retried instead of rejected.
      - `homeSesRegion` string — The single selected SES region for this domain.
    - `message` string — Creation or setup summary when returned by a mutating operation.
    - `dnsRecords` object, nullable
    - `dkim` object — Normalized DKIM type, status, and diagnostics.
    - `spf` object — Normalized SPF status, expected record, and diagnostics.
    - `mailFrom` object — Normalized custom MAIL FROM MX status and diagnostics.
    - `lastVerifiedAt` string, date-time, nullable
    - `nextVerificationAt` string, date-time, nullable
    - `createdAt` string, date-time
  - `verified` boolean — Fresh DNS verification verdict. This does not by itself mean the home transport is ready.
  - `readyToSend` boolean — Whether DNS and the selected home transport are both ready.
  - `message` string
  - `discarded` boolean

## Other responses

- `400` — Verification cannot start because setup is incomplete
- `401` — Unauthorized
- `404` — Domain not found

---

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