Quickstart

Verify your first email address with the VerifAi REST API in two steps. Every request is authenticated with an API key and returns a single JSON object.

1. Create an API key

Sign in and open API keys in your dashboard. Click Create key, give it a name, and copy the key shown once — it looks like vk_live_… and is never shown again. See Authentication for how to send it.

2. Verify an address

Send a POST to /v1/validate with the address and a depth (syntax, mx_only or full). Replace YOUR_API_KEY with the key you created:

Request
curl https://ratifai.app/hook/FlowClick/FlowVerify/v1/validate -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"email":"support@github.com","depth":"full"}'
Response
{
  "email": "support@github.com",
  "verdict": "unknown",
  "reason": "probe_failed_open",
  "depth_requested": "full",
  "depth_applied": "full",
  "billable": false,
  "credits_charged": 0,
  "checks": {
    "syntax": { "valid": true, "origin": "checked" },
    "mx": { "records": ["github-com.mail.protection.outlook.com"], "origin": "checked" },
    "smtp": { "accepted": false, "status": "unknown", "origin": "failed_open" },
    "catch_all": { "value": false, "origin": "skipped" }
  },
  "mail_provider": "Microsoft 365",
  "request_id": "req_1785952959868"
}

Here the mailbox probe could not complete, so the verdict is unknown and the check is free — you are charged one credit only for a definitive answer, never for an attempt. A definitive result returns deliverable, undeliverable or risky. See Verdicts & reasons and How billing works.

Next steps

  • Authentication — API keys, rate limits and safe retries with idempotency keys.
  • API reference — the full request and response schema for /v1/validate and /v1/credits, with Python and JavaScript examples.
  • Verdicts & reasons — what each result means.
  • OpenAPI document — the machine-readable specification.
← All docs