{"openapi":"3.1.0","info":{"title":"V7 Darwin (BYOK) API","version":"0.1.0","description":"V7 Darwin (BYOK) lets an AI assistant read your own V7 Darwin data through the V7 Darwin API with a key you supply (V7 Darwin API key). Read-only: 11 tools (list_workflows, get_workflow, list_items, get_item, get_item_status_counts, get_item_stage_counts, get_item_counts, list_folders, list_exports, list_properties, list_team_members). The BYOK key travels with each request, is used for that one...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-v7darwin.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-v7darwin/docs"},"termsOfService":"https://connectorbay.com/byok-v7darwin/terms"},"servers":[{"url":"https://byok-v7darwin.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-v7darwin/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_workflows":{"post":{"operationId":"list_workflows","summary":"List the team's labeling workflows with the linked dataset, progress counts (total, complete, in progress, idle) and tim","description":"List the team's labeling workflows with the linked dataset, progress counts (total, complete, in progress, idle) and timestamps. Use for \"What is the progress of my V7 Darwin labeling workflows\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"name_contains":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only workflows whose name contains this text.","title":"Name Contains"},"include_thumbnails":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Set false to skip thumbnail URLs for a faster answer.","title":"Include Thumbnails"}},"required":["team_slug"],"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 with its stages (name, type), dataset, progress counts and timestamps. Use for \"Show the stages of V7 D","description":"Get one workflow with its stages (name, type), dataset, progress counts and timestamps. Use for \"Show the stages of V7 Darwin workflow 0a1b2c3d\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"workflow_id":{"description":"Workflow id (UUID) from list_workflows.","maxLength":200,"title":"Workflow Id","type":"string"},"include_thumbnails":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Set false to skip thumbnail URLs.","title":"Include Thumbnails"}},"required":["team_slug","workflow_id"],"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_items":{"post":{"operationId":"list_items","summary":"List the items (images, videos, documents) of one dataset with name, folder path, status, workflow status, priority and ","description":"List the items (images, videos, documents) of one dataset with name, folder path, status, workflow status, priority and update time. Pages are cursor based: pass page.next as from_cursor. Use for \"Which items in V7 Darwin dataset 1234 are in review\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"dataset_id":{"description":"Numeric id of one dataset (the dataset_id shown on items or workflow datasets).","minimum":1,"title":"Dataset Id","type":"integer"},"page_size":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Items per page.","title":"Page Size"},"from_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from page.next of the previous answer.","title":"From Cursor"},"status":{"anyOf":[{"enum":["error","uploading","processing","archived","new","annotate","review","complete"],"type":"string"},{"type":"null"}],"default":null,"description":"Only items with this status.","title":"Status"},"name_contains":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only items whose name contains this text.","title":"Name Contains"},"path_prefix":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Only items under this folder path, for example '/train'.","title":"Path Prefix"},"sort_updated_at":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by last update time.","title":"Sort Updated At"}},"required":["team_slug","dataset_id"],"title":"list_itemsArguments","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_item":{"post":{"operationId":"get_item","summary":"Get one item with its slots (file name, type, size, frames), status, folder path and timestamps. Use for \"Show V7 Darwin","description":"Get one item with its slots (file name, type, size, frames), status, folder path and timestamps. Use for \"Show V7 Darwin item 0a1b2c3d\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"item_id":{"description":"Item id (UUID) from list_items.","maxLength":200,"title":"Item Id","type":"string"}},"required":["team_slug","item_id"],"title":"get_itemArguments","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_item_status_counts":{"post":{"operationId":"get_item_status_counts","summary":"Count items of one dataset by status (new, annotate, review, complete and so on). Use for \"How many items in V7 Darwin d","description":"Count items of one dataset by status (new, annotate, review, complete and so on). Use for \"How many items in V7 Darwin dataset 1234 are complete\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"dataset_id":{"description":"Numeric id of one dataset (the dataset_id shown on items or workflow datasets).","minimum":1,"title":"Dataset Id","type":"integer"}},"required":["team_slug","dataset_id"],"title":"get_item_status_countsArguments","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_item_stage_counts":{"post":{"operationId":"get_item_stage_counts","summary":"Count items of one dataset by workflow stage id. Use for \"How many items are waiting in each stage of V7 Darwin dataset ","description":"Count items of one dataset by workflow stage id. Use for \"How many items are waiting in each stage of V7 Darwin dataset 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"dataset_id":{"description":"Numeric id of one dataset (the dataset_id shown on items or workflow datasets).","minimum":1,"title":"Dataset Id","type":"integer"}},"required":["team_slug","dataset_id"],"title":"get_item_stage_countsArguments","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_item_counts":{"post":{"operationId":"get_item_counts","summary":"Count the items of one dataset (filtered and unfiltered totals). Use for \"How many items does V7 Darwin dataset 1234 hol","description":"Count the items of one dataset (filtered and unfiltered totals). Use for \"How many items does V7 Darwin dataset 1234 hold\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"dataset_id":{"description":"Numeric id of one dataset (the dataset_id shown on items or workflow datasets).","minimum":1,"title":"Dataset Id","type":"integer"}},"required":["team_slug","dataset_id"],"title":"get_item_countsArguments","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_folders":{"post":{"operationId":"list_folders","summary":"List the folders of one dataset with item counts. Use for \"Which folders exist in V7 Darwin dataset 1234\".","description":"List the folders of one dataset with item counts. Use for \"Which folders exist in V7 Darwin dataset 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"dataset_id":{"description":"Numeric id of one dataset (the dataset_id shown on items or workflow datasets).","minimum":1,"title":"Dataset Id","type":"integer"},"hide_empty":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Set true to leave out empty folders.","title":"Hide Empty"}},"required":["team_slug","dataset_id"],"title":"list_foldersArguments","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_exports":{"post":{"operationId":"list_exports","summary":"List the annotation exports of a dataset with name, format, status and version (download links are not returned). Use fo","description":"List the annotation exports of a dataset with name, format, status and version (download links are not returned). Use for \"What annotation exports exist for V7 Darwin dataset my-dataset\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"dataset_slug":{"description":"Dataset slug (sluggified dataset name).","maxLength":200,"title":"Dataset Slug","type":"string"}},"required":["team_slug","dataset_slug"],"title":"list_exportsArguments","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_properties":{"post":{"operationId":"list_properties","summary":"List the team's annotation properties (single select, multi select, text and so on), optionally with their values. Use f","description":"List the team's annotation properties (single select, multi select, text and so on), optionally with their values. Use for \"What annotation properties are defined in my V7 Darwin team\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_slug":{"description":"Slug of your V7 Darwin team (the sluggified team name shown in the app URL).","maxLength":200,"title":"Team Slug","type":"string"},"include_values":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Set true to include each property's values.","title":"Include Values"}},"required":["team_slug"],"title":"list_propertiesArguments","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_team_members":{"post":{"operationId":"list_team_members","summary":"List the team's members with name and role (owner, admin, member, workforce manager or annotator). E-mail addresses are ","description":"List the team's members with name and role (owner, admin, member, workforce manager or annotator). E-mail addresses are not returned. Use for \"Who is on my V7 Darwin team and what are their roles\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"role":{"anyOf":[{"enum":["annotator","workforce_manager","member","admin","owner"],"type":"string"},{"type":"null"}],"default":null,"description":"Only members with this role.","title":"Role"}},"title":"list_team_membersArguments","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}}}}