{"openapi":"3.1.0","info":{"title":"Blaxel (BYOK) API","version":"0.1.0","description":"Blaxel (BYOK) lets an AI assistant read your own Blaxel data through the Blaxel API with a key you supply (Blaxel API key). Read-only: 10 tools (list_agents, list_mcp_servers, list_sandboxes, list_batch_jobs, list_model_endpoints, list_snapshots, list_volumes, list_governance_policies, list_deployment_regions, get_workspace). The BYOK key travels with each request, is used for that one call only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-blaxel.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-blaxel/docs"},"termsOfService":"https://connectorbay.com/byok-blaxel/terms"},"servers":[{"url":"https://byok-blaxel.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-blaxel/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_agents":{"post":{"operationId":"list_agents","summary":"List agents deployed in the workspace with name, deployment status, region and endpoint URL, newest first, with cursor p","description":"List agents deployed in the workspace with name, deployment status, region and endpoint URL, newest first, with cursor paging. Use for \"Which agents are deployed in my Blaxel workspace\".","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 results to return (1 to 200, default 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque cursor from meta.nextCursor of the previous answer; leave empty for the first page.","title":"Cursor"},"sort":{"anyOf":[{"enum":["createdAt:desc","createdAt:asc","name:asc","name:desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: createdAt:desc (default), createdAt:asc, name:asc or name:desc.","title":"Sort"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text filter on resource names.","title":"Query"},"status":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only resources in this deployment status, for example DEPLOYED, BUILDING or FAILED.","title":"Status"}},"title":"list_agentsArguments","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_mcp_servers":{"post":{"operationId":"list_mcp_servers","summary":"List MCP server functions deployed in the workspace with status, region and endpoint URL. Use for \"Which MCP servers do ","description":"List MCP server functions deployed in the workspace with status, region and endpoint URL. Use for \"Which MCP servers do I have running on Blaxel\".","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 results to return (1 to 200, default 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque cursor from meta.nextCursor of the previous answer; leave empty for the first page.","title":"Cursor"},"sort":{"anyOf":[{"enum":["createdAt:desc","createdAt:asc","name:asc","name:desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: createdAt:desc (default), createdAt:asc, name:asc or name:desc.","title":"Sort"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text filter on resource names.","title":"Query"},"status":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only resources in this deployment status, for example DEPLOYED, BUILDING or FAILED.","title":"Status"}},"title":"list_mcp_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/list_sandboxes":{"post":{"operationId":"list_sandboxes","summary":"List sandboxes with state (RUNNING or STANDBY), status, region, last use time and expiry; terminated ones are hidden unl","description":"List sandboxes with state (RUNNING or STANDBY), status, region, last use time and expiry; terminated ones are hidden unless asked for. Use for \"Which Blaxel sandboxes are running right now\".","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 results to return (1 to 200, default 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque cursor from meta.nextCursor of the previous answer; leave empty for the first page.","title":"Cursor"},"sort":{"anyOf":[{"enum":["createdAt:desc","createdAt:asc","name:asc","name:desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: createdAt:desc (default), createdAt:asc, name:asc or name:desc.","title":"Sort"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text filter on resource names.","title":"Query"},"status":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only resources in this deployment status, for example DEPLOYED, BUILDING or FAILED.","title":"Status"},"show_terminated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include terminated sandboxes.","title":"Show Terminated"}},"title":"list_sandboxesArguments","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_batch_jobs":{"post":{"operationId":"list_batch_jobs","summary":"List batch job definitions in the workspace with status, region and creation time. Use for \"What batch jobs are defined ","description":"List batch job definitions in the workspace with status, region and creation time. Use for \"What batch jobs are defined in my Blaxel workspace\".","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 results to return (1 to 200, default 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque cursor from meta.nextCursor of the previous answer; leave empty for the first page.","title":"Cursor"},"sort":{"anyOf":[{"enum":["createdAt:desc","createdAt:asc","name:asc","name:desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: createdAt:desc (default), createdAt:asc, name:asc or name:desc.","title":"Sort"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text filter on resource names.","title":"Query"},"status":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only resources in this deployment status, for example DEPLOYED, BUILDING or FAILED.","title":"Status"}},"title":"list_batch_jobsArguments","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_endpoints":{"post":{"operationId":"list_model_endpoints","summary":"List model gateway endpoints (proxies to external model providers) with status and endpoint URL. Use for \"Which model ga","description":"List model gateway endpoints (proxies to external model providers) with status and endpoint URL. Use for \"Which model gateway endpoints are configured in Blaxel\".","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 results to return (1 to 200, default 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque cursor from meta.nextCursor of the previous answer; leave empty for the first page.","title":"Cursor"},"sort":{"anyOf":[{"enum":["createdAt:desc","createdAt:asc","name:asc","name:desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: createdAt:desc (default), createdAt:asc, name:asc or name:desc.","title":"Sort"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text filter on resource names.","title":"Query"},"status":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only resources in this deployment status, for example DEPLOYED, BUILDING or FAILED.","title":"Status"}},"title":"list_model_endpointsArguments","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 sandbox snapshots with id, name, source sandbox, memory size, region and status. Use for \"What sandbox snapshots do","description":"List sandbox snapshots with id, name, source sandbox, memory size, region and status. Use for \"What sandbox snapshots do I have in Blaxel\".","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 results to return (1 to 200, default 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque cursor from meta.nextCursor of the previous answer; leave empty for the first page.","title":"Cursor"},"sort":{"anyOf":[{"enum":["createdAt:desc","createdAt:asc","name:asc","name:desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: createdAt:desc (default), createdAt:asc, name:asc or name:desc.","title":"Sort"}},"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_volumes":{"post":{"operationId":"list_volumes","summary":"List persistent volumes with size, region, status and the resource each is attached to. Use for \"How big are my Blaxel v","description":"List persistent volumes with size, region, status and the resource each is attached to. Use for \"How big are my Blaxel volumes and what are they attached to\".","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 results to return (1 to 200, default 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque cursor from meta.nextCursor of the previous answer; leave empty for the first page.","title":"Cursor"},"sort":{"anyOf":[{"enum":["createdAt:desc","createdAt:asc","name:asc","name:desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: createdAt:desc (default), createdAt:asc, name:asc or name:desc.","title":"Sort"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text filter on resource names.","title":"Query"},"status":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only resources in this deployment status, for example DEPLOYED, BUILDING or FAILED.","title":"Status"}},"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_governance_policies":{"post":{"operationId":"list_governance_policies","summary":"List governance policies (location, flavor or max-token rules) with the number of agents, MCP servers, jobs, models and ","description":"List governance policies (location, flavor or max-token rules) with the number of agents, MCP servers, jobs, models and sandboxes using each. Use for \"Which governance policies exist in my Blaxel workspace\".","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 results to return (1 to 200, default 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Opaque cursor from meta.nextCursor of the previous answer; leave empty for the first page.","title":"Cursor"},"sort":{"anyOf":[{"enum":["createdAt:desc","createdAt:asc","name:asc","name:desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order: createdAt:desc (default), createdAt:asc, name:asc or name:desc.","title":"Sort"}},"title":"list_governance_policiesArguments","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_deployment_regions":{"post":{"operationId":"list_deployment_regions","summary":"List the regions Blaxel can deploy to, with continent, country, status and available CPU or GPU flavors. Use for \"Which ","description":"List the regions Blaxel can deploy to, with continent, country, status and available CPU or GPU flavors. Use for \"Which regions can I deploy to on Blaxel\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_deployment_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/get_workspace":{"post":{"operationId":"get_workspace","summary":"Get one workspace's display name, region, status, account id and creation time. Use for \"What is the status and region o","description":"Get one workspace's display name, region, status, account id and creation time. Use for \"What is the status and region of my Blaxel workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_name":{"description":"Workspace name, for example 'acme-prod'.","maxLength":200,"title":"Workspace Name","type":"string"},"count_resources":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to also include resource counts per type.","title":"Count Resources"}},"required":["workspace_name"],"title":"get_workspaceArguments","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}}}}