{"openapi":"3.1.0","info":{"title":"Domain WHOIS, RDAP & DNS Lookup API","version":"1.0.0","description":"Registration data for any domain (registrar, creation and expiry dates, age, status, nameservers, DNSSEC, availability hint) from the registry's RDAP server with classic WHOIS fallback for ccTLDs without RDAP, plus all DNS records (A, AAAA, MX, NS, TXT, CAA, www CNAME, DMARC) with an SPF/DMARC e-mail security grade. Accepts domains, URLs or e-mail addresses.\n\nAll endpoints accept GET (query string) or POST (JSON body). Errors use one shape: `{\"success\": false, \"error\": {\"code\", \"message\", \"retryable\"}}`. When a numeric `Retry-After` header is present, `error.retryAfterSeconds` is included.","contact":{"name":"TidyTools","url":"https://apify.com/tidytools"}},"servers":[{"url":"https://webcapture-api.yukailin.workers.dev","description":"Origin (reachable only through the marketplace gateway)"}],"tags":[{"name":"Domain"}],"paths":{"/api/v1/domain/whois":{"get":{"operationId":"whoisGet","summary":"WHOIS / RDAP lookup (GET)","description":"Registration data for the registrable domain of the input (e.g. `https://www.bbc.co.uk/news` → `bbc.co.uk`).","tags":["Domain"],"parameters":[{"name":"domain","schema":{"type":"string"},"description":"Domain, URL or e-mail address.","required":true,"example":"stripe.com","in":"query"},{"name":"checkAvailability","schema":{"type":"boolean","default":true},"description":"Also check DNS to refine the availability hint.","required":false,"in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"domain":{"type":"string"},"tld":{"type":"string"},"registered":{"type":"boolean"},"availability":{"type":"string"},"registrar":{"type":"string"},"registrarIanaId":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"expiresAt":{"type":"string"},"daysToExpiry":{"type":"integer"},"domainAgeDays":{"type":"integer"},"status":{"type":"array","items":{"type":"string"}},"nameservers":{"type":"array","items":{"type":"string"}},"dnssec":{"type":"boolean"},"registrantOrg":{"type":"string","nullable":true},"registrantCountry":{"type":"string","nullable":true},"source":{"type":"string"},"server":{"type":"string"}}},"example":{"success":true,"domain":"stripe.com","tld":"com","registered":true,"availability":"registered","registrar":"SafeNames Ltd.","registrarIanaId":"447","createdAt":"1995-09-12T04:00:00Z","updatedAt":"2025-10-01T01:39:51Z","expiresAt":"2027-09-11T04:00:00Z","daysToExpiry":345,"domainAgeDays":11342,"status":["clientDeleteProhibited","clientTransferProhibited","clientUpdateProhibited","serverDeleteProhibited","serverTransferProhibited","serverUpdateProhibited"],"nameservers":["ns-1087.awsdns-07.org","ns-1882.awsdns-43.co.uk","ns-423.awsdns-52.com","ns-705.awsdns-24.net"],"dnssec":false,"registrantOrg":null,"registrantCountry":null,"source":"rdap","server":"rdap.verisign.com"}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"whois","summary":"WHOIS / RDAP lookup","description":"Registration data for the registrable domain of the input (e.g. `https://www.bbc.co.uk/news` → `bbc.co.uk`).\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["Domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain, URL or e-mail address."},"checkAvailability":{"type":"boolean","default":true,"description":"Also check DNS to refine the availability hint."}},"required":["domain"]}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"domain":{"type":"string"},"tld":{"type":"string"},"registered":{"type":"boolean"},"availability":{"type":"string"},"registrar":{"type":"string"},"registrarIanaId":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"expiresAt":{"type":"string"},"daysToExpiry":{"type":"integer"},"domainAgeDays":{"type":"integer"},"status":{"type":"array","items":{"type":"string"}},"nameservers":{"type":"array","items":{"type":"string"}},"dnssec":{"type":"boolean"},"registrantOrg":{"type":"string","nullable":true},"registrantCountry":{"type":"string","nullable":true},"source":{"type":"string"},"server":{"type":"string"}}},"example":{"success":true,"domain":"stripe.com","tld":"com","registered":true,"availability":"registered","registrar":"SafeNames Ltd.","registrarIanaId":"447","createdAt":"1995-09-12T04:00:00Z","updatedAt":"2025-10-01T01:39:51Z","expiresAt":"2027-09-11T04:00:00Z","daysToExpiry":345,"domainAgeDays":11342,"status":["clientDeleteProhibited","clientTransferProhibited","clientUpdateProhibited","serverDeleteProhibited","serverTransferProhibited","serverUpdateProhibited"],"nameservers":["ns-1087.awsdns-07.org","ns-1882.awsdns-43.co.uk","ns-423.awsdns-52.com","ns-705.awsdns-24.net"],"dnssec":false,"registrantOrg":null,"registrantCountry":null,"source":"rdap","server":"rdap.verisign.com"}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/domain/dns":{"get":{"operationId":"dnsGet","summary":"DNS records and e-mail security grade (GET)","description":"All common DNS records via DNS-over-HTTPS, plus SPF (includes followed, RFC 7208 lookup limit) and DMARC analysis graded A–F.","tags":["Domain"],"parameters":[{"name":"domain","schema":{"type":"string"},"description":"Domain, URL or e-mail address.","required":true,"example":"github.com","in":"query"},{"name":"emailSecurity","schema":{"type":"boolean","default":true},"description":"Grade SPF and DMARC.","required":false,"in":"query"},{"name":"exactHost","schema":{"type":"boolean","default":false},"description":"Look up the exact host given (e.g. `mail.example.com`) instead of the registrable domain.","required":false,"in":"query"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"domain":{"type":"string"},"resolves":{"type":"boolean"},"rcode":{"type":"string"},"records":{"type":"object","properties":{"a":{"type":"array","items":{"type":"string"}},"aaaa":{"type":"array","items":{}},"mx":{"type":"array","items":{"type":"object","properties":{"priority":{"type":"integer"},"host":{"type":"string"}}}},"ns":{"type":"array","items":{"type":"string"}},"txt":{"type":"array","items":{"type":"string"}},"caa":{"type":"array","items":{"type":"object","properties":{"flags":{"type":"integer"},"tag":{"type":"string"},"value":{"type":"string"}}}},"wwwCname":{"type":"string"},"dmarc":{"type":"string"}}},"emailSecurity":{"type":"object","properties":{"grade":{"type":"string"},"hasMx":{"type":"boolean"},"spfPolicy":{"type":"string"},"spfDnsLookups":{"type":"integer"},"dmarcPolicy":{"type":"string"},"spf":{"type":"object","properties":{"record":{"type":"string"},"policy":{"type":"string"},"includes":{"type":"array","items":{"type":"string"}},"dnsLookups":{"type":"integer"},"multipleRecords":{"type":"boolean"}}},"dmarc":{"type":"object","properties":{"record":{"type":"string"},"policy":{"type":"string"},"subdomainPolicy":{"type":"string"},"pct":{"type":"integer"},"rua":{"type":"array","items":{"type":"string"}},"multipleRecords":{"type":"boolean"}}},"issues":{"type":"array","items":{"type":"string"}},"note":{"type":"string"}}}}},"example":{"success":true,"domain":"github.com","resolves":true,"rcode":"NOERROR","records":{"a":["20.205.243.166"],"aaaa":[],"mx":[{"priority":0,"host":"github-com.mail.protection.outlook.com"}],"ns":["dns1.p08.nsone.net","dns2.p08.nsone.net","dns3.p08.nsone.net","dns4.p08.nsone.net","ns-1283.awsdns-32.org","ns-1707.awsdns-21.co.uk","ns-421.awsdns-52.com","ns-520.awsdns-01.net"],"txt":["00Dd0000000hHE0=1TBKg000000TN2r","MS=6BF03E6AF5CB689E315FB6199603BABF2C88D805","MS=ms44452932","MS=ms58704441","TAILSCALE-xOzoDvFUzZr5YYVCQFuD","adobe-idp-site-verification=b92c9e999aef825edc36e0a3d847d2dbad5b2fc0e05c79ddd7a16139b48ecf4b","anthropic-domain-verification-4az7qn=if8YWuRRqwLycGJDooumzHtxm","apple-domain-verification=RyQhdzTl6Z6x8ZP4","atlassian-domain-verification=jjgw98AKv2aeoYFxiL/VFaoyPkn3undEssTRuMg6C/3Fp/iqhkV4HVV7WjYlVeF8","calendly-site-verification=at0DQARi7IZvJtXQAWhMqpmIzpvoBNF7aam5VKKxP","cursor-domain-verification-gtfwmt=1rfLOtiTngX5QSxD5HvNKTvm3","docusign=087098e3-3d46-47b7-9b4e-8a23028154cd","facebook-domain-verification=39xu4jzl7roi7x0n93ldkxjiaarx50","google-site-verification=82Le34Flgtd15ojYhHlGF_6g72muSjamlMVThBOJpks","google-site-verification=UTM-3akMgubp6tQtgEuAkYNYLyYAvpTnnSrDMWoDR3o","jamf-site-verification=XtaPNIYghF_e_xRDI8CjgQ","krisp-domain-verification=ZlyiK7XLhnaoUQb2hpak1PLY7dFkl1WE","loom-site-verification=f3787154f1154b7880e720a511ea664d","miro-verification=d2e174fdb00c71e0bcf58f8e58c3da2dd80dcfa9","openai-domain-verification=dv-3nh33eQwdkotMIAzLrIDVZo1","serval-domain-verification-ydryhj=qbkiEakpwEpTvHh5fIiCqtaue","shopify-verification-code=t1YPwcmvnxZyBycaCpk1MPyWoFs72o","stripe-verification=f88ef17321660a01bab1660454192e014defa29ba7b8de9633c69d6b4912217f","v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks.google.com include:_netblocks2.google.com include:mail.zendesk.com include:_spf.salesforce.com include:servers.mcsv.net include:mktomail.com include:sendgrid.net ip4:62.253.227.114 ip4:166.78.69.169 ip4:166.78.69.170 ip4:166.78.71.131 ~all"],"caa":[{"flags":0,"tag":"issue","value":"digicert.com"},{"flags":0,"tag":"issue","value":"globalsign.com"},{"flags":0,"tag":"issue","value":"letsencrypt.org"},{"flags":0,"tag":"issue","value":"sectigo.com"},{"flags":0,"tag":"issuewild","value":"digicert.com"},{"flags":0,"tag":"issuewild","value":"letsencrypt.org"},{"flags":0,"tag":"issuewild","value":"sectigo.com"}],"wwwCname":"github.com","dmarc":"v=DMARC1; p=quarantine; sp=reject; pct=100; rua=mailto:dmarc@github.com; ruf=mailto:dmarc@github.com; fo=1"},"emailSecurity":{"grade":"B","hasMx":true,"spfPolicy":"softfail","spfDnsLookups":10,"dmarcPolicy":"quarantine","spf":{"record":"v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks.google.com include:_netblocks2.google.com include:mail.zendesk.com include:_spf.salesforce.com include:servers.mcsv.net include:mktomail.com include:sendgrid.net ip4:62.253.227.114 ip4:166.78.69.169 ip4:166.78.69.170 ip4:166.78.71.131 ~all","policy":"softfail","includes":["spf.protection.outlook.com","_netblocks.google.com","_netblocks2.google.com","mail.zendesk.com","_spf.salesforce.com","servers.mcsv.net","mktomail.com","sendgrid.net"],"dnsLookups":8,"multipleRecords":false},"dmarc":{"record":"v=DMARC1; p=quarantine; sp=reject; pct=100; rua=mailto:dmarc@github.com; ruf=mailto:dmarc@github.com; fo=1","policy":"quarantine","subdomainPolicy":"reject","pct":100,"rua":["mailto:dmarc@github.com"],"multipleRecords":false},"issues":["DMARC policy is p=quarantine (p=reject is stronger)"],"note":"DKIM is not checked (it needs the sender's selector)."}}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"dns","summary":"DNS records and e-mail security grade","description":"All common DNS records via DNS-over-HTTPS, plus SPF (includes followed, RFC 7208 lookup limit) and DMARC analysis graded A–F.\n\nThe same parameters as the GET form, sent as a JSON body.","tags":["Domain"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain, URL or e-mail address."},"emailSecurity":{"type":"boolean","default":true,"description":"Grade SPF and DMARC."},"exactHost":{"type":"boolean","default":false,"description":"Look up the exact host given (e.g. `mail.example.com`) instead of the registrable domain."}},"required":["domain"]}}}},"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"domain":{"type":"string"},"resolves":{"type":"boolean"},"rcode":{"type":"string"},"records":{"type":"object","properties":{"a":{"type":"array","items":{"type":"string"}},"aaaa":{"type":"array","items":{}},"mx":{"type":"array","items":{"type":"object","properties":{"priority":{"type":"integer"},"host":{"type":"string"}}}},"ns":{"type":"array","items":{"type":"string"}},"txt":{"type":"array","items":{"type":"string"}},"caa":{"type":"array","items":{"type":"object","properties":{"flags":{"type":"integer"},"tag":{"type":"string"},"value":{"type":"string"}}}},"wwwCname":{"type":"string"},"dmarc":{"type":"string"}}},"emailSecurity":{"type":"object","properties":{"grade":{"type":"string"},"hasMx":{"type":"boolean"},"spfPolicy":{"type":"string"},"spfDnsLookups":{"type":"integer"},"dmarcPolicy":{"type":"string"},"spf":{"type":"object","properties":{"record":{"type":"string"},"policy":{"type":"string"},"includes":{"type":"array","items":{"type":"string"}},"dnsLookups":{"type":"integer"},"multipleRecords":{"type":"boolean"}}},"dmarc":{"type":"object","properties":{"record":{"type":"string"},"policy":{"type":"string"},"subdomainPolicy":{"type":"string"},"pct":{"type":"integer"},"rua":{"type":"array","items":{"type":"string"}},"multipleRecords":{"type":"boolean"}}},"issues":{"type":"array","items":{"type":"string"}},"note":{"type":"string"}}}}},"example":{"success":true,"domain":"github.com","resolves":true,"rcode":"NOERROR","records":{"a":["20.205.243.166"],"aaaa":[],"mx":[{"priority":0,"host":"github-com.mail.protection.outlook.com"}],"ns":["dns1.p08.nsone.net","dns2.p08.nsone.net","dns3.p08.nsone.net","dns4.p08.nsone.net","ns-1283.awsdns-32.org","ns-1707.awsdns-21.co.uk","ns-421.awsdns-52.com","ns-520.awsdns-01.net"],"txt":["00Dd0000000hHE0=1TBKg000000TN2r","MS=6BF03E6AF5CB689E315FB6199603BABF2C88D805","MS=ms44452932","MS=ms58704441","TAILSCALE-xOzoDvFUzZr5YYVCQFuD","adobe-idp-site-verification=b92c9e999aef825edc36e0a3d847d2dbad5b2fc0e05c79ddd7a16139b48ecf4b","anthropic-domain-verification-4az7qn=if8YWuRRqwLycGJDooumzHtxm","apple-domain-verification=RyQhdzTl6Z6x8ZP4","atlassian-domain-verification=jjgw98AKv2aeoYFxiL/VFaoyPkn3undEssTRuMg6C/3Fp/iqhkV4HVV7WjYlVeF8","calendly-site-verification=at0DQARi7IZvJtXQAWhMqpmIzpvoBNF7aam5VKKxP","cursor-domain-verification-gtfwmt=1rfLOtiTngX5QSxD5HvNKTvm3","docusign=087098e3-3d46-47b7-9b4e-8a23028154cd","facebook-domain-verification=39xu4jzl7roi7x0n93ldkxjiaarx50","google-site-verification=82Le34Flgtd15ojYhHlGF_6g72muSjamlMVThBOJpks","google-site-verification=UTM-3akMgubp6tQtgEuAkYNYLyYAvpTnnSrDMWoDR3o","jamf-site-verification=XtaPNIYghF_e_xRDI8CjgQ","krisp-domain-verification=ZlyiK7XLhnaoUQb2hpak1PLY7dFkl1WE","loom-site-verification=f3787154f1154b7880e720a511ea664d","miro-verification=d2e174fdb00c71e0bcf58f8e58c3da2dd80dcfa9","openai-domain-verification=dv-3nh33eQwdkotMIAzLrIDVZo1","serval-domain-verification-ydryhj=qbkiEakpwEpTvHh5fIiCqtaue","shopify-verification-code=t1YPwcmvnxZyBycaCpk1MPyWoFs72o","stripe-verification=f88ef17321660a01bab1660454192e014defa29ba7b8de9633c69d6b4912217f","v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks.google.com include:_netblocks2.google.com include:mail.zendesk.com include:_spf.salesforce.com include:servers.mcsv.net include:mktomail.com include:sendgrid.net ip4:62.253.227.114 ip4:166.78.69.169 ip4:166.78.69.170 ip4:166.78.71.131 ~all"],"caa":[{"flags":0,"tag":"issue","value":"digicert.com"},{"flags":0,"tag":"issue","value":"globalsign.com"},{"flags":0,"tag":"issue","value":"letsencrypt.org"},{"flags":0,"tag":"issue","value":"sectigo.com"},{"flags":0,"tag":"issuewild","value":"digicert.com"},{"flags":0,"tag":"issuewild","value":"letsencrypt.org"},{"flags":0,"tag":"issuewild","value":"sectigo.com"}],"wwwCname":"github.com","dmarc":"v=DMARC1; p=quarantine; sp=reject; pct=100; rua=mailto:dmarc@github.com; ruf=mailto:dmarc@github.com; fo=1"},"emailSecurity":{"grade":"B","hasMx":true,"spfPolicy":"softfail","spfDnsLookups":10,"dmarcPolicy":"quarantine","spf":{"record":"v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks.google.com include:_netblocks2.google.com include:mail.zendesk.com include:_spf.salesforce.com include:servers.mcsv.net include:mktomail.com include:sendgrid.net ip4:62.253.227.114 ip4:166.78.69.169 ip4:166.78.69.170 ip4:166.78.71.131 ~all","policy":"softfail","includes":["spf.protection.outlook.com","_netblocks.google.com","_netblocks2.google.com","mail.zendesk.com","_spf.salesforce.com","servers.mcsv.net","mktomail.com","sendgrid.net"],"dnsLookups":8,"multipleRecords":false},"dmarc":{"record":"v=DMARC1; p=quarantine; sp=reject; pct=100; rua=mailto:dmarc@github.com; ruf=mailto:dmarc@github.com; fo=1","policy":"quarantine","subdomainPolicy":"reject","pct":100,"rua":["mailto:dmarc@github.com"],"multipleRecords":false},"issues":["DMARC policy is p=quarantine (p=reject is stronger)"],"note":"DKIM is not checked (it needs the sender's selector)."}}}}},"400":{"description":"Invalid parameter (`invalid_request`) or a private/local target (`url_not_allowed`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"url_not_allowed","message":"private, local and reserved hosts are not allowed"}}}}},"413":{"description":"Request body or target document too large (`too_large`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The target site refused (`target_blocked`), could not be reached or its domain does not resolve (`target_unreachable`), the page does not exist (`target_error`, HTTP 404/410), or returned unsupported content.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"success":false,"error":{"code":"target_blocked","message":"The target refused the request: target returned HTTP 403","details":{"targetStatus":403,"finalUrl":"https://www.g2.com/"}}}}}},"502":{"description":"Temporary failure on our side (`upstream_error`); safe to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"The target did not respond in time (`timeout`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["success","error"],"properties":{"success":{"const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["not_configured","unauthorized","not_found","method_not_allowed","invalid_request","rate_limited","url_not_allowed","target_blocked","target_unreachable","target_error","unsupported_content","too_large","timeout","upstream_error","board_not_found","app_not_found"]},"message":{"type":"string"},"retryable":{"type":"boolean","description":"true for rate_limited, timeout, upstream_error and browser_busy; false for other errors."},"retryAfterSeconds":{"type":"integer","description":"Seconds to wait before retrying, when a numeric Retry-After header is present."},"details":{"type":"object","additionalProperties":true}}}}}}}}