Every check returns the same set of fields. Here is what they mean.
| Field | What it tells you |
|---|---|
| verdict | The label: deliverable, risky, undeliverable, or unknown. |
| score | A confidence number from 0 to 100 (higher is better). |
| reason | A short, plain-English explanation of the verdict. |
| reason_code | A short code for the reason, handy for your own logic. |
| checks | The list of individual checks and what each one found. |
| suggested_correction | A likely fix for a typo (for example, gmail.com), when we spot one. |
| latency_ms | How long the check took, in milliseconds. |
| model_version | Which version of our checker produced the result. |
| ran_at | When the check ran. |
Tip
For form validation, the simplest approach is to accept deliverable, warn on risky, and reject undeliverable. Use suggested_correction to offer a friendly "did you mean…?".
The full technical reference is always available as an OpenAPI file at /v1/openapi.json.
Did this help?
If you still have a question, we are happy to help.