{"openapi":"3.1.0","info":{"title":"Email Validator API","description":"Heuristic email syntax and domain validation without sending mail. No SMTP probe is performed, so results cannot guarantee mailbox existence or deliverability.","version":"1.0.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/validate":{"get":{"summary":"Validate Get","operationId":"validate_get_validate_get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024,"title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Validate Post","operationId":"validate_post_validate_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ValidationResult"},{"$ref":"#/components/schemas/BatchValidationResult"}],"title":"Response Validate Post Validate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BatchValidationResult":{"properties":{"count":{"type":"integer","title":"Count"},"results":{"items":{"$ref":"#/components/schemas/ValidationResult"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"BatchValidationResult"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidateRequest":{"properties":{"email":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Email"},"emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Emails"}},"type":"object","title":"ValidateRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ValidationResult":{"properties":{"input":{"type":"string","title":"Input"},"normalized":{"type":"string","title":"Normalized"},"syntax_valid":{"type":"boolean","title":"Syntax Valid"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"},"is_ascii":{"type":"boolean","title":"Is Ascii"},"idn":{"type":"boolean","title":"Idn"},"has_mx":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Mx"},"mx_hosts":{"items":{"type":"string"},"type":"array","title":"Mx Hosts"},"is_disposable":{"type":"boolean","title":"Is Disposable"},"is_role_account":{"type":"boolean","title":"Is Role Account"},"is_free_provider":{"type":"boolean","title":"Is Free Provider"},"suggestion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suggestion"},"score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Score"},"verdict":{"type":"string","title":"Verdict"},"note":{"type":"string","title":"Note"}},"type":"object","required":["input","normalized","syntax_valid","domain","is_ascii","idn","has_mx","mx_hosts","is_disposable","is_role_account","is_free_provider","suggestion","score","verdict","note"],"title":"ValidationResult"}}}}