{"openapi":"3.1.0","info":{"title":"Unstoppable Domains (BYOK) API","version":"0.1.0","description":"Unstoppable Domains (BYOK) lets an AI assistant read your own Unstoppable Domains data through the Unstoppable Domains API with a key you supply (Unstoppable Domains Resolution Service API key). Read-only: 5 tools (get_domain, get_domain_records, get_latest_transfer, get_resolution_status, list_supported_tlds). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-unstoppabledomains.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-unstoppabledomains/docs"},"termsOfService":"https://connectorbay.com/byok-unstoppabledomains/terms"},"servers":[{"url":"https://byok-unstoppabledomains.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-unstoppabledomains/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_domain":{"post":{"operationId":"get_domain","summary":"Get a domain's registry details: owner address, resolver, registry, blockchain, network id, token id, namehash and wheth","description":"Get a domain's registry details: owner address, resolver, registry, blockchain, network id, token id, namehash and whether reverse resolution is set. Use for \"Who owns the domain brad.crypto and on which blockchain is it registered\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_name":{"description":"A domain name resolved by Unstoppable Domains, for example 'brad.crypto', 'example.x' or 'vitalik.eth'.","maxLength":200,"title":"Domain Name","type":"string"}},"required":["domain_name"],"title":"get_domainArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_domain_records":{"post":{"operationId":"get_domain_records","summary":"Get all records a domain publishes: crypto addresses per currency (crypto.ETH.address), IPFS and website pointers, socia","description":"Get all records a domain publishes: crypto addresses per currency (crypto.ETH.address), IPFS and website pointers, social handles and other keys. Use for \"Which crypto addresses does brad.crypto publish\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_name":{"description":"A domain name resolved by Unstoppable Domains, for example 'brad.crypto', 'example.x' or 'vitalik.eth'.","maxLength":200,"title":"Domain Name","type":"string"}},"required":["domain_name"],"title":"get_domain_recordsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_latest_transfer":{"post":{"operationId":"get_latest_transfer","summary":"Get the most recent ownership transfer of a domain: previous and new owner address, network, block number and blockchain","description":"Get the most recent ownership transfer of a domain: previous and new owner address, network, block number and blockchain. Use for \"When was brad.crypto last transferred and to whom\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_name":{"description":"A domain name resolved by Unstoppable Domains, for example 'brad.crypto', 'example.x' or 'vitalik.eth'.","maxLength":200,"title":"Domain Name","type":"string"}},"required":["domain_name"],"title":"get_latest_transferArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_resolution_status":{"post":{"operationId":"get_resolution_status","summary":"Show how up to date the service's mirror of each supported blockchain is (latest network block, latest mirrored block an","description":"Show how up to date the service's mirror of each supported blockchain is (latest network block, latest mirrored block and allowed delay). Use for \"Is the Unstoppable Domains resolution service in sync with the blockchains\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_resolution_statusArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_supported_tlds":{"post":{"operationId":"list_supported_tlds","summary":"List the top-level domain endings the service resolves (for example crypto, x, polygon, nft, dao, eth). Use for \"Which d","description":"List the top-level domain endings the service resolves (for example crypto, x, polygon, nft, dao, eth). Use for \"Which domain endings does Unstoppable Domains support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_supported_tldsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}