{"openapi":"3.1.0","info":{"title":"FOSSA (BYOK) API","version":"0.1.0","description":"FOSSA (BYOK) lets an AI assistant read your own FOSSA data through the FOSSA API with a key you supply (FOSSA API token (a Full access token is needed for the issues API)). Read-only: 7 tools (list_issues, get_issue, count_issues_by_category, count_issues_by_status, list_teams, list_team_projects, get_project_branches). The BYOK key travels with each request, is used for that one call only and is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-fossa.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-fossa/docs"},"termsOfService":"https://connectorbay.com/byok-fossa/terms"},"servers":[{"url":"https://byok-fossa.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-fossa/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_issues":{"post":{"operationId":"list_issues","summary":"List open-source compliance issues in one category (licensing, vulnerability or quality) across the organization or for ","description":"List open-source compliance issues in one category (licensing, vulnerability or quality) across the organization or for one project revision. Filter by status, severity and depth, with paging. Use for \"Which critical vulnerabilities are active across our FOSSA projects\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"Issue category.","enum":["licensing","vulnerability","quality"],"title":"Category","type":"string"},"scope_type":{"anyOf":[{"enum":["global","project"],"type":"string"},{"type":"null"}],"default":"global","description":"Which issues to cover: 'global' for the whole organization or 'project' for one project and revision.","title":"Scope Type"},"scope_id":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Project locator, for example 'git+github.com/acme/api'. Needed when scope_type is 'project'.","title":"Scope Id"},"scope_revision":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Revision locator or commit hash. Needed when scope_type is 'project'.","title":"Scope Revision"},"status":{"anyOf":[{"enum":["active","ignored","all"],"type":"string"},{"type":"null"}],"default":"active","description":"Issue status; active is the default.","title":"Status"},"severity":{"anyOf":[{"enum":["critical","high","medium","low","unknown"],"type":"string"},{"type":"null"}],"default":null,"description":"Vulnerability severity filter (vulnerability category only).","title":"Severity"},"depth":{"anyOf":[{"enum":["direct","deep"],"type":"string"},{"type":"null"}],"default":null,"description":"Direct dependencies only, or direct and transitive.","title":"Depth"},"sort":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Sort order; newest first by default.","title":"Sort"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"count":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Issues per page (1 to 100).","title":"Count"}},"required":["category"],"title":"list_issuesArguments","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_issue":{"post":{"operationId":"get_issue","summary":"Get the details of one FOSSA issue by id and category. Use for \"Show me FOSSA issue 12345\".","description":"Get the details of one FOSSA issue by id and category. Use for \"Show me FOSSA issue 12345\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"issue_id":{"description":"Issue id from list_issues.","minimum":1,"title":"Issue Id","type":"integer"},"category":{"description":"Issue category.","enum":["licensing","vulnerability","quality"],"title":"Category","type":"string"},"scope_type":{"anyOf":[{"enum":["global","project"],"type":"string"},{"type":"null"}],"default":"global","description":"Which issues to cover: 'global' for the whole organization or 'project' for one project and revision.","title":"Scope Type"},"scope_id":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Project locator, for example 'git+github.com/acme/api'. Needed when scope_type is 'project'.","title":"Scope Id"},"scope_revision":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Revision locator or commit hash. Needed when scope_type is 'project'.","title":"Scope Revision"}},"required":["issue_id","category"],"title":"get_issueArguments","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/count_issues_by_category":{"post":{"operationId":"count_issues_by_category","summary":"Get issue counts grouped by category (licensing, vulnerability, quality) for the organization or one project revision. U","description":"Get issue counts grouped by category (licensing, vulnerability, quality) for the organization or one project revision. Use for \"How many FOSSA issues do we have in each category\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"scope_type":{"anyOf":[{"enum":["global","project"],"type":"string"},{"type":"null"}],"default":"global","description":"Which issues to cover: 'global' for the whole organization or 'project' for one project and revision.","title":"Scope Type"},"scope_id":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Project locator, for example 'git+github.com/acme/api'. Needed when scope_type is 'project'.","title":"Scope Id"},"scope_revision":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Revision locator or commit hash. Needed when scope_type is 'project'.","title":"Scope Revision"}},"title":"count_issues_by_categoryArguments","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/count_issues_by_status":{"post":{"operationId":"count_issues_by_status","summary":"Get issue counts grouped by status (active, ignored) for one category. Use for \"How many FOSSA vulnerabilities are activ","description":"Get issue counts grouped by status (active, ignored) for one category. Use for \"How many FOSSA vulnerabilities are active versus ignored\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"Issue category.","enum":["licensing","vulnerability","quality"],"title":"Category","type":"string"},"scope_type":{"anyOf":[{"enum":["global","project"],"type":"string"},{"type":"null"}],"default":"global","description":"Which issues to cover: 'global' for the whole organization or 'project' for one project and revision.","title":"Scope Type"},"scope_id":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Project locator, for example 'git+github.com/acme/api'. Needed when scope_type is 'project'.","title":"Scope Id"},"scope_revision":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Revision locator or commit hash. Needed when scope_type is 'project'.","title":"Scope Revision"}},"required":["category"],"title":"count_issues_by_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/list_teams":{"post":{"operationId":"list_teams","summary":"List the organization's teams. Use for \"Which teams exist in our FOSSA organization\".","description":"List the organization's teams. Use for \"Which teams exist in our FOSSA organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Teams per page (1 to 100).","title":"Page Size"}},"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_team_projects":{"post":{"operationId":"list_team_projects","summary":"List the projects that belong to one team. Use for \"Which projects does FOSSA team 1 own\".","description":"List the projects that belong to one team. Use for \"Which projects does FOSSA team 1 own\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id from list_teams.","minimum":1,"title":"Team Id","type":"integer"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Projects per page (1 to 100).","title":"Page Size"}},"required":["team_id"],"title":"list_team_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_project_branches":{"post":{"operationId":"get_project_branches","summary":"Get a project with its branch references and the latest revision locator of each branch. Use for \"What are the latest re","description":"Get a project with its branch references and the latest revision locator of each branch. Use for \"What are the latest revisions of the branches of git+github.com/acme/api in FOSSA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"locator":{"description":"Project locator, for example 'git+github.com/acme/api' (encoded for you).","maxLength":300,"title":"Locator","type":"string"},"ref_type":{"anyOf":[{"enum":["branch","tag"],"type":"string"},{"type":"null"}],"default":"branch","description":"Reference type to list.","title":"Ref Type"}},"required":["locator"],"title":"get_project_branchesArguments","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}}}}