{"openapi":"3.1.0","info":{"title":"LXI Public WHOIS API","version":"1.0.0","description":"Pseudonymized LXI domain/subdomain contacts and technical external RDAP information. No authentication required. 60 requests/minute/IP."},"servers":[{"url":"https://whois.lxi.be"},{"url":"https://lxi.be"}],"paths":{"/api/v1/whois":{"get":{"operationId":"lookupWhois","parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","example":"example.com"}}],"responses":{"200":{"description":"Domain technical data; holder is pseudonymized for LXI or null for external domains."},"400":{"description":"Invalid domain"},"404":{"description":"No record"},"422":{"description":"No registry RDAP service"},"429":{"description":"Rate limited; respect Retry-After"},"503":{"description":"Registry temporarily unavailable"}}}},"/rdap/domain/{domain}":{"get":{"operationId":"lookupRdapDomain","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Domain in RDAP JSON format"}}}},"/rdap/entity/{handle}":{"get":{"operationId":"lookupRdapContact","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string","pattern":"^LXI-[a-f0-9-]{36}$"}}],"responses":{"200":{"description":"Pseudonymized contact in RDAP JSON format"},"404":{"description":"Inactive or unknown contact"}}}}}}