{"openapi":"3.1.0","info":{"title":"Vercel Domain Registrar (BYOK) API","version":"0.1.0","description":"Vercel Domain Registrar (BYOK) lets an AI assistant read your own Vercel Domain Registrar data through the Vercel Domain Registrar API with a key you supply (access token). Read-only: 7 tools (check_domain_availability, get_domain_price, get_tld_price, get_tld_info, get_domain_transfer_status, get_registrar_order, get_contact_verification). The BYOK key travels with each request, is used for that...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-vercel-registrar.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-vercel-registrar/docs"},"termsOfService":"https://connectorbay.com/byok-vercel-registrar/terms"},"servers":[{"url":"https://byok-vercel-registrar.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-vercel-registrar/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/check_domain_availability":{"post":{"operationId":"check_domain_availability","summary":"Check whether a domain name can be registered through Vercel. Reading availability does not buy anything. Use for \"Is ex","description":"Check whether a domain name can be registered through Vercel. Reading availability does not buy anything. Use for \"Is example.dev available to register on Vercel\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Domain name, for example example.com.","maxLength":253,"title":"Domain","type":"string"},"team_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Team ID (starts with 'team_') to act on behalf of; omit to use the personal account.","title":"Team Id"}},"required":["domain"],"title":"check_domain_availabilityArguments","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_price":{"post":{"operationId":"get_domain_price","summary":"Get the purchase, renewal and transfer price of a domain for a number of years. Use for \"How much does registering examp","description":"Get the purchase, renewal and transfer price of a domain for a number of years. Use for \"How much does registering example.dev cost on Vercel\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Domain name, for example example.com.","maxLength":253,"title":"Domain","type":"string"},"years":{"anyOf":[{"maximum":10,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Registration or renewal period in years.","title":"Years"},"team_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Team ID (starts with 'team_') to act on behalf of; omit to use the personal account.","title":"Team Id"}},"required":["domain"],"title":"get_domain_priceArguments","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_tld_price":{"post":{"operationId":"get_tld_price","summary":"Get the purchase, renewal and transfer price of a top-level domain for a number of years. Use for \"How much does a .io d","description":"Get the purchase, renewal and transfer price of a top-level domain for a number of years. Use for \"How much does a .io domain cost on Vercel\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tld":{"description":"Top-level domain without the dot, for example com.","maxLength":63,"title":"Tld","type":"string"},"years":{"anyOf":[{"maximum":10,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Registration or renewal period in years.","title":"Years"},"team_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Team ID (starts with 'team_') to act on behalf of; omit to use the personal account.","title":"Team Id"}},"required":["tld"],"title":"get_tld_priceArguments","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_tld_info":{"post":{"operationId":"get_tld_info","summary":"Get registrar details of a top-level domain, such as the language codes supported for internationalised names. Use for \"","description":"Get registrar details of a top-level domain, such as the language codes supported for internationalised names. Use for \"Which languages does Vercel support for the .com TLD\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tld":{"description":"Top-level domain without the dot, for example com.","maxLength":63,"title":"Tld","type":"string"},"team_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Team ID (starts with 'team_') to act on behalf of; omit to use the personal account.","title":"Team Id"}},"required":["tld"],"title":"get_tld_infoArguments","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_transfer_status":{"post":{"operationId":"get_domain_transfer_status","summary":"Get the status of a domain transfer into Vercel (created, pending, completed, failed, canceled). Use for \"Has the transf","description":"Get the status of a domain transfer into Vercel (created, pending, completed, failed, canceled). Use for \"Has the transfer of example.com to Vercel completed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Domain name, for example example.com.","maxLength":253,"title":"Domain","type":"string"},"team_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Team ID (starts with 'team_') to act on behalf of; omit to use the personal account.","title":"Team Id"}},"required":["domain"],"title":"get_domain_transfer_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/get_registrar_order":{"post":{"operationId":"get_registrar_order","summary":"Get one registrar order: order id, status (draft, purchasing, completed, failed), domains and any error. Use for \"Did my","description":"Get one registrar order: order id, status (draft, purchasing, completed, failed), domains and any error. Use for \"Did my Vercel domain purchase order complete\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"order_id":{"description":"Registrar order id.","maxLength":100,"title":"Order Id","type":"string"},"team_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Team ID (starts with 'team_') to act on behalf of; omit to use the personal account.","title":"Team Id"}},"required":["order_id"],"title":"get_registrar_orderArguments","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_contact_verification":{"post":{"operationId":"get_contact_verification","summary":"Show whether the registrant contact of a Vercel-registered domain has been verified (ICANN email verification). Use for ","description":"Show whether the registrant contact of a Vercel-registered domain has been verified (ICANN email verification). Use for \"Is the contact of example.com verified\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain":{"description":"Domain name, for example example.com.","maxLength":253,"title":"Domain","type":"string"},"team_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Team ID (starts with 'team_') to act on behalf of; omit to use the personal account.","title":"Team Id"}},"required":["domain"],"title":"get_contact_verificationArguments","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}}}}