{"openapi":"3.1.0","info":{"title":"VerifyGenius API","version":"1","description":"Email address checks without sending anything: the checker asks the company's own mail server whether the address exists, then hangs up. Early access only; keys and the base URL are issued on request (https://verifygenius.com/#access).","contact":{"email":"postmaster@verifygenius.com","url":"https://verifygenius.com"}},"servers":[{"url":"https://{base}","description":"Issued with your early-access key","variables":{"base":{"default":"your-base-url.example"}}}],"security":[{"key":[]}],"components":{"securitySchemes":{"key":{"type":"http","scheme":"bearer"}},"schemas":{"Result":{"type":"object","properties":{"email":{"type":"string"},"status":{"type":"string","enum":["pending","checking","valid","invalid","catch_all","unknown","suppressed","bad_syntax"],"description":"Only valid is sendable, for 30 days from checked_at."},"reason":{"type":["string","null"]},"smtp_code":{"type":["integer","null"],"description":"The server's own reply code to RCPT TO."},"smtp_text":{"type":["string","null"]},"mx_host":{"type":["string","null"]},"checked_at":{"type":["string","null"]},"flags":{"type":"object","properties":{"role":{"type":"boolean"},"free_mail":{"type":"boolean"},"disposable":{"type":"boolean"},"plus_address":{"type":"boolean"}}},"suggestion":{"type":["string","null"],"description":"A likely intended address when the domain looks like a typo."},"score":{"type":["integer","null"],"minimum":0,"maximum":100},"reasons":{"type":"array","items":{"type":"string"}}}}}},"paths":{"/v1/check":{"post":{"summary":"Check one address (waits up to 60 s; otherwise 202 with the job id)","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"}},"required":["email"]}}}},"responses":{"200":{"description":"Answered","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"202":{"description":"Still checking"}}}},"/v1/jobs":{"post":{"summary":"Check up to 5,000 addresses","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string"},"maxItems":5000}}}}}},"responses":{"202":{"description":"{job_id, total}"},"400":{"description":"Bad request"}}}},"/v1/jobs/{id}":{"get":{"summary":"A job and its results (your own jobs only)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The job, with items: Result[]"},"404":{"description":"No such job for this key"}}}},"/v1/status":{"get":{"summary":"Queue counts, checks in the last hour, blocklist status of the sending IP"}},"/v1/health":{"get":{"summary":"Liveness (no key)","security":[]}}}}