{
  "openapi": "3.1.0",
  "info": {
    "title": "Kit Rx Domain WHOIS, DNS & Email Security API",
    "version": "1.0.0",
    "description": "Domain registration facts from registry RDAP (registrar, created, expires, status), live DNS records, email authentication grading (MX, SPF walk, DMARC, MTA-STS, BIMI), bulk domain checks, email address validation, and a domain due-diligence risk report. Each call is one x402 v2 payment in USDC on Base, Polygon, Arbitrum, Avalanche or Sei; no signup or API key. Requests that fail or match nothing are not charged.",
    "x-guidance": "GET endpoints under /v1 take query-string parameters and return JSON. Pay per call with x402 v2 (USDC on Base); only 2xx responses are settled. Parameter details and examples: /llms.txt and /catalog.json.",
    "contact": {
      "name": "Kit Rx Domain WHOIS, DNS & Email Security",
      "url": "https://domain.kit-rx.com"
    }
  },
  "servers": [
    {
      "url": "https://domain.kit-rx.com"
    }
  ],
  "x-agentcash-guidance": {
    "llmsTxtUrl": "https://domain.kit-rx.com/llms.txt"
  },
  "x-agentcash-provenance": {
    "ownershipProofs": [
      "0x1dd52add66cf7d511a575cb292bbc22ec31ac8232477acfa033e12117141e4f077c482b4de9901d19e2af62f541b7f8511964be2372e5778da5aead583a608fb1c"
    ]
  },
  "x-discovery": {
    "ownershipProofs": [
      "0x1dd52add66cf7d511a575cb292bbc22ec31ac8232477acfa033e12117141e4f077c482b4de9901d19e2af62f541b7f8511964be2372e5778da5aead583a608fb1c"
    ]
  },
  "paths": {
    "/v1/domain/report": {
      "get": {
        "operationId": "domain_report",
        "summary": "Domain due-diligence and risk report",
        "description": "Due-diligence report on a website, merchant or counterparty domain: registrable domain, registry RDAP facts (registrar, abuse contact, created, expiry, age, status, nameservers), DNS records (A, AAAA, MX, NS, TXT, CAA) from Cloudflare DNS over HTTPS, SPF and DMARC posture, a live web probe (redirect chain, HTTPS, HSTS, site-supplied title, parked or for-sale signs), brand-impersonation checks, and a 0-100 risk score with transparent weighted signals and a verdict.",
        "tags": [
          "domain",
          "security",
          "dns",
          "rdap",
          "whois"
        ],
        "security": [],
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": true,
            "description": "Bare domain, hostname, email address or URL. Scheme, path, port and credentials are stripped and IDNs are converted to punycode. IP addresses and private names are rejected.",
            "schema": {
              "type": "string"
            },
            "example": "github.com"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "asset": "USDC",
          "payTo": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70"
        },
        "responses": {
          "200": {
            "description": "Report (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "object"
                    },
                    "result": {
                      "type": "object"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "attribution": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "query",
                    "result",
                    "sources",
                    "generated_at"
                  ]
                },
                "example": {
                  "query": {
                    "domain": "github.com"
                  },
                  "result": {
                    "host": "github.com",
                    "host_unicode": null,
                    "registrable_domain": "github.com",
                    "public_suffix": "com",
                    "shared_platform": null,
                    "registered": true,
                    "registration_basis": "rdap",
                    "risk": {
                      "score": 0,
                      "verdict": "low",
                      "confidence": "normal",
                      "signals": []
                    },
                    "registration": {
                      "registrar": "MarkMonitor Inc.",
                      "registrar_iana_id": "292",
                      "registrar_abuse": {
                        "email": "abusecomplaints@markmonitor.com",
                        "phone": "+1.2086851750"
                      },
                      "created": "2007-10-09T18:20:50.000Z",
                      "expires": "2028-10-09T18:20:50.000Z",
                      "last_changed": "2026-09-07T09:22:52.000Z",
                      "age_days": 6975,
                      "days_to_expiry": 695,
                      "status": [
                        "client delete prohibited"
                      ],
                      "nameservers": [
                        "dns1.p08.nsone.net"
                      ],
                      "dnssec": false,
                      "registry_terms": {
                        "title": "Terms of Service",
                        "link": "https://www.verisign.com/domain-names/registration-data-access-protocol/terms-service/index.xhtml"
                      }
                    },
                    "dns": {
                      "status": "NOERROR",
                      "nxdomain": false,
                      "registrable_nxdomain": false,
                      "a": [
                        "140.82.114.4"
                      ],
                      "aaaa": [],
                      "cname": [],
                      "ns": [
                        "dns1.p08.nsone.net"
                      ],
                      "caa": [
                        "0 issue \"digicert.com\""
                      ],
                      "all_addresses_public": true,
                      "verification_tokens": [
                        "ms"
                      ]
                    },
                    "email": {
                      "domain": "github.com",
                      "accepts_mail": true,
                      "null_mx": false,
                      "mx": [
                        {
                          "priority": 0,
                          "host": "github-com.mail.protection.outlook.com"
                        }
                      ],
                      "spf": {
                        "present": true,
                        "record": "v=spf1 ip4:192.30.252.0/22 …",
                        "all": "~all",
                        "redirect": null
                      },
                      "dmarc": {
                        "present": true,
                        "record_domain": "github.com",
                        "record": "v=DMARC1; p=quarantine; …",
                        "policy": "quarantine",
                        "subdomain_policy": "reject",
                        "pct": 100,
                        "reporting": true,
                        "multiple_records": false
                      }
                    },
                    "web": {
                      "probed": true,
                      "skipped_reason": null,
                      "final_url": "https://github.com/",
                      "status": 200,
                      "redirect_chain": [],
                      "https_ok": true,
                      "https_direct": true,
                      "hsts": true,
                      "server": "github.com",
                      "content_type": "text/html",
                      "title": "GitHub · Change is …",
                      "final_registrable": "github.com",
                      "cross_domain_redirect": false,
                      "parked": false,
                      "parked_indicators": [],
                      "error": null
                    },
                    "brand_impersonation": null
                  },
                  "sources": [
                    {
                      "name": "Cloudflare DNS over HTTPS (JSON API)",
                      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
                    },
                    {
                      "name": "IANA RDAP bootstrap",
                      "url": "https://data.iana.org/rdap/dns.json"
                    },
                    {
                      "name": "Registry RDAP (rdap.verisign.com)",
                      "url": "https://rdap.verisign.com/com/v1/domain/github.com"
                    }
                  ],
                  "attribution": [
                    "Registration data from the …",
                    "DNS resolved via Cloudflare …"
                  ],
                  "generated_at": "2026-11-13T21:25:14.379Z"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment required: x402 challenge in the PAYMENT-REQUIRED header"
          },
          "404": {
            "description": "No match (not charged)"
          },
          "502": {
            "description": "Upstream source unavailable (not charged)"
          }
        }
      }
    },
    "/v1/domain/whois": {
      "get": {
        "operationId": "domain_whois",
        "summary": "Domain registration facts (RDAP whois)",
        "description": "Registration facts for a domain from its registry's RDAP server, located through the IANA bootstrap file: registrar name, IANA ID and abuse contact, created, updated and expiry dates, age and days to expiry, EPP status codes, transfer lock, nameservers, DNSSEC delegation flag, and the registry RDAP URL and terms link. No registrant contact data. Registries whose terms bar reuse (Nominet, CentralNic, Google Registry) are not queried.",
        "tags": [
          "domain",
          "whois",
          "rdap",
          "registration",
          "registrar"
        ],
        "security": [],
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": true,
            "description": "Bare domain, hostname, email address or URL. Scheme, path, port and credentials are stripped and IDNs are converted to punycode. IP addresses and private names are rejected. Facts describe the registrable domain (eTLD+1).",
            "schema": {
              "type": "string"
            },
            "example": "github.com"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "asset": "USDC",
          "payTo": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70"
        },
        "responses": {
          "200": {
            "description": "Report (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "object"
                    },
                    "result": {
                      "type": "object"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "attribution": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "query",
                    "result",
                    "sources",
                    "generated_at"
                  ]
                },
                "example": {
                  "query": {
                    "domain": "github.com"
                  },
                  "result": {
                    "domain": "github.com",
                    "domain_unicode": null,
                    "host": "github.com",
                    "public_suffix": "com",
                    "registered": true,
                    "registrar": "MarkMonitor Inc.",
                    "registrar_iana_id": "292",
                    "registrar_abuse": {
                      "email": "abusecomplaints@markmonitor.com",
                      "phone": "+1.2086851750"
                    },
                    "created": "2007-10-09T18:20:50.000Z",
                    "updated": "2026-09-07T09:22:52.000Z",
                    "expires": "2028-10-09T18:20:50.000Z",
                    "age_days": 6976,
                    "days_to_expiry": 694,
                    "status": [
                      "client delete prohibited",
                      "client transfer prohibited",
                      "client update prohibited"
                    ],
                    "transfer_locked": true,
                    "nameservers": [
                      "dns1.p08.nsone.net",
                      "dns2.p08.nsone.net",
                      "dns3.p08.nsone.net",
                      "ns-1283.awsdns-32.org"
                    ],
                    "dnssec": false,
                    "registry": {
                      "rdap_server": "rdap.verisign.com",
                      "rdap_url": "https://rdap.verisign.com/com/v1/domain/github.com",
                      "terms": {
                        "title": "Terms of Service",
                        "link": "https://www.verisign.com/domain-names/registration-data-access-protocol/terms-service/index.xhtml"
                      }
                    }
                  },
                  "sources": [
                    {
                      "name": "IANA RDAP bootstrap",
                      "url": "https://data.iana.org/rdap/dns.json"
                    },
                    {
                      "name": "Registry RDAP (rdap.verisign.com)",
                      "url": "https://rdap.verisign.com/com/v1/domain/github.com"
                    }
                  ],
                  "attribution": [
                    "Registration data from the domain's registry via RDAP, …"
                  ],
                  "generated_at": "2026-11-14T21:44:01.859Z"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment required: x402 challenge in the PAYMENT-REQUIRED header"
          },
          "404": {
            "description": "No match (not charged)"
          },
          "502": {
            "description": "Upstream source unavailable (not charged)"
          }
        }
      }
    },
    "/v1/domain/dns": {
      "get": {
        "operationId": "domain_dns",
        "summary": "DNS records for a domain",
        "description": "Current DNS records for a hostname from Cloudflare DNS over HTTPS: A, AAAA, CNAME chain, MX with priority and null-MX flag, NS, TXT (up to 25 records of at most 400 characters, email addresses redacted), CAA as flag, tag and value, and SOA primary nameserver, serial and timers, each with its minimum TTL. An optional type parameter limits the answer to one record type. For subdomains without their own zone, NS and SOA come from the registrable domain.",
        "tags": [
          "dns",
          "domain",
          "mx",
          "txt",
          "records"
        ],
        "security": [],
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": true,
            "description": "Bare domain, hostname, email address or URL. Scheme, path, port and credentials are stripped and IDNs are converted to punycode. IP addresses and private names are rejected.",
            "schema": {
              "type": "string"
            },
            "example": "github.com"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "One record type to return instead of all of them (case-insensitive).",
            "schema": {
              "type": "string",
              "enum": [
                "A",
                "AAAA",
                "CNAME",
                "MX",
                "NS",
                "TXT",
                "CAA",
                "SOA"
              ]
            },
            "example": "MX"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "asset": "USDC",
          "payTo": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70"
        },
        "responses": {
          "200": {
            "description": "Report (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "object"
                    },
                    "result": {
                      "type": "object"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "attribution": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "query",
                    "result",
                    "sources",
                    "generated_at"
                  ]
                },
                "example": {
                  "query": {
                    "domain": "github.com"
                  },
                  "result": {
                    "host": "github.com",
                    "host_unicode": null,
                    "registrable_domain": "github.com",
                    "type": "ALL",
                    "rcode": "NOERROR",
                    "records": {
                      "cname": [],
                      "a": [
                        "140.82.114.3"
                      ],
                      "aaaa": [],
                      "mx": [
                        {
                          "priority": 0,
                          "host": "github-com.mail.protection.outlook.com"
                        }
                      ],
                      "null_mx": false,
                      "ns": [
                        "dns1.p08.nsone.net",
                        "dns2.p08.nsone.net",
                        "dns3.p08.nsone.net",
                        "ns-1283.awsdns-32.org"
                      ],
                      "ns_zone": "github.com",
                      "txt": [
                        "v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com …",
                        "MS=ms44452932",
                        "apple-domain-verification=RyQhdzTl6Z6x8ZP4"
                      ],
                      "txt_count": 24,
                      "caa": [
                        {
                          "flags": 0,
                          "tag": "issue",
                          "value": "digicert.com"
                        },
                        {
                          "flags": 0,
                          "tag": "issuewild",
                          "value": "letsencrypt.org"
                        }
                      ],
                      "soa": {
                        "zone": "github.com",
                        "primary_ns": "dns1.p08.nsone.net",
                        "serial": 1656468023,
                        "refresh": 43200,
                        "retry": 7200,
                        "expire": 1209600,
                        "minimum_ttl": 3600
                      }
                    },
                    "ttl": {
                      "cname": null,
                      "a": 12,
                      "aaaa": null,
                      "mx": 112,
                      "ns": 1330,
                      "txt": 112,
                      "caa": 3412,
                      "soa": 3412
                    }
                  },
                  "sources": [
                    {
                      "name": "Cloudflare DNS over HTTPS (JSON API)",
                      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
                    }
                  ],
                  "notes": [
                    "The SOA contact mailbox (RNAME) is omitted."
                  ],
                  "attribution": [
                    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS."
                  ],
                  "generated_at": "2026-11-14T21:47:15.023Z"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment required: x402 challenge in the PAYMENT-REQUIRED header"
          },
          "404": {
            "description": "No match (not charged)"
          },
          "502": {
            "description": "Upstream source unavailable (not charged)"
          }
        }
      }
    },
    "/v1/domain/email-auth": {
      "get": {
        "operationId": "domain_email_auth",
        "summary": "Email authentication posture (SPF, DMARC, MTA-STS)",
        "description": "Email authentication posture of a domain from DNS (Cloudflare DNS over HTTPS): MX records and null MX, SPF parsed into mechanisms with its all qualifier and a recursive DNS-lookup count against the RFC 7208 limit of 10, DMARC policy (p, sp, pct, alignment, report addresses' domains), MTA-STS and TLS-RPT records, and BIMI. DKIM is not assessed because selectors cannot be enumerated. Returns an A-F grade and 0-100 score with weighted reasons.",
        "tags": [
          "email",
          "spf",
          "dmarc",
          "deliverability",
          "security"
        ],
        "security": [],
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": true,
            "description": "Bare domain, hostname, email address or URL. Scheme, path, port and credentials are stripped and IDNs are converted to punycode. IP addresses and private names are rejected.",
            "schema": {
              "type": "string"
            },
            "example": "github.com"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "asset": "USDC",
          "payTo": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70"
        },
        "responses": {
          "200": {
            "description": "Report (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "object"
                    },
                    "result": {
                      "type": "object"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "attribution": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "query",
                    "result",
                    "sources",
                    "generated_at"
                  ]
                },
                "example": {
                  "query": {
                    "domain": "github.com"
                  },
                  "result": {
                    "domain": "github.com",
                    "input_host": "github.com",
                    "registrable_domain": "github.com",
                    "grade": "B",
                    "score": 88,
                    "reasons": [
                      {
                        "code": "dmarc_quarantine",
                        "points": -5,
                        "detail": "DMARC policy is quarantine; reject is the strongest setting."
                      },
                      {
                        "code": "no_mta_sts",
                        "points": -5,
                        "detail": "No MTA-STS record, so inbound SMTP TLS is opportunistic and can be downgraded."
                      },
                      {
                        "code": "no_tls_rpt",
                        "points": -2,
                        "detail": "No TLS-RPT record, so the owner receives no reports of SMTP TLS failures."
                      }
                    ],
                    "mx": {
                      "accepts_mail": true,
                      "null_mx": false,
                      "implicit_mx": false,
                      "records": [
                        {
                          "priority": 0,
                          "host": "github-com.mail.protection.outlook.com"
                        }
                      ]
                    },
                    "spf": {
                      "present": true,
                      "multiple_records": false,
                      "record": "v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com … ~all",
                      "all": "~all",
                      "effective_all": "~all",
                      "redirect": null,
                      "mechanisms": [
                        {
                          "qualifier": "+",
                          "mechanism": "ip4",
                          "value": "192.30.252.0/22"
                        },
                        {
                          "qualifier": "+",
                          "mechanism": "include",
                          "value": "spf.protection.outlook.com"
                        },
                        {
                          "qualifier": "~",
                          "mechanism": "all",
                          "value": null
                        }
                      ],
                      "dns_lookups": {
                        "counted": 10,
                        "top_level": 8,
                        "limit": 10,
                        "exceeds_limit": false,
                        "complete": true,
                        "loop": false
                      },
                      "broken_includes": [],
                      "uses_ptr": false,
                      "unknown_terms": []
                    },
                    "dmarc": {
                      "present": true,
                      "record_domain": "github.com",
                      "inherited": false,
                      "record": "v=DMARC1; p=quarantine; sp=reject; pct=100; rua=mailto:[redacted]@github.com; ruf=mailto:[redacted]@github.com; fo=1",
                      "policy": "quarantine",
                      "p": "quarantine",
                      "sp": "reject",
                      "pct": 100,
                      "adkim": null,
                      "aspf": null,
                      "rua_present": true,
                      "rua_domains": [
                        "github.com"
                      ],
                      "ruf_present": true,
                      "multiple_records": false
                    },
                    "mta_sts": {
                      "present": false,
                      "valid": false,
                      "id": null
                    },
                    "tls_rpt": {
                      "present": false,
                      "rua_present": false
                    },
                    "bimi": {
                      "present": false,
                      "logo_url": null,
                      "has_certificate": false
                    },
                    "dkim": {
                      "assessed": false,
                      "detail": "DKIM keys are published under sender-chosen selectors …"
                    }
                  },
                  "sources": [
                    {
                      "name": "Cloudflare DNS over HTTPS (JSON API)",
                      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
                    }
                  ],
                  "attribution": [
                    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS."
                  ],
                  "generated_at": "2026-11-14T21:47:15.232Z"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment required: x402 challenge in the PAYMENT-REQUIRED header"
          },
          "404": {
            "description": "No match (not charged)"
          },
          "502": {
            "description": "Upstream source unavailable (not charged)"
          }
        }
      }
    },
    "/v1/email/verify": {
      "get": {
        "operationId": "email_verify",
        "summary": "Email address verification (syntax, MX, risk flags)",
        "description": "Checks an email address without sending mail: syntax rules (IDN domains in punycode and Unicode), MX records by preference, null MX (RFC 7505), implicit A/AAAA fallback, NXDOMAIN, SPF and DMARC policy, disposable, role, free-webmail and +tag flags, mail provider from MX hosts, and typo suggestions for popular domains. Returns a verdict and 0-100 score with reasons. Mailbox existence is not confirmed. Sources: Cloudflare DNS over HTTPS, disposable-email-domains (CC0).",
        "tags": [
          "email",
          "validation",
          "mx",
          "disposable",
          "deliverability"
        ],
        "security": [],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "description": "Email address to check, up to 512 characters (addresses over 254 octets are reported as invalid). A mailto: link (its ?query and #fragment dropped) or a Name <address> header form is unwrapped first. Inputs without an @, quoted local parts, IP-literal domains and mailto links with several addresses are rejected with 400 and not charged.",
            "schema": {
              "type": "string"
            },
            "example": "jane.doe+news@gmail.com"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "asset": "USDC",
          "payTo": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70"
        },
        "responses": {
          "200": {
            "description": "Report (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "object"
                    },
                    "result": {
                      "type": "object"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "attribution": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "query",
                    "result",
                    "sources",
                    "generated_at"
                  ]
                },
                "example": {
                  "query": {
                    "email": "jane.doe+news@gmail.com"
                  },
                  "result": {
                    "address": "jane.doe+news@gmail.com",
                    "verdict": "deliverable_domain",
                    "score": 90,
                    "score_reasons": [
                      {
                        "code": "mailbox_unverified",
                        "points": -10,
                        "detail": "Mailbox existence was not checked (no SMTP probe)."
                      }
                    ],
                    "did_you_mean": null,
                    "mailbox_verified": false,
                    "syntax": {
                      "valid": true,
                      "local_part": "jane.doe+news",
                      "domain": "gmail.com",
                      "domain_unicode": null,
                      "idn": false,
                      "length": 23
                    },
                    "flags": {
                      "disposable": false,
                      "disposable_match": null,
                      "role_account": false,
                      "role": null,
                      "free_provider": true,
                      "subaddress": {
                        "base": "jane.doe",
                        "tag": "news"
                      },
                      "typo_suspected": false,
                      "non_ascii_local": false
                    },
                    "mail_provider": {
                      "id": "google",
                      "name": "Gmail (Google)",
                      "category": "mailbox_provider",
                      "mx_host": "gmail-smtp-in.l.google.com"
                    },
                    "dns": {
                      "rcode": "NOERROR",
                      "accepts_mail": true,
                      "mx": [
                        {
                          "preference": 5,
                          "exchange": "gmail-smtp-in.l.google.com",
                          "provider": "google"
                        },
                        {
                          "preference": 10,
                          "exchange": "alt1.gmail-smtp-in.l.google.com",
                          "provider": "google"
                        },
                        {
                          "preference": 20,
                          "exchange": "alt2.gmail-smtp-in.l.google.com",
                          "provider": "google"
                        }
                      ],
                      "mx_count": 5,
                      "null_mx": false,
                      "implicit_mx": false,
                      "implicit_mx_addresses": null,
                      "primary_mx": {
                        "host": "gmail-smtp-in.l.google.com",
                        "status": "resolves",
                        "addresses": [
                          "142.250.31.26",
                          "2607:f8b0:4004:c08::1a"
                        ]
                      }
                    },
                    "email_auth": {
                      "spf": {
                        "present": true,
                        "record": "v=spf1 redirect=_spf.google.com",
                        "all": null,
                        "multiple_records": false
                      },
                      "dmarc": {
                        "present": true,
                        "record_domain": "gmail.com",
                        "policy": "none",
                        "record": "v=DMARC1; p=none; sp=quarantine; rua=mailto:mailauth-reports@google.com",
                        "inherited_from_org_domain": false,
                        "multiple_records": false
                      }
                    }
                  },
                  "sources": [
                    {
                      "name": "Cloudflare DNS over HTTPS (JSON API)",
                      "url": "https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/"
                    },
                    {
                      "name": "disposable-email-domains blocklist (CC0 1.0, commit ba992a0, 2026-11-08)",
                      "url": "https://github.com/disposable-email-domains/disposable-email-domains"
                    }
                  ],
                  "notes": [
                    "Mailbox existence is not confirmed: no SMTP connection is made (Cloudflare Workers cannot open outbound connections on port 25), so the result covers address syntax, the domain's mail DNS and list-based flags only. Catch-all and full-mailbox status are unknown."
                  ],
                  "attribution": [
                    "DNS resolved via Cloudflare 1.1.1.1 DNS-over-HTTPS."
                  ],
                  "generated_at": "2026-11-13T22:10:00.000Z"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment required: x402 challenge in the PAYMENT-REQUIRED header"
          },
          "404": {
            "description": "No match (not charged)"
          },
          "502": {
            "description": "Upstream source unavailable (not charged)"
          }
        }
      }
    }
  }
}