Domain and mailbox detail in every validation response
Knowing whether an email is safe to send is just the start. Now every response tells you more about what kind of email account you're dealing with — the mail provider, MX setup, whether the domain is catch-all, whether the address is a role account, and the exact moment it was validated.
This is the richer per-email information we hinted at when we restructured the response shape. It's here now.
Here's what a successful validation response looks like now:
{
"allegrowStatus": "safe",
"domain": {
"isCatchAll": false,
"mxProvider": "google",
"mxRecords": ["aspmx.l.google.com", "alt1.aspmx.l.google.com"],
"name": "example.com"
},
"email": "[[email protected]](mailto:[email protected]) ",
"mailbox": {
"isRoleAccount": false
},
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"result": {
"status": "safe",
"subStatus": "primary"
},
"validatedAt": "2026-04-22T10:30:00Z"
}What's new:
validatedAt is an ISO 8601 timestamp of when the validation response was produced. Useful for stamping your own records with a permanent moment-of-validation.
The new domain object carries domain-level signals about the email's mail server:
isCatchAll—truewhen the domain accepts mail for any local part,falsewhen the server rejects unknowns at SMTP,nullwhen undetermined. Catch-all domains generally make validation signals less reliable; worth treating with extra caution on sensitive outbound flows.mxProvider— Allegrow's classification of the mail provider hosting this domain (e.g.google,microsoft,proofpoint), normalised to lowercase. Use it to segment or route in your own pipeline.mxRecords— the MX record hostnames returned by DNS, in the order Allegrow received them.name— the domain portion of the email, lowercased. Handy for grouping or reporting by domain without parsing the email yourself.
The new mailbox object carries mailbox-level signals about the specific local part:
isRoleAccount—truewhen the local part is a generic team address likeinfo@,support@, orsales@. Often a signal that the address isn't tied to a specific individual and may have lower engagement.
These fields appear on every successful response across the sync API, the polling endpoint, and the async webhook. The bulk CSV results are unchanged.
Response keys are emitted alphabetically at every level — top-level and inside each nested object. Arrays (e.g. mxRecords) keep their original order.
Nothing breaks today. All previously returned fields keep the same names and values — the new information is additive, so existing integrations continue to work exactly as before.
For the meaning of each field, see Validation Statuses .