The verification object
From the Verify API reference. Requests use the base URL https://app.warmerly.com/api/v1 and an API key, see Authentication.
{
"email": "jane@example.com",
"status": "valid",
"confidence": 95,
"reason": "mailbox_accepts",
"checks": {
"syntax": true,
"mx": ["aspmx.l.google.com"],
"smtpConnectable": true,
"smtpAccepted": true,
"catchAll": false,
"disposable": false,
"roleBased": false,
"freeProvider": false,
"provider": "google",
"didYouMean": null,
"smtpCode": 250,
"smtpMessage": "2.1.5 OK"
},
"durationMs": 812,
"checkedAt": "2026-07-02T10:14:03.000Z",
"cached": false,
"retryable": false
}| Field | Description |
|---|---|
status | One of valid, invalid, risky, catch_all, unknown. |
confidence | 0-100 score. Used with status to decide whether the address is safe to send to. |
reason | Short machine-readable reason code (e.g. mailbox_accepts, mailbox_rejected, disposable_domain, no_mx_record, accept_all_domain). |
checks | The individual signals behind the status/confidence, syntax validity, MX records, SMTP connect/accept results, catch-all detection, disposable/role-based/free-provider flags, and the raw SMTP response. |
cached | true if this result was served from cache rather than a fresh SMTP probe. Cached results don't count against your quota. A cached result is reused for 30 days (valid), 90 days (invalid), 14 days (catch_all), 7 days (risky) or 3 days (unknown). |
retryable | true if the check failed for a transient reason (e.g. SMTP timeout) and re-running with force: true may produce a different answer. |
Was this page helpful?