Skip to the documentation
API

Check a domain now

Checks the domain’s DNS at once and returns it with what the check found. On an unverified domain that is the verification records, and on a verified one the signing records and whether mail from it can be sent. No body.

POST/domains/{id}/verify

Runs the real call against your workspace, with your own key.

POST /domains/{id}/verify

Checks the domain’s DNS at once and returns it with what the check found. On an unverified domain that is the verification records, and on a verified one the signing records and whether mail from it can be sent. No body.

Example

Needs domains:write. A key limited to particular addresses or domains needs to hold the whole domain.

curl
curl -X POST "$OE/domains/b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f/verify" -H "$AUTH"
Response
{  "object": "domain",  "id": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f",  "domain": "acme.com",  "receiving": {    "verified": true,    "verifiedAt": "2026-09-25T10:14:40.000Z",    "catchAll": true,    "lastCheckedAt": "2026-09-25T10:14:40.000Z",    "error": null  },  ...}

A check that ran in the last 10 seconds is not repeated. The call then returns the domain as it stands, so calling it in a tight loop costs nothing and checks nothing new.

DNS changes take time to reach every resolver. A record published a minute ago can read as missing here and found a little later, so a failed check is not a reason to change a correct record.

Your inbox,
on your own terms.

Email infrastructure for businesses, AI, agents and personal email. Built for scale, privacy and control. Everything email should have had from day one.

OpenEmail

Email infrastructure for businesses, AI, agents and personal email. Built for scale, privacy and control. Everything email should have had from day one.

© 2026 OpenEmail. All rights reserved.