Skip to main content

API reference

Single email verification

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/verify

Request 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

ParameterTypeDescription
emailstringRequired. Email to verify
options.deep_verifybooleanRun SMTP mailbox probing and catch-all detection (default: true)
options.include_aibooleanRun 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.enrichbooleanInclude name/gender data (default: false). Requires a plan with data enrichment
options.skip_cachebooleanForce a fresh verification instead of reusing a cached result (default: false)
options.timeout_msintegerHow 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"
  }
}

Something wrong or missing here?

Tell us what to fix. Your email goes to the support team with this article's title already filled in.

Send feedback

Still need help?

Email support@kawaa.com. If your question is about a bulk job, include its job ID from the dashboard.

Contact support