---
title: "Email health check"
full: true
_openapi:
  method: POST
  toc: []
  structuredData:
    headings: []
    contents:
      - content: "Evaluates syntax, disposable provider presence, role mailbox status, free provider classification, and active DNS MX records. Public and unauthenticated. Nothing is stored."
_apiData:
  document: "https://reloop.sh/api/tools/openapi/json"
  operationData: [{"path":"/api/tools/v1/email-health-check","method":"post"}]
  parameterList: [{"name":"email","type":"string","required":true,"description":"An email address or a bare domain.","location":"body","minLength":1,"maxLength":400,"example":"you@mailinator.com"}]
  responseMap: {"200":{"description":"Response for status 200","schema":{"input":"example_input","kind":"email","domain":"send.example.com","unicodeDomain":"example_unicodeDomain","verdict":"invalid","isValidSyntax":true,"syntaxFailure":"example_syntaxFailure","isDisposable":true,"disposableMatch":{"kind":"exact","domain":"send.example.com","pattern":"example_pattern"},"isAllowlisted":true,"isRoleAddress":true,"isFreeProvider":true,"signals":{"syntax":"pass","disposable":"pass","role":"pass","freeProvider":"pass"},"mxRecords":["example_mxRecords"],"confidence":0,"riskScore":0,"flags":["INVALID_SYNTAX"],"health":{"status":"pass","summary":"example_summary","state":"deliverable","score":0,"reason":"accepted_email","user":"example_user","domain":"send.example.com","tag":"example_tag","attributes":{"free":true,"role":true,"disposable":true,"acceptAll":true,"tag":true,"numericalCharacters":0,"alphabeticalCharacters":0,"unicodeSymbols":0,"mailboxFull":true,"noReply":true,"secureEmailGateway":true},"mailServer":{"smtpProvider":"example_smtpProvider","mxRecord":"example_mxRecord","mxRecords":["example_mxRecords"],"implicitMxRecord":true,"hasMx":true}}}},"400":{"description":"Response for status 400","schema":{"message":"Contact already exists","why":"A contact with this email already exists in your organization.","fix":"Use a different email address or update the existing contact instead.","link":"https://reloop.sh/docs/api/contacts"}},"429":{"description":"Response for status 429","schema":{"message":"Contact already exists","why":"A contact with this email already exists in your organization.","fix":"Use a different email address or update the existing contact instead.","link":"https://reloop.sh/docs/api/contacts"}}}
  codeSamples: []
---
> For the complete documentation index, see [llms-docs.txt](/llms-docs.txt) or the site index [llms.txt](/llms.txt). Full docs corpus: [llms-full-docs.txt](/llms-full-docs.txt). Prefer markdown URLs (append `.md`) for agent consumption. Product skill: [skill.md](/skill.md).


{/* This file was generated by the OpenAPI doc generator. Do not edit this file directly. Run `bun run generate:api-docs` to regenerate. */}

<APIPage />
