{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/ffraud-com/json-schema/ffraud-com-domain-response-schema.json",
  "title": "DomainResponse",
  "x-generated": "2026-11-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/ffraud-com-openapi.json#/components/schemas/DomainResponse",
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    },
    "known": {
      "type": "boolean",
      "description": "True on every answer: the domain was evaluated."
    },
    "is_disposable": {
      "type": "boolean"
    },
    "email_type": {
      "type": "string",
      "enum": [
        "temp",
        "alias",
        "normal",
        "invalid"
      ]
    },
    "is_phishing": {
      "type": "boolean"
    },
    "risk_level": {
      "type": "string",
      "enum": [
        "low",
        "high",
        "critical"
      ],
      "description": "critical when phishing, high when disposable, otherwise low."
    },
    "detection_source": {
      "type": "string",
      "description": "The check that decided, as on the email check."
    },
    "reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "blocked_count": {
      "type": "integer",
      "description": "Only on some listed throwaway domains: how many times the domain has been blocked."
    },
    "related_domains": {
      "type": "array",
      "maxItems": 12,
      "items": {
        "type": "string"
      },
      "description": "Only on listed throwaway domains: other throwaway domains from the same list."
    }
  }
}