Email Validation
Validate a single email address before sending — syntax, DNS/MX, mailbox existence, role-address, disposable-domain, and random-input checks roll up into a deliverability decision and a confidence score.
Email validation lets you check an address before adding it to a list or sending to it, reducing hard bounces and protecting your sender reputation.
The endpoint runs a battery of checks and returns:
decision— overall deliverability call:deliverable,risky,undeliverable, orunknownconfidence— how sure we are:HIGH,MEDIUM,LOW, orUNKNOWNchecks— per-signal confidence breakdown (validSyntax,validDns,mailboxExists,roleAddress,disposable,randomInput). Each is itself a confidence enum.checksmay benullon a cached result.
Validation requires the sending scope and is billed per validation.
POST
/v1/validateValidate a single email address. Returns a deliverability decision, a confidence score, and a per-signal checks breakdown. Requires the `sending` scope.
Authorizations
Authorizationstring · headerrequired
Bearer authentication header of the form Bearer <token>, where <token> is your API Key.
Body
emailstringrequiredEmail address to validate
POST /v1/validate
curl -X POST https://api.posthawk.dev/v1/validate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_api_key" \
-d '{ "email": "user@example.com" }'Response
{
"success": true,
"email": "user@example.com",
"decision": "deliverable",
"confidence": "HIGH",
"checks": {
"validSyntax": "HIGH",
"validDns": "HIGH",
"mailboxExists": "HIGH",
"roleAddress": "HIGH",
"disposable": "HIGH",
"randomInput": "HIGH"
}
}