{"openapi":"3.1.0","info":{"title":"Cloudflare IP Addressing (BYOK) API","version":"0.1.0","description":"Cloudflare IP Addressing (BYOK) lets an AI assistant read your own Cloudflare IP Addressing data through the Cloudflare IP Addressing API with a key you supply (Cloudflare API token with Addressing read permission). Read-only: 11 tools (list_prefixes, get_prefix, list_bgp_prefixes, get_advertisement_status, list_service_bindings, list_prefix_delegations, list_address_maps, list_bindable_services,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cloudflare-ip-addressing.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cloudflare-ip-addressing/docs"},"termsOfService":"https://connectorbay.com/byok-cloudflare-ip-addressing/terms"},"servers":[{"url":"https://byok-cloudflare-ip-addressing.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cloudflare-ip-addressing/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/list_prefixes":{"post":{"operationId":"list_prefixes","summary":"List the account's BYOIP prefixes with CIDR, ASN, advertisement state, approval and IRR, RPKI and ownership validation s","description":"List the account's BYOIP prefixes with CIDR, ASN, advertisement state, approval and IRR, RPKI and ownership validation states. Ownership validation tokens are not returned. Use for \"Are my BYOIP prefixes advertised and validated\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"list_prefixesArguments","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_prefix":{"post":{"operationId":"get_prefix","summary":"Get one BYOIP prefix with CIDR, ASN, advertisement state and validation states. Ownership validation tokens are not retu","description":"Get one BYOIP prefix with CIDR, ASN, advertisement state and validation states. Ownership validation tokens are not returned. Use for \"Show prefix 2af39739cc4e3b4d8ec9eab3fd22b3a7\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"},"prefix_id":{"description":"IP prefix id (32-character hex string), as returned by list_prefixes.","maxLength":64,"title":"Prefix Id","type":"string"}},"required":["account_id","prefix_id"],"title":"get_prefixArguments","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_bgp_prefixes":{"post":{"operationId":"list_bgp_prefixes","summary":"List the BGP prefixes (sub-ranges) of an IP prefix with ASN prepend count, on-demand and BGP signaling state. Use for \"W","description":"List the BGP prefixes (sub-ranges) of an IP prefix with ASN prepend count, on-demand and BGP signaling state. Use for \"Which BGP prefixes belong to prefix 2af39739cc4e3b4d8ec9eab3fd22b3a7\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"},"prefix_id":{"description":"IP prefix id (32-character hex string), as returned by list_prefixes.","maxLength":64,"title":"Prefix Id","type":"string"}},"required":["account_id","prefix_id"],"title":"list_bgp_prefixesArguments","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_advertisement_status":{"post":{"operationId":"get_advertisement_status","summary":"Show whether a prefix is currently advertised by Cloudflare and when that last changed. Use for \"Is prefix 2af39739cc4e3","description":"Show whether a prefix is currently advertised by Cloudflare and when that last changed. Use for \"Is prefix 2af39739cc4e3b4d8ec9eab3fd22b3a7 advertised right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"},"prefix_id":{"description":"IP prefix id (32-character hex string), as returned by list_prefixes.","maxLength":64,"title":"Prefix Id","type":"string"}},"required":["account_id","prefix_id"],"title":"get_advertisement_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_service_bindings":{"post":{"operationId":"list_service_bindings","summary":"List the Cloudflare services (such as Magic Transit or Spectrum) a prefix is bound to, with CIDR and provisioning state.","description":"List the Cloudflare services (such as Magic Transit or Spectrum) a prefix is bound to, with CIDR and provisioning state. Use for \"Which services use prefix 2af39739cc4e3b4d8ec9eab3fd22b3a7\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"},"prefix_id":{"description":"IP prefix id (32-character hex string), as returned by list_prefixes.","maxLength":64,"title":"Prefix Id","type":"string"}},"required":["account_id","prefix_id"],"title":"list_service_bindingsArguments","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_prefix_delegations":{"post":{"operationId":"list_prefix_delegations","summary":"List the accounts a prefix is delegated to, with the delegated CIDR and dates. Use for \"Which accounts is prefix 2af3973","description":"List the accounts a prefix is delegated to, with the delegated CIDR and dates. Use for \"Which accounts is prefix 2af39739cc4e3b4d8ec9eab3fd22b3a7 delegated to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"},"prefix_id":{"description":"IP prefix id (32-character hex string), as returned by list_prefixes.","maxLength":64,"title":"Prefix Id","type":"string"}},"required":["account_id","prefix_id"],"title":"list_prefix_delegationsArguments","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_address_maps":{"post":{"operationId":"list_address_maps","summary":"List address maps (static IPs assigned to zones) with enabled flag, default SNI and description. Use for \"Which address ","description":"List address maps (static IPs assigned to zones) with enabled flag, default SNI and description. Use for \"Which address maps do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"list_address_mapsArguments","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_bindable_services":{"post":{"operationId":"list_bindable_services","summary":"List the Cloudflare services a prefix can be bound to (id and name). Use for \"Which services can I bind a BYOIP prefix t","description":"List the Cloudflare services a prefix can be bound to (id and name). Use for \"Which services can I bind a BYOIP prefix to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"list_bindable_servicesArguments","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_loa_documents":{"post":{"operationId":"list_loa_documents","summary":"List Letter of Authorization documents with file name, size, verification state and dates. Document contents are not ret","description":"List Letter of Authorization documents with file name, size, verification state and dates. Document contents are not returned. Use for \"Which LOA documents are verified\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"list_loa_documentsArguments","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_regional_hostname_regions":{"post":{"operationId":"list_regional_hostname_regions","summary":"List the regions available for Regional Hostnames (key and label). Use for \"Which regions can I use for Regional Hostnam","description":"List the regions available for Regional Hostnames (key and label). Use for \"Which regions can I use for Regional Hostnames\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Cloudflare account id (32-character hex string shown in the dashboard URL, or from the Cloudflare connector's list_accounts).","maxLength":40,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"list_regional_hostname_regionsArguments","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_regional_hostnames":{"post":{"operationId":"list_regional_hostnames","summary":"List a zone's Regional Hostnames with region key, routing mode and creation time. Use for \"Which hostnames of my zone ar","description":"List a zone's Regional Hostnames with region key, routing mode and creation time. Use for \"Which hostnames of my zone are pinned to a region\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"zone_id":{"description":"Cloudflare zone id (32-character hex string, from the Cloudflare connector's list_zones).","maxLength":40,"title":"Zone Id","type":"string"}},"required":["zone_id"],"title":"list_regional_hostnamesArguments","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}}}}