{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/easyemailverification-com/json-schema/easyemailverification-com-verification-result-schema.json",
  "title": "VerificationResult",
  "description": "Result of one verification. All fields are always present.",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/easyemailverification-com-openapi.json#/components/schemas/VerificationResult",
  "type": "object",
  "required": [
    "email",
    "result",
    "reason",
    "disposable",
    "accept_all",
    "role",
    "free",
    "user",
    "domain",
    "mx_record",
    "mx_domain",
    "safe_to_send",
    "did_you_mean",
    "success",
    "message",
    "http_code"
  ],
  "properties": {
    "email": {
      "type": [
        "string",
        "null"
      ],
      "description": "Address that was verified, normalized to lowercase."
    },
    "result": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "valid",
        "invalid",
        "unknown",
        null
      ],
      "description": "Overall result. Check `reason` for details."
    },
    "reason": {
      "type": [
        "string",
        "null"
      ],
      "description": "Detail of the result. Known values:\n`accepted_email` (SMTP server accepted the address),\n`rejected_email` (mailbox does not exist),\n`invalid_email` (invalid syntax),\n`invalid_domain` (domain does not exist),\n`no_mx_record` (domain has no MX record),\n`invalid_mx_record`,\n`no_connect` (could not connect to the receiving server; no credit is consumed),\n`timeout`, `unavailable_smtp`, `unexpected_error`,\n`temporarily_blocked` (greylisted), `exceeded_storage` (mailbox full).\nNew values may be added; treat unknown values as inconclusive.\n"
    },
    "disposable": {
      "type": "boolean",
      "description": "Known temporary/disposable address."
    },
    "accept_all": {
      "type": "boolean",
      "description": "Catch-all domain; it accepts any mailbox, so the address cannot be confirmed."
    },
    "role": {
      "type": "boolean",
      "description": "Role address such as support@ or postmaster@."
    },
    "free": {
      "type": "boolean",
      "description": "Address from a popular free provider (Gmail, Outlook, Yahoo...)."
    },
    "user": {
      "type": [
        "string",
        "null"
      ],
      "description": "Local part of the address."
    },
    "domain": {
      "type": [
        "string",
        "null"
      ],
      "description": "Domain part of the address."
    },
    "mx_record": {
      "type": [
        "string",
        "null"
      ],
      "description": "MX host that receives mail for the domain."
    },
    "mx_domain": {
      "type": [
        "string",
        "null"
      ],
      "description": "Domain of the MX host."
    },
    "safe_to_send": {
      "type": "boolean",
      "description": "Whether the address is considered safe for sending."
    },
    "did_you_mean": {
      "type": "string",
      "description": "Suggested correction when a typo is detected; empty string otherwise."
    },
    "success": {
      "type": "boolean",
      "description": "Whether the request was processed. It does not mean the address is deliverable."
    },
    "message": {
      "type": [
        "string",
        "null"
      ],
      "description": "Error description, or processing information on success."
    },
    "http_code": {
      "type": [
        "string",
        "null"
      ],
      "description": "HTTP status code repeated in the body, as a string."
    }
  }
}