{"openapi":"3.1.0","info":{"title":"cloudscale.ch (BYOK) API","version":"0.1.0","description":"cloudscale.ch (BYOK) lets an AI assistant read your own cloudscale.ch data through the cloudscale.ch API with a key you supply (API token (a read-only token is enough)). Read-only: 12 tools (list_regions, list_servers, get_server, list_server_groups, list_flavors, list_images, list_volumes, list_floating_ips, list_networks, list_subnets, list_load_balancers, list_load_balancer_pools). The BYOK...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cloudscale.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cloudscale/docs"},"termsOfService":"https://connectorbay.com/byok-cloudscale/terms"},"servers":[{"url":"https://byok-cloudscale.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cloudscale/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_regions":{"post":{"operationId":"list_regions","summary":"List the cloudscale.ch regions and the zones inside each region. Use for \"Which cloudscale.ch regions and zones exist\".","description":"List the cloudscale.ch regions and the zones inside each region. Use for \"Which cloudscale.ch regions and zones exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_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_servers":{"post":{"operationId":"list_servers","summary":"List all servers of the account with status, zone, flavor, image, attached volumes, network interfaces with IP addresses","description":"List all servers of the account with status, zone, flavor, image, attached volumes, network interfaces with IP addresses, server groups and tags. SSH host keys are not returned. Use for \"Which of my cloudscale.ch servers are running and what are their IPs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"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 by UUID with status, flavor, image, volumes, network interfaces with IP addresses, server groups and tags","description":"Get one server by UUID with status, flavor, image, volumes, network interfaces with IP addresses, server groups and tags. Use for \"Show the details of cloudscale.ch server 47cec963-fcd2-482f-bdb6-24461b2d47b1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"uuid":{"description":"UUID of the server, as returned by the matching list tool.","maxLength":200,"title":"Uuid","type":"string"}},"required":["uuid"],"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_server_groups":{"post":{"operationId":"list_server_groups","summary":"List server groups (anti-affinity groups) with their member servers and zone. Use for \"Which servers are in an anti-affi","description":"List server groups (anti-affinity groups) with their member servers and zone. Use for \"Which servers are in an anti-affinity group on cloudscale.ch\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_server_groupsArguments","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_flavors":{"post":{"operationId":"list_flavors","summary":"List available server flavors with vCPU count, memory in GiB, GPU specification and the zones where each is offered. Use","description":"List available server flavors with vCPU count, memory in GiB, GPU specification and the zones where each is offered. Use for \"Which cloudscale.ch flavors have at least 8 GiB of memory\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_flavorsArguments","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_images":{"post":{"operationId":"list_images","summary":"List the standard operating system images with default login user and the zones where each is available. Use for \"Which ","description":"List the standard operating system images with default login user and the zones where each is available. Use for \"Which operating system images does cloudscale.ch offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_imagesArguments","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 block storage volumes with size in GiB, type (ssd or bulk), zone, attached servers and any running operation. Use f","description":"List block storage volumes with size in GiB, type (ssd or bulk), zone, attached servers and any running operation. Use for \"How large are my cloudscale.ch volumes and which servers use them\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"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_floating_ips":{"post":{"operationId":"list_floating_ips","summary":"List floating IPs with IP version, type (regional or global), the server or load balancer they point to, region, next ho","description":"List floating IPs with IP version, type (regional or global), the server or load balancer they point to, region, next hop and reverse pointer. Use for \"Which floating IPs do I have on cloudscale.ch and where do they point\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_floating_ipsArguments","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_networks":{"post":{"operationId":"list_networks","summary":"List private networks with zone, MTU and their subnets. Use for \"Which private networks exist in my cloudscale.ch projec","description":"List private networks with zone, MTU and their subnets. Use for \"Which private networks exist in my cloudscale.ch project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_networksArguments","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_subnets":{"post":{"operationId":"list_subnets","summary":"List subnets with CIDR range, parent network, gateway address and DNS servers. Use for \"What CIDR ranges do my cloudscal","description":"List subnets with CIDR range, parent network, gateway address and DNS servers. Use for \"What CIDR ranges do my cloudscale.ch subnets use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_subnetsArguments","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_load_balancers":{"post":{"operationId":"list_load_balancers","summary":"List load balancers with status, zone, flavor and virtual IP addresses. Use for \"Are my cloudscale.ch load balancers hea","description":"List load balancers with status, zone, flavor and virtual IP addresses. Use for \"Are my cloudscale.ch load balancers healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_load_balancersArguments","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_load_balancer_pools":{"post":{"operationId":"list_load_balancer_pools","summary":"List load balancer pools with the owning load balancer, balancing algorithm and member protocol. Use for \"Which algorith","description":"List load balancer pools with the owning load balancer, balancing algorithm and member protocol. Use for \"Which algorithm do my cloudscale.ch load balancer pools use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_load_balancer_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}}}}