Get a validation result
Fetch the verdict of an asynchronous verification.
Fetches a single verification by the verification_id returned from POST /v3/validate. While the probe is still running the response carries result: "unknown" with sub_status: "queued" — poll until sub_status changes.
GET /v3/validate/{id}
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | uuid | Required | The verification_id returned by POST /v3/validate. |
Response fields
| Parameter | Type | Required | Description |
|---|---|---|---|
result | string | Optional | valid, invalid, catch_all, unknown, spamtrap, abuse or do_not_mail. See Results & statuses. |
is_valid | boolean | Optional | true when the result is valid or catch_all. |
recommendation · confidence · risk | verdict metadata | Optional | Suggested action (mail/caution/suppress/review), 0–1 confidence, and the derived risk band (low/medium/high/undeliverable). |
domain details | object fields | Optional | domain, mx_provider, mx_record, mx_found, is_catch_all, smtp_check, domain_age_days. |
address flags | booleans | Optional | is_disposable, is_role_address, is_free_provider, plus did_you_mean typo suggestions. |
Responses
| Status | Description |
|---|---|
200 | OK. The full verification object described above. |
401 | Missing or invalid API key. |
404 | No verification with that id on your account. |
Code examples
cURL
curl https://api.wemail.io/v3/validate/{id} \
-H "Authorization: Bearer afn_live_…"Node.js
const res = await fetch("https://api.wemail.io/v3/validate/{id}", {
headers: {
Authorization: `Bearer ${process.env.WEMAIL_API_KEY}`,
},
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://api.wemail.io/v3/validate/{id}",
headers={"Authorization": f"Bearer {os.environ['WEMAIL_API_KEY']}"},
)
data = r.json()