Verify one email address with POST /v1/verify: the request body, the options it accepts and the response you get back.
Endpoint
POST https://api.kawaa.com/v1/verifyRequest body
{
"email": "john@example.com",
"options": {
"deep_verify": true,
"enrich": false
}
}Only the options listed below are recognised. Any other key inside options is refused with 400 INVALID_OPTION before any credit is charged, so check the spelling against this table.
Parameters
| Parameter | Type | Description |
|---|---|---|
email | string | Required. Email to verify |
options.deep_verify | boolean | Run SMTP mailbox probing and catch-all detection (default: true) |
options.include_ai | boolean | Run the AI-assisted checks (default: true). With it off, typo suggestions still come from built-in rules, but the SPF, DKIM and DMARC lookup is skipped, so domain_info usually has no auth_score or other authentication fields |
options.enrich | boolean | Include name/gender data (default: false). Requires a plan with data enrichment |
options.skip_cache | boolean | Force a fresh verification instead of reusing a cached result (default: false) |
options.timeout_ms | integer | How long, in whole milliseconds, to wait for a synchronous result before returning pending (default: 24000). A positive value is clamped to 5000–25000, so a larger one still answers after about 25 seconds; zero or a negative number falls back to the default |
Response
An example for an address on a domain that accepts all mail. status is one of eight values (see Verification statuses explained); a catch-all address has its own status, and its score is never above 60.
{
"success": true,
"data": {
"job_id": "29f094a4-c170-40ed-91c8-2915f9a40063",
"email": "john@example.com",
"status": "catch_all",
"sub_status": "catch_all",
"quality_score": 60,
"verification": {
"syntax_valid": true,
"domain_exists": true,
"mx_found": true,
"smtp_check": true,
"catch_all": true,
"greylisted": false
},
"flags": {
"disposable": false,
"role_account": false,
"free_provider": false,
"spam_trap": false,
"abuse_email": false,
"honeypot": false,
"complainer": false,
"bot_generated": false
},
"domain_info": {
"domain": "example.com",
"provider_type": "corporate",
"auth_score": 74,
"auth_grade": "C",
"has_spf": true,
"has_dmarc": true,
"has_dkim": true
},
"ai": {
"catch_all_confidence": 35
},
"credits_used": 1,
"credits_remaining": 9994,
"verified_at": "2026-01-10T12:00:00Z",
"request_id": "098616d8-0738-4aeb-b6b8-be49d85ac51b"
}
}