{"openapi":"3.1.0","info":{"title":"Snyk (BYOK) API","version":"0.1.0","description":"Snyk (BYOK) lets an AI assistant read your own Snyk data through the Snyk API with a key you supply (personal access token or service account token). Read-only: 8 tools (get_self, list_organizations, get_organization, list_projects, get_project, list_issues, get_issue, list_targets). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-snyk.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-snyk/docs"},"termsOfService":"https://connectorbay.com/byok-snyk/terms"},"servers":[{"url":"https://byok-snyk.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-snyk/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_self":{"post":{"operationId":"get_self","summary":"Show the Snyk user or service account the token belongs to: id, name, username, email and default organization. Use for ","description":"Show the Snyk user or service account the token belongs to: id, name, username, email and default organization. Use for \"Which Snyk account is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"version":{"anyOf":[{"const":"2026-03-25","type":"string"},{"type":"null"}],"default":"2026-03-25","description":"Snyk REST API version; only 2026-03-25 is supported here.","title":"Version"}},"title":"get_selfArguments","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_organizations":{"post":{"operationId":"list_organizations","summary":"List the Snyk organizations the token can access with name, slug, group id and personal-org flag. The id is what other t","description":"List the Snyk organizations the token can access with name, slug, group id and personal-org flag. The id is what other tools take as org_id. Use for \"Which Snyk organizations can I access\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"version":{"anyOf":[{"const":"2026-03-25","type":"string"},{"type":"null"}],"default":"2026-03-25","description":"Snyk REST API version; only 2026-03-25 is supported here.","title":"Version"},"limit":{"anyOf":[{"maximum":100,"minimum":10,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return: a multiple of 10 from 10 to 100.","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the starting_after value inside links.next of the previous answer. Leave out for the first page.","title":"Starting After"},"slug":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the organization with this exact slug.","title":"Slug"},"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only organizations with this exact name.","title":"Name"}},"title":"list_organizationsArguments","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_organization":{"post":{"operationId":"get_organization","summary":"Get one Snyk organization by id: name, slug, group id, personal flag and dates. Use for \"Show my Snyk organization\".","description":"Get one Snyk organization by id: name, slug, group id, personal flag and dates. Use for \"Show my Snyk organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Snyk organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Org Id","type":"string"},"version":{"anyOf":[{"const":"2026-03-25","type":"string"},{"type":"null"}],"default":"2026-03-25","description":"Snyk REST API version; only 2026-03-25 is supported here.","title":"Version"}},"required":["org_id"],"title":"get_organizationArguments","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_projects":{"post":{"operationId":"list_projects","summary":"List the Snyk projects of an organization with type, origin, status, target and latest issue counts by severity. Page wi","description":"List the Snyk projects of an organization with type, origin, status, target and latest issue counts by severity. Page with links.next. Use for \"Which Snyk projects have critical issues\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Snyk organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Org Id","type":"string"},"version":{"anyOf":[{"const":"2026-03-25","type":"string"},{"type":"null"}],"default":"2026-03-25","description":"Snyk REST API version; only 2026-03-25 is supported here.","title":"Version"},"limit":{"anyOf":[{"maximum":100,"minimum":10,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return: a multiple of 10 from 10 to 100.","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the starting_after value inside links.next of the previous answer. Leave out for the first page.","title":"Starting After"},"names_start_with":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only projects whose name starts with this text.","title":"Names Start With"},"origins":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only projects imported from this origin, for example github, gitlab, cli or docker-hub.","title":"Origins"},"types":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only projects of this type, for example npm, maven, pip, dockerfile or sast.","title":"Types"},"include_issue_counts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"True to include the latest issue counts per severity in meta.","title":"Include Issue Counts"}},"required":["org_id"],"title":"list_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":{"post":{"operationId":"get_project","summary":"Get one Snyk project: type, origin, status, target file, lifecycle, environment, business criticality and latest issue c","description":"Get one Snyk project: type, origin, status, target file, lifecycle, environment, business criticality and latest issue counts. Use for \"Show details of a Snyk project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Snyk organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Org Id","type":"string"},"project_id":{"description":"Snyk project id (UUID), as returned by list_projects.","maxLength":60,"title":"Project Id","type":"string"},"version":{"anyOf":[{"const":"2026-03-25","type":"string"},{"type":"null"}],"default":"2026-03-25","description":"Snyk REST API version; only 2026-03-25 is supported here.","title":"Version"},"include_issue_counts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"True to include the latest issue counts per severity in meta.","title":"Include Issue Counts"}},"required":["org_id","project_id"],"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/list_issues":{"post":{"operationId":"list_issues","summary":"List the security issues of a Snyk organization (vulnerabilities, licenses, code, cloud, secrets) with severity, status,","description":"List the security issues of a Snyk organization (vulnerabilities, licenses, code, cloud, secrets) with severity, status, type and dates. Filter by type, status or severity. Page with links.next. Use for \"What open critical issues does my Snyk organization have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Snyk organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Org Id","type":"string"},"version":{"anyOf":[{"const":"2026-03-25","type":"string"},{"type":"null"}],"default":"2026-03-25","description":"Snyk REST API version; only 2026-03-25 is supported here.","title":"Version"},"limit":{"anyOf":[{"maximum":100,"minimum":10,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return: a multiple of 10 from 10 to 100.","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the starting_after value inside links.next of the previous answer. Leave out for the first page.","title":"Starting After"},"type":{"anyOf":[{"enum":["package_vulnerability","license","cloud","code","custom","config","secrets"],"type":"string"},{"type":"null"}],"default":null,"description":"Only issues of this type.","title":"Type"},"status":{"anyOf":[{"enum":["open","resolved"],"type":"string"},{"type":"null"}],"default":null,"description":"Only issues with this status: open or resolved.","title":"Status"},"effective_severity_level":{"anyOf":[{"enum":["info","low","medium","high","critical"],"type":"string"},{"type":"null"}],"default":null,"description":"Only issues of this severity.","title":"Effective Severity Level"},"ignored":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only ignored issues, false for only non-ignored.","title":"Ignored"},"created_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only issues created after this ISO 8601 time.","title":"Created After"},"updated_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only issues updated after this ISO 8601 time.","title":"Updated After"}},"required":["org_id"],"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 one Snyk issue by id: title, type, severity, status, ignored flag, key and dates. Use for \"Show details of a Snyk is","description":"Get one Snyk issue by id: title, type, severity, status, ignored flag, key and dates. Use for \"Show details of a Snyk issue\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Snyk organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Org Id","type":"string"},"issue_id":{"description":"Snyk issue id (UUID), as returned by list_issues.","maxLength":60,"title":"Issue Id","type":"string"},"version":{"anyOf":[{"const":"2026-03-25","type":"string"},{"type":"null"}],"default":"2026-03-25","description":"Snyk REST API version; only 2026-03-25 is supported here.","title":"Version"}},"required":["org_id","issue_id"],"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/list_targets":{"post":{"operationId":"list_targets","summary":"List the targets (repositories, images) scanned in a Snyk organization with display name, URL, privacy flag and creation","description":"List the targets (repositories, images) scanned in a Snyk organization with display name, URL, privacy flag and creation date. Page with links.next. Use for \"Which repositories are scanned by Snyk in my organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Snyk organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Org Id","type":"string"},"version":{"anyOf":[{"const":"2026-03-25","type":"string"},{"type":"null"}],"default":"2026-03-25","description":"Snyk REST API version; only 2026-03-25 is supported here.","title":"Version"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the starting_after value inside links.next of the previous answer. Leave out for the first page.","title":"Starting After"},"display_name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only targets with this display name.","title":"Display Name"}},"required":["org_id"],"title":"list_targetsArguments","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}}}}