{"openapi":"3.1.0","info":{"title":"Roboflow (BYOK) API","version":"0.1.0","description":"Roboflow (BYOK) lets an AI assistant read your own Roboflow data through the Roboflow API with a key you supply (Roboflow private API key). Read-only: 8 tools (get_api_status, get_workspace, get_project, get_dataset_version, list_project_models, list_workflows, get_workflow, list_workflow_versions). The BYOK key travels with each request, is used for that one call only and is never stored, logged...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-roboflow.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-roboflow/docs"},"termsOfService":"https://connectorbay.com/byok-roboflow/terms"},"servers":[{"url":"https://byok-roboflow.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-roboflow/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/get_api_status":{"post":{"operationId":"get_api_status","summary":"Check that the key works and show which workspace it belongs to (the workspace slug used by the other tools). Use for \"W","description":"Check that the key works and show which workspace it belongs to (the workspace slug used by the other tools). Use for \"Which Roboflow workspace does my API key belong to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_api_statusArguments","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 a workspace with its member count and every project: type, image and annotation counts, number of versions, dataset ","description":"Get a workspace with its member count and every project: type, image and annotation counts, number of versions, dataset splits and class counts. Use for \"What projects are in my Roboflow workspace and how many images do they have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace URL slug, for example 'my-workspace' (returned as 'workspace' by get_api_status).","maxLength":100,"title":"Workspace","type":"string"}},"required":["workspace"],"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}},"/v1/tools/get_project":{"post":{"operationId":"get_project","summary":"Get one project with its type, image count, splits, class counts and its dataset versions (preprocessing, augmentation, ","description":"Get one project with its type, image count, splits, class counts and its dataset versions (preprocessing, augmentation, exports, trained model metrics). Use for \"Show the versions and model accuracy of my Roboflow project chess-sample-4ckfl\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace URL slug, for example 'my-workspace' (returned as 'workspace' by get_api_status).","maxLength":100,"title":"Workspace","type":"string"},"project":{"description":"Project URL slug within the workspace, for example 'chess-sample-4ckfl'.","maxLength":100,"title":"Project","type":"string"}},"required":["workspace","project"],"title":"get_projectArguments","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_dataset_version":{"post":{"operationId":"get_dataset_version","summary":"Get one dataset version of a project: image count, splits, preprocessing and augmentation settings, exports and the trai","description":"Get one dataset version of a project: image count, splits, preprocessing and augmentation settings, exports and the trained model if there is one. Use for \"Show version 3 of my Roboflow project chess-sample-4ckfl\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace URL slug, for example 'my-workspace' (returned as 'workspace' by get_api_status).","maxLength":100,"title":"Workspace","type":"string"},"project":{"description":"Project URL slug within the workspace, for example 'chess-sample-4ckfl'.","maxLength":100,"title":"Project","type":"string"},"version":{"description":"Dataset version number, for example 3.","title":"Version","type":"integer"}},"required":["workspace","project","version"],"title":"get_dataset_versionArguments","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_project_models":{"post":{"operationId":"list_project_models","summary":"List the trained models of a project (version-trained and standalone) with training status, model type, creation time an","description":"List the trained models of a project (version-trained and standalone) with training status, model type, creation time and metrics such as mAP50, precision and recall. Use for \"Which models are trained in my Roboflow project chess-sample-4ckfl and how accurate are they\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace URL slug, for example 'my-workspace' (returned as 'workspace' by get_api_status).","maxLength":100,"title":"Workspace","type":"string"},"project":{"description":"Project URL slug within the workspace, for example 'chess-sample-4ckfl'.","maxLength":100,"title":"Project","type":"string"},"group":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only models from this neural-architecture-search run id.","title":"Group"}},"required":["workspace","project"],"title":"list_project_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/list_workflows":{"post":{"operationId":"list_workflows","summary":"List the workflows (visual computer-vision pipelines) in the workspace with id, name, URL slug and creation time. Use fo","description":"List the workflows (visual computer-vision pipelines) in the workspace with id, name, URL slug and creation time. Use for \"What Roboflow workflows do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace URL slug, for example 'my-workspace' (returned as 'workspace' by get_api_status).","maxLength":100,"title":"Workspace","type":"string"}},"required":["workspace"],"title":"list_workflowsArguments","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_workflow":{"post":{"operationId":"get_workflow","summary":"Get one workflow: its specification, metadata and authorization status. Use for \"Show the Roboflow workflow slow-webhook","description":"Get one workflow: its specification, metadata and authorization status. Use for \"Show the Roboflow workflow slow-webhooks\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace URL slug, for example 'my-workspace' (returned as 'workspace' by get_api_status).","maxLength":100,"title":"Workspace","type":"string"},"workflow_url":{"description":"Workflow URL slug from list_workflows, for example 'slow-webhooks'.","maxLength":100,"title":"Workflow Url","type":"string"}},"required":["workspace","workflow_url"],"title":"get_workflowArguments","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_workflow_versions":{"post":{"operationId":"list_workflow_versions","summary":"List the saved versions (snapshots) of a workflow specification. Use for \"How many saved versions does my Roboflow workf","description":"List the saved versions (snapshots) of a workflow specification. Use for \"How many saved versions does my Roboflow workflow slow-webhooks have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace":{"description":"Workspace URL slug, for example 'my-workspace' (returned as 'workspace' by get_api_status).","maxLength":100,"title":"Workspace","type":"string"},"workflow_url":{"description":"Workflow URL slug from list_workflows.","maxLength":100,"title":"Workflow Url","type":"string"}},"required":["workspace","workflow_url"],"title":"list_workflow_versionsArguments","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}}}}