{"openapi":"3.1.0","info":{"title":"Together AI GPU clusters, shared volumes, regions, projects and billing usage (your key) API","version":"0.1.0","description":"Together AI GPU clusters, shared volumes, regions, projects and billing usage (your key) lets an AI assistant read your own Together AI Compute data through the Together AI Compute API with a key you supply (API key). Read-only: 7 tools (list_clusters, get_cluster, list_regions, list_storage_volumes, get_storage_volume, list_projects, get_billing_usage). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-together-compute-billing.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-together-compute-billing/docs"},"termsOfService":"https://connectorbay.com/byok-together-compute-billing/terms"},"servers":[{"url":"https://byok-together-compute-billing.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-together-compute-billing/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_clusters":{"post":{"operationId":"list_clusters","summary":"List your Together AI GPU clusters with type, region, GPU type and count, status, billing type, reservation window and a","description":"List your Together AI GPU clusters with type, region, GPU type and count, status, billing type, reservation window and attached volumes. Kubeconfig and node details are not returned. Use for \"Which Together AI GPU clusters are running and how many GPUs do they have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only resources of this Together project id (starts with proj_). Omit for the key's default project.","title":"Project Id"}},"title":"list_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/get_cluster":{"post":{"operationId":"get_cluster","summary":"Get one GPU cluster's configuration, status, driver versions, reservation window and volumes. Kubeconfig and node detail","description":"Get one GPU cluster's configuration, status, driver versions, reservation window and volumes. Kubeconfig and node details are not returned. Use for \"What is the status and driver version of one of my Together AI GPU clusters\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster_id":{"description":"Cluster id, as returned by list_clusters.","maxLength":200,"title":"Cluster Id","type":"string"}},"required":["cluster_id"],"title":"get_clusterArguments","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_regions":{"post":{"operationId":"list_regions","summary":"List the regions where GPU clusters can be created with supported CUDA and NVIDIA driver versions. Use for \"Which Togeth","description":"List the regions where GPU clusters can be created with supported CUDA and NVIDIA driver versions. Use for \"Which Together AI regions and driver versions can I use for a GPU cluster\".","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_storage_volumes":{"post":{"operationId":"list_storage_volumes","summary":"List shared storage volumes for GPU clusters with size in TiB and status. Use for \"Which shared volumes do I have for my","description":"List shared storage volumes for GPU clusters with size in TiB and status. Use for \"Which shared volumes do I have for my Together AI GPU clusters\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only resources of this Together project id (starts with proj_). Omit for the key's default project.","title":"Project Id"}},"title":"list_storage_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/get_storage_volume":{"post":{"operationId":"get_storage_volume","summary":"Get one shared storage volume's size and status. Use for \"Is one of my Together AI shared volumes ready\".","description":"Get one shared storage volume's size and status. Use for \"Is one of my Together AI shared volumes ready\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"volume_id":{"description":"Volume id, as returned by list_storage_volumes.","maxLength":200,"title":"Volume Id","type":"string"}},"required":["volume_id"],"title":"get_storage_volumeArguments","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_projects":{"post":{"operationId":"list_projects","summary":"List the Together AI projects your key can access with organization name and slug. Use for \"Which Together AI projects c","description":"List the Together AI projects your key can access with organization name and slug. Use for \"Which Together AI projects can I access\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many projects to return.","title":"Limit"}},"title":"list_projectsArguments","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_billing_usage":{"post":{"operationId":"get_billing_usage","summary":"Get an organization's billing usage for a month as cost-annotated line items by day or hour (product, quantity, unit pri","description":"Get an organization's billing usage for a month as cost-annotated line items by day or hour (product, quantity, unit price, cost). Reading usage is free. Use for \"How much did I spend on Together AI last month by product\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"month":{"anyOf":[{"maxLength":7,"type":"string"},{"type":"null"}],"default":null,"description":"Billing month as YYYY-MM. Defaults to the current month.","title":"Month"},"organization_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Organization id. Defaults to the key's organization.","title":"Organization Id"},"granularity":{"anyOf":[{"enum":["day","hour"],"type":"string"},{"type":"null"}],"default":"day","description":"Size of each time window.","title":"Granularity"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many time windows to return (default 100).","title":"Limit"},"after":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: next_cursor of the previous page.","title":"After"}},"title":"get_billing_usageArguments","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}}}}