Snyk · Capability

Snyk API — Issues

Snyk API — Issues. 6 operations. Lead operation: Get issues by group ID. Self-contained Naftiko capability covering one Snyk business surface.

Run with Naftiko SnykIssues

What You Can Do

GET
Listgroupissues — Get issues by group ID
/v1/groups/{group-id}/issues
GET
Getgroupissuebyissueid — Get an issue
/v1/groups/{group-id}/issues/{issue-id}
GET
Listorgissues — Get issues by org ID
/v1/orgs/{org-id}/issues
GET
Getorgissuebyissueid — Get an issue
/v1/orgs/{org-id}/issues/{issue-id}
POST
Listissuesformanypurls — List issues for a given set of packages (Currently not available to all customers)
/v1/orgs/{org-id}/packages/issues
GET
Getissuesperpurl — List issues for a package
/v1/orgs/{org-id}/packages/{purl}/issues

MCP Tools

get-issues-group-id

Get issues by group ID

read-only idempotent
get-issue

Get an issue

read-only idempotent
get-issues-org-id

Get issues by org ID

read-only idempotent
get-issue-2

Get an issue

read-only idempotent
list-issues-given-set-packages

List issues for a given set of packages (Currently not available to all customers)

read-only
list-issues-package

List issues for a package

read-only idempotent

Capability Spec

rest-issues.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Snyk API — Issues
  description: 'Snyk API — Issues. 6 operations. Lead operation: Get issues by group ID. Self-contained Naftiko capability
    covering one Snyk business surface.'
  tags:
  - Snyk
  - Issues
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SNYK_API_KEY: SNYK_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-issues
    baseUri: https://api.snyk.io/rest
    description: Snyk API — Issues business capability. Self-contained, no shared references.
    resources:
    - name: groups-group_id-issues
      path: /groups/{group_id}/issues
      operations:
      - name: listgroupissues
        method: GET
        description: Get issues by group ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: Group ID
          required: true
        - name: updated_before
          in: query
          type: string
          description: A filter to select issues updated before this date.
        - name: updated_after
          in: query
          type: string
          description: A filter to select issues updated after this date.
        - name: created_before
          in: query
          type: string
          description: A filter to select issues created before this date.
        - name: created_after
          in: query
          type: string
          description: A filter to select issues created after this date.
    - name: groups-group_id-issues-issue_id
      path: /groups/{group_id}/issues/{issue_id}
      operations:
      - name: getgroupissuebyissueid
        method: GET
        description: Get an issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: Group ID
          required: true
    - name: orgs-org_id-issues
      path: /orgs/{org_id}/issues
      operations:
      - name: listorgissues
        method: GET
        description: Get issues by org ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Org ID
          required: true
        - name: updated_before
          in: query
          type: string
          description: A filter to select issues updated before this date.
        - name: updated_after
          in: query
          type: string
          description: A filter to select issues updated after this date.
        - name: created_before
          in: query
          type: string
          description: A filter to select issues created before this date.
        - name: created_after
          in: query
          type: string
          description: A filter to select issues created after this date.
    - name: orgs-org_id-issues-issue_id
      path: /orgs/{org_id}/issues/{issue_id}
      operations:
      - name: getorgissuebyissueid
        method: GET
        description: Get an issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Org ID
          required: true
    - name: orgs-org_id-packages-issues
      path: /orgs/{org_id}/packages/issues
      operations:
      - name: listissuesformanypurls
        method: POST
        description: List issues for a given set of packages  (Currently not available to all customers)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier for an organization
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org_id-packages-purl-issues
      path: /orgs/{org_id}/packages/{purl}/issues
      operations:
      - name: getissuesperpurl
        method: GET
        description: List issues for a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier for an organization
          required: true
        - name: offset
          in: query
          type: integer
          description: Specify the number of results to skip before returning results. Must be greater than or equal to 0.
            Default is 0.
        - name: limit
          in: query
          type: integer
          description: Specify the number of results to return. Must be greater than 0 and less than 1000. Default is 1000.
    authentication:
      type: bearer
      token: '{{env.SNYK_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-issues-rest
    port: 8080
    description: REST adapter for Snyk API — Issues. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/groups/{group-id}/issues
      name: groups-group-id-issues
      description: REST surface for groups-group_id-issues.
      operations:
      - method: GET
        name: listgroupissues
        description: Get issues by group ID
        call: rest-issues.listgroupissues
        with:
          group_id: rest.group_id
          updated_before: rest.updated_before
          updated_after: rest.updated_after
          created_before: rest.created_before
          created_after: rest.created_after
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/groups/{group-id}/issues/{issue-id}
      name: groups-group-id-issues-issue-id
      description: REST surface for groups-group_id-issues-issue_id.
      operations:
      - method: GET
        name: getgroupissuebyissueid
        description: Get an issue
        call: rest-issues.getgroupissuebyissueid
        with:
          group_id: rest.group_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/issues
      name: orgs-org-id-issues
      description: REST surface for orgs-org_id-issues.
      operations:
      - method: GET
        name: listorgissues
        description: Get issues by org ID
        call: rest-issues.listorgissues
        with:
          org_id: rest.org_id
          updated_before: rest.updated_before
          updated_after: rest.updated_after
          created_before: rest.created_before
          created_after: rest.created_after
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/issues/{issue-id}
      name: orgs-org-id-issues-issue-id
      description: REST surface for orgs-org_id-issues-issue_id.
      operations:
      - method: GET
        name: getorgissuebyissueid
        description: Get an issue
        call: rest-issues.getorgissuebyissueid
        with:
          org_id: rest.org_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/packages/issues
      name: orgs-org-id-packages-issues
      description: REST surface for orgs-org_id-packages-issues.
      operations:
      - method: POST
        name: listissuesformanypurls
        description: List issues for a given set of packages  (Currently not available to all customers)
        call: rest-issues.listissuesformanypurls
        with:
          org_id: rest.org_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/packages/{purl}/issues
      name: orgs-org-id-packages-purl-issues
      description: REST surface for orgs-org_id-packages-purl-issues.
      operations:
      - method: GET
        name: getissuesperpurl
        description: List issues for a package
        call: rest-issues.getissuesperpurl
        with:
          org_id: rest.org_id
          offset: rest.offset
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-issues-mcp
    port: 9090
    transport: http
    description: MCP adapter for Snyk API — Issues. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-issues-group-id
      description: Get issues by group ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-issues.listgroupissues
      with:
        group_id: tools.group_id
        updated_before: tools.updated_before
        updated_after: tools.updated_after
        created_before: tools.created_before
        created_after: tools.created_after
      outputParameters:
      - type: object
        mapping: $.
    - name: get-issue
      description: Get an issue
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-issues.getgroupissuebyissueid
      with:
        group_id: tools.group_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-issues-org-id
      description: Get issues by org ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-issues.listorgissues
      with:
        org_id: tools.org_id
        updated_before: tools.updated_before
        updated_after: tools.updated_after
        created_before: tools.created_before
        created_after: tools.created_after
      outputParameters:
      - type: object
        mapping: $.
    - name: get-issue-2
      description: Get an issue
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-issues.getorgissuebyissueid
      with:
        org_id: tools.org_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-issues-given-set-packages
      description: List issues for a given set of packages  (Currently not available to all customers)
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: rest-issues.listissuesformanypurls
      with:
        org_id: tools.org_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-issues-package
      description: List issues for a package
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-issues.getissuesperpurl
      with:
        org_id: tools.org_id
        offset: tools.offset
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.