{"openapi":"3.1.0","info":{"title":"Email Validation API","description":"Validate email addresses in bulk or one by one: RFC syntax, MX records, disposable-domain detection (8k+ domains, updated), role accounts and free providers, with a deliverability score.","version":"1.0.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/validate":{"get":{"summary":"Validate","description":"Validate a single email address.","operationId":"validate_validate_get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","description":"Email address to validate","title":"Email"},"description":"Email address to validate"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/validate-batch":{"post":{"summary":"Validate Batch","description":"Validate up to 100 email addresses in one call.","operationId":"validate_batch_validate_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/validate-bulk":{"post":{"summary":"Validate Bulk","description":"Validate emails from an uploaded CSV file (bulk, up to 5,000 addresses).","operationId":"validate_bulk_validate_bulk_post","parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(json|csv)$","description":"json: {count, results}. csv: original list with result columns appended","default":"json","title":"Format"},"description":"json: {count, results}. csv: original list with result columns appended"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_validate_bulk_validate_bulk_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BatchRequest":{"properties":{"emails":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Emails"}},"type":"object","required":["emails"],"title":"BatchRequest"},"Body_validate_bulk_validate_bulk_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"CSV: one email per line, or a column named 'email'"}},"type":"object","required":["file"],"title":"Body_validate_bulk_validate_bulk_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"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"}}},"servers":[{"url":"/email"}]}