Quathos Mailer

Address validation

POST /email/validate says whether an address is likely to receive — syntax, mail route, disposable, role account, typo, and your own suppression list.

Validate an address

Synchronous, because you call it from your own signup form and need the answer while the person is still typing. It needs a token with the email:validate scope.

cURL
curl -X POST https://api.qsendyx.com/api/v1/email/validate \
  -H "Authorization: Bearer $QUATHOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "email": "contato@gmial.com" }'
json
{
  "email": "contato@gmial.com",
  "domain": "gmial.com",
  "verdict": "risky",
  "score": 45,
  "checks": {
    "valid_syntax": true,
    "has_mail_exchange": true,
    "disposable": false,
    "role_account": true,
    "suppressed": false
  },
  "did_you_mean": "contato@gmail.com",
  "reason": "role_account"
}
A role account at a domain one edit away from gmail.com.

The four verdicts

VerdictWhat it means
deliverableValid syntax, the domain accepts mail, and no risk signal.
undeliverableInvalid syntax, no MX or A record, or already suppressed for you.
riskyIt should receive, but something is off: disposable domain, role account, or a likely typo.
unknownWe could not determine it — a DNS timeout. Neither a pass nor a fail.

checks carries the individual signals so you can write your own policy instead of inheriting ours. has_mail_exchange is deliberately nullable: null means the DNS lookup did not answer, which is not the same as the domain having no mail route.

What it does not do

It does not open an SMTP connection to the destination to ask whether the mailbox exists. Probing mailboxes from a sending IP is one of the behaviours receivers classify as spammer activity, and it would burn the reputation the rest of the platform spends months building.

So the ceiling of certainty here is unknown, never a confident "this mailbox exists". Use it to catch typos, disposables and dead domains before they become bounces — not as proof that someone is on the other end.

It does look at YOUR suppression list. An address that hard bounced or unsubscribed for you comes back undeliverable even when the domain is perfectly healthy, because that is the address we will refuse to send to anyway.

Quota

Each live validation counts against the monthly allowance of your plan; test-mode tokens are exempt and never count. Past the allowance the call is refused rather than charged — this version does not bill the wallet for overage.

cURL
curl https://api.qsendyx.com/api/v1/email/validate/usage \
  -H "Authorization: Bearer $QUATHOS_TOKEN"

{ "used": 312, "quota": 5000, "remaining": 4688 }

Every validate response also carries X-Validation-Quota-Remaining, so you can watch the budget without a second call.