{"openapi":"3.1.0","info":{"title":"Baseten (BYOK) API","version":"0.1.0","description":"Baseten (BYOK) lets an AI assistant read your own Baseten data through the Baseten API with a key you supply (API key). Read-only: 9 tools (list_models, get_model, list_model_deployments, list_instance_types, list_instance_type_prices, list_regions, list_teams, list_model_apis, get_billing_usage_summary). The BYOK key travels with each request, is used for that one call only and is never stored,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-baseten.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-baseten/docs"},"termsOfService":"https://connectorbay.com/byok-baseten/terms"},"servers":[{"url":"https://byok-baseten.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-baseten/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_models":{"post":{"operationId":"list_models","summary":"List your Baseten models with team, instance type, deployment count and production and development deployment ids. Use f","description":"List your Baseten models with team, instance type, deployment count and production and development deployment ids. Use for \"Which models do I have deployed on Baseten\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only models with exactly this name.","title":"Name"}},"title":"list_modelsArguments","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_model":{"post":{"operationId":"get_model","summary":"Get one Baseten model by id: name, team, instance type, deployment count and deployment ids. Use for \"What instance type","description":"Get one Baseten model by id: name, team, instance type, deployment count and deployment ids. Use for \"What instance type does my Baseten model abcd1234 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"model_id":{"description":"Baseten model id as returned by list_models.","maxLength":200,"title":"Model Id","type":"string"}},"required":["model_id"],"title":"get_modelArguments","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_model_deployments":{"post":{"operationId":"list_model_deployments","summary":"List the deployments of a Baseten model with status, replica count, autoscaling limits, instance type, region and whethe","description":"List the deployments of a Baseten model with status, replica count, autoscaling limits, instance type, region and whether each is production. Use for \"Which deployments does my Baseten model have and are they active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"model_id":{"description":"Baseten model id as returned by list_models.","maxLength":200,"title":"Model Id","type":"string"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only deployments with exactly this name.","title":"Name"}},"required":["model_id"],"title":"list_model_deploymentsArguments","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_instance_types":{"post":{"operationId":"list_instance_types","summary":"List Baseten instance types with GPU type and count, GPU memory, CPU and memory limits. Use for \"What GPU instance types","description":"List Baseten instance types with GPU type and count, GPU memory, CPU and memory limits. Use for \"What GPU instance types does Baseten offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_instance_typesArguments","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_instance_type_prices":{"post":{"operationId":"list_instance_type_prices","summary":"List Baseten instance types with their usage price in USD per minute. Use for \"How much does each Baseten GPU instance t","description":"List Baseten instance types with their usage price in USD per minute. Use for \"How much does each Baseten GPU instance type cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_instance_type_pricesArguments","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 available to your Baseten organization. Use for \"In which regions can I deploy on Baseten\".","description":"List the regions available to your Baseten organization. Use for \"In which regions can I deploy on Baseten\".","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_teams":{"post":{"operationId":"list_teams","summary":"List the teams in your Baseten workspace with id, name, default flag and creation time. Use for \"What teams exist in my ","description":"List the teams in your Baseten workspace with id, name, default flag and creation time. Use for \"What teams exist in my Baseten workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only teams with exactly this name.","title":"Name"}},"title":"list_teamsArguments","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_model_apis":{"post":{"operationId":"list_model_apis","summary":"List the Baseten Model APIs catalog with context length, price per million input and output tokens, and release date. Us","description":"List the Baseten Model APIs catalog with context length, price per million input and output tokens, and release date. Use for \"Which hosted models does Baseten offer and what do they cost per million tokens\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many entries to return (1 to 1000, default 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.cursor.","title":"Cursor"},"added_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to list only Model APIs your workspace has added.","title":"Added Only"}},"title":"list_model_apisArguments","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_summary":{"post":{"operationId":"get_billing_usage_summary","summary":"Show Baseten billing usage for a date range of at most 31 days: totals and minutes for dedicated serving, training and M","description":"Show Baseten billing usage for a date range of at most 31 days: totals and minutes for dedicated serving, training and Model APIs. Use for \"How much did I spend on Baseten in the last 30 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_date":{"description":"Start of the range, ISO 8601 UTC, for example 2026-10-01T00:00:00Z (earliest 2026-01-01).","maxLength":200,"title":"Start Date","type":"string"},"end_date":{"description":"End of the range, ISO 8601 UTC; at most 31 days after start_date.","maxLength":200,"title":"End Date","type":"string"}},"required":["start_date","end_date"],"title":"get_billing_usage_summaryArguments","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}}}}