Domains

Verify a domain now

Requires scope: manage. Re-checks every DNS record and updates per-record + overall status. Each call is an attempt: one that does not pass counts toward failed, 20 in a row mark the domain failed, and the count starts over on success or after a day without a call. Polling is rarely needed. We re-check an unverified domain every 15 minutes and a failed one at least daily, without counting, whatever its age or the workspace's plan, and it verifies at the first check after its records resolve.

post/v1/domains/{id}/verify

Request

  • Base URL: https://api.mails.ai
  • URL: https://api.mails.ai/v1/domains/{id}/verify
  • Auth: HTTP bearer

Path parameters

idstring required

Domain id (dom_…).

Response

The domain with refreshed per-record verification state.

idstring required

Domain id (dom_…).

domainstring required

The custom sending domain, lowercased.

status'pending' | 'verifying' | 'verified' | 'failed' required

pending → records issued; verifying → checks in progress; verified → agents on this domain send under their own identity; failed → 20 verify calls in a row did not pass. Not final: a failed domain is still re-checked automatically (less often the longer it fails, at most a day apart) and verifies by itself once its records resolve; verify still checks at once, and the count starts over on success or after a day without a verify call.

providerstring

Backing sending infrastructure for this domain.

fail_reasonstring nullable

Why the last verification did not pass, when it didn't.

last_check_atstring date-time nullable

When the records were last checked: by a verify call, by the automatic re-checks of unverified domains, or by the daily re-check of verified ones. Null before the first check.

verified_atstring date-time nullable

When the domain first verified. Null until then, and cleared again when the daily re-check of verified domains (06:40 UTC) finds a required record gone.

created_atstring date-time required

When the domain was added (UTC).

Changes

No recorded changes to this operation across all 1 revision of this API.