{"openapi":"3.1.0","info":{"title":"IONOS Cloud (BYOK) API","version":"0.1.0","description":"IONOS Cloud (BYOK) lets an AI assistant read your own IONOS Cloud data through the IONOS Cloud API with a key you supply (IONOS Cloud API token (JWT)). Read-only: 12 tools (list_datacenters, get_datacenter, list_servers, get_server, list_volumes, list_snapshots, list_ip_blocks, list_lans, list_kubernetes_clusters, list_kubernetes_node_pools, list_locations, get_contract_info). The BYOK key...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-ionos-cloud.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-ionos-cloud/docs"},"termsOfService":"https://connectorbay.com/byok-ionos-cloud/terms"},"servers":[{"url":"https://byok-ionos-cloud.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-ionos-cloud/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_datacenters":{"post":{"operationId":"list_datacenters","summary":"List your virtual data centers with name, description, location, version and features. Use for \"Which IONOS Cloud data c","description":"List your virtual data centers with name, description, location, version and features. Use for \"Which IONOS Cloud data centers do I have and where are they\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip from the start of the list.","title":"Offset"}},"title":"list_datacentersArguments","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_datacenter":{"post":{"operationId":"get_datacenter","summary":"Get one virtual data center: name, description, location, version, features and IPv6 CIDR block. Its child resources are","description":"Get one virtual data center: name, description, location, version, features and IPv6 CIDR block. Its child resources are left out (use the list tools). Use for \"Show IONOS data center 5b6c2b1a-0000-4000-8000-000000000001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"datacenter_id":{"description":"Virtual data center id (a UUID) from list_datacenters.","maxLength":64,"title":"Datacenter Id","type":"string"}},"required":["datacenter_id"],"title":"get_datacenterArguments","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_servers":{"post":{"operationId":"list_servers","summary":"List the servers of a data center with name, cores, RAM (MB), VM state, availability zone, CPU family and type. Use for ","description":"List the servers of a data center with name, cores, RAM (MB), VM state, availability zone, CPU family and type. Use for \"Which servers run in my IONOS data center and are they up\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"datacenter_id":{"description":"Virtual data center id (a UUID) from list_datacenters.","maxLength":64,"title":"Datacenter Id","type":"string"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip from the start of the list.","title":"Offset"}},"required":["datacenter_id"],"title":"list_serversArguments","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_server":{"post":{"operationId":"get_server","summary":"Get one server: name, hostname, cores, RAM, VM state, zone, CPU family, boot volume reference, network bandwidth cap and","description":"Get one server: name, hostname, cores, RAM, VM state, zone, CPU family, boot volume reference, network bandwidth cap and maintenance window. Use for \"What is the state and size of my IONOS server s1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"datacenter_id":{"description":"Virtual data center id (a UUID) from list_datacenters.","maxLength":64,"title":"Datacenter Id","type":"string"},"server_id":{"description":"Server id (a UUID) from list_servers.","maxLength":64,"title":"Server Id","type":"string"}},"required":["datacenter_id","server_id"],"title":"get_serverArguments","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_volumes":{"post":{"operationId":"list_volumes","summary":"List the storage volumes of a data center with name, type, size (GB), zone, image, bus and boot server. Passwords, SSH k","description":"List the storage volumes of a data center with name, type, size (GB), zone, image, bus and boot server. Passwords, SSH keys and user data are never returned. Use for \"How much storage do my IONOS volumes use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"datacenter_id":{"description":"Virtual data center id (a UUID) from list_datacenters.","maxLength":64,"title":"Datacenter Id","type":"string"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip from the start of the list.","title":"Offset"}},"required":["datacenter_id"],"title":"list_volumesArguments","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_snapshots":{"post":{"operationId":"list_snapshots","summary":"List volume snapshots of the account with name, location, size (GB), licence type and creation date. Use for \"Which volu","description":"List volume snapshots of the account with name, location, size (GB), licence type and creation date. Use for \"Which volume snapshots do I have on IONOS Cloud\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip from the start of the list.","title":"Offset"}},"title":"list_snapshotsArguments","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_ip_blocks":{"post":{"operationId":"list_ip_blocks","summary":"List reserved IP blocks with name, location, size, the IP addresses and which servers use them. Use for \"Which reserved ","description":"List reserved IP blocks with name, location, size, the IP addresses and which servers use them. Use for \"Which reserved IP addresses do I have on IONOS and who uses them\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip from the start of the list.","title":"Offset"}},"title":"list_ip_blocksArguments","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_lans":{"post":{"operationId":"list_lans","summary":"List the LANs of a data center with name, public flag, IPv4/IPv6 CIDR blocks and private cross connect. Use for \"Which n","description":"List the LANs of a data center with name, public flag, IPv4/IPv6 CIDR blocks and private cross connect. Use for \"Which networks (LANs) exist in my IONOS data center\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"datacenter_id":{"description":"Virtual data center id (a UUID) from list_datacenters.","maxLength":64,"title":"Datacenter Id","type":"string"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip from the start of the list.","title":"Offset"}},"required":["datacenter_id"],"title":"list_lansArguments","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_kubernetes_clusters":{"post":{"operationId":"list_kubernetes_clusters","summary":"List managed Kubernetes clusters with name, Kubernetes version, public flag, location, available upgrades and maintenanc","description":"List managed Kubernetes clusters with name, Kubernetes version, public flag, location, available upgrades and maintenance window. Use for \"Which IONOS Kubernetes clusters do I run and which version\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip from the start of the list.","title":"Offset"}},"title":"list_kubernetes_clustersArguments","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_kubernetes_node_pools":{"post":{"operationId":"list_kubernetes_node_pools","summary":"List the node pools of a Kubernetes cluster with node count, server type, cores, RAM, storage and auto-scaling limits. U","description":"List the node pools of a Kubernetes cluster with node count, server type, cores, RAM, storage and auto-scaling limits. Use for \"How many nodes does my IONOS Kubernetes cluster k1 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"Kubernetes cluster id (a UUID) from list_kubernetes_clusters.","maxLength":64,"title":"Cluster Id","type":"string"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip from the start of the list.","title":"Offset"}},"required":["cluster_id"],"title":"list_kubernetes_node_poolsArguments","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_locations":{"post":{"operationId":"list_locations","summary":"List the IONOS Cloud locations (regions) with name, metro region and supported features. Use for \"Where can I create ION","description":"List the IONOS Cloud locations (regions) with name, metro region and supported features. Use for \"Where can I create IONOS Cloud resources\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_locationsArguments","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_contract_info":{"post":{"operationId":"get_contract_info","summary":"Show the contract number, owner, status and resource limits and usage (cores, RAM, storage, reserved IPs, Kubernetes clu","description":"Show the contract number, owner, status and resource limits and usage (cores, RAM, storage, reserved IPs, Kubernetes clusters, NAT gateways). Use for \"How close am I to my IONOS contract limits for cores and RAM\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_contract_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}}}}