Snyk · Capability

Snyk API — Projects

Snyk API — Projects. 4 operations. Lead operation: List all Projects for an Org with the given Org ID.. Self-contained Naftiko capability covering one Snyk business surface.

Run with Naftiko SnykProjects

What You Can Do

GET
Listorgprojects — List all Projects for an Org with the given Org ID.
/v1/orgs/{org-id}/projects
DELETE
Deleteorgproject — Delete project by project ID.
/v1/orgs/{org-id}/projects/{project-id}
GET
Getorgproject — Get project by project ID.
/v1/orgs/{org-id}/projects/{project-id}
PATCH
Updateorgproject — Updates project by project ID.
/v1/orgs/{org-id}/projects/{project-id}

MCP Tools

list-all-projects-org-given

List all Projects for an Org with the given Org ID.

read-only idempotent
delete-project-project-id

Delete project by project ID.

idempotent
get-project-project-id

Get project by project ID.

read-only idempotent
updates-project-project-id

Updates project by project ID.

idempotent

Capability Spec

rest-projects.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Snyk API — Projects
  description: 'Snyk API — Projects. 4 operations. Lead operation: List all Projects for an Org with the given Org ID.. Self-contained
    Naftiko capability covering one Snyk business surface.'
  tags:
  - Snyk
  - Projects
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SNYK_API_KEY: SNYK_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-projects
    baseUri: https://api.snyk.io/rest
    description: Snyk API — Projects business capability. Self-contained, no shared references.
    resources:
    - name: orgs-org_id-projects
      path: /orgs/{org_id}/projects
      operations:
      - name: listorgprojects
        method: GET
        description: List all Projects for an Org with the given Org ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: The ID of the org that the projects belong to.
          required: true
        - name: target_id
          in: query
          type: array
          description: Return projects that belong to the provided targets
        - name: target_reference
          in: query
          type: string
          description: Return projects that match the provided target reference
        - name: target_file
          in: query
          type: string
          description: Return projects that match the provided target file
        - name: target_runtime
          in: query
          type: string
          description: Return projects that match the provided target runtime
        - name: meta_count
          in: query
          type: string
          description: The collection count.
        - name: ids
          in: query
          type: array
          description: Return projects that match the provided IDs.
        - name: names
          in: query
          type: array
          description: Return projects that match the provided names.
        - name: names_start_with
          in: query
          type: array
          description: Return projects with names starting with the specified prefix.
        - name: origins
          in: query
          type: array
          description: Return projects that match the provided origins.
        - name: types
          in: query
          type: array
          description: Return projects that match the provided types.
        - name: expand
          in: query
          type: array
          description: Expand relationships.
        - name: meta.latest_issue_counts
          in: query
          type: boolean
          description: Include a summary count for the issues found in the most recent scan of this project
        - name: meta.latest_dependency_total
          in: query
          type: boolean
          description: Include the total number of dependencies found in the most recent scan of this project
        - name: cli_monitored_before
          in: query
          type: string
          description: Filter projects uploaded and monitored before this date (encoded value)
        - name: cli_monitored_after
          in: query
          type: string
          description: Filter projects uploaded and monitored after this date (encoded value)
        - name: importing_user_public_id
          in: query
          type: array
          description: Return projects that match the provided importing user public ids.
        - name: tags
          in: query
          type: array
          description: Return projects that match all the provided tags
        - name: business_criticality
          in: query
          type: array
          description: Return projects that match all the provided business_criticality value
        - name: environment
          in: query
          type: array
          description: Return projects that match all the provided environment values
        - name: lifecycle
          in: query
          type: array
          description: Return projects that match all the provided lifecycle values
    - name: orgs-org_id-projects-project_id
      path: /orgs/{org_id}/projects/{project_id}
      operations:
      - name: deleteorgproject
        method: DELETE
        description: Delete project by project ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: The ID of the org to which the project belongs to.
          required: true
        - name: project_id
          in: path
          type: string
          description: The ID of the project.
          required: true
      - name: getorgproject
        method: GET
        description: Get project by project ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: The ID of the org to which the project belongs to.
          required: true
        - name: project_id
          in: path
          type: string
          description: The ID of the project.
          required: true
        - name: expand
          in: query
          type: array
          description: Expand relationships.
        - name: meta.latest_issue_counts
          in: query
          type: boolean
          description: Include a summary count for the issues found in the most recent scan of this project
        - name: meta.latest_dependency_total
          in: query
          type: boolean
          description: Include the total number of dependencies found in the most recent scan of this project
      - name: updateorgproject
        method: PATCH
        description: Updates project by project ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: The ID of the Org the project belongs to.
          required: true
        - name: project_id
          in: path
          type: string
          description: The ID of the project to patch.
          required: true
        - name: expand
          in: query
          type: array
          description: Expand relationships.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.SNYK_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-projects-rest
    port: 8080
    description: REST adapter for Snyk API — Projects. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/orgs/{org-id}/projects
      name: orgs-org-id-projects
      description: REST surface for orgs-org_id-projects.
      operations:
      - method: GET
        name: listorgprojects
        description: List all Projects for an Org with the given Org ID.
        call: rest-projects.listorgprojects
        with:
          org_id: rest.org_id
          target_id: rest.target_id
          target_reference: rest.target_reference
          target_file: rest.target_file
          target_runtime: rest.target_runtime
          meta_count: rest.meta_count
          ids: rest.ids
          names: rest.names
          names_start_with: rest.names_start_with
          origins: rest.origins
          types: rest.types
          expand: rest.expand
          meta.latest_issue_counts: rest.meta.latest_issue_counts
          meta.latest_dependency_total: rest.meta.latest_dependency_total
          cli_monitored_before: rest.cli_monitored_before
          cli_monitored_after: rest.cli_monitored_after
          importing_user_public_id: rest.importing_user_public_id
          tags: rest.tags
          business_criticality: rest.business_criticality
          environment: rest.environment
          lifecycle: rest.lifecycle
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/projects/{project-id}
      name: orgs-org-id-projects-project-id
      description: REST surface for orgs-org_id-projects-project_id.
      operations:
      - method: DELETE
        name: deleteorgproject
        description: Delete project by project ID.
        call: rest-projects.deleteorgproject
        with:
          org_id: rest.org_id
          project_id: rest.project_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getorgproject
        description: Get project by project ID.
        call: rest-projects.getorgproject
        with:
          org_id: rest.org_id
          project_id: rest.project_id
          expand: rest.expand
          meta.latest_issue_counts: rest.meta.latest_issue_counts
          meta.latest_dependency_total: rest.meta.latest_dependency_total
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateorgproject
        description: Updates project by project ID.
        call: rest-projects.updateorgproject
        with:
          org_id: rest.org_id
          project_id: rest.project_id
          expand: rest.expand
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-projects-mcp
    port: 9090
    transport: http
    description: MCP adapter for Snyk API — Projects. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-all-projects-org-given
      description: List all Projects for an Org with the given Org ID.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-projects.listorgprojects
      with:
        org_id: tools.org_id
        target_id: tools.target_id
        target_reference: tools.target_reference
        target_file: tools.target_file
        target_runtime: tools.target_runtime
        meta_count: tools.meta_count
        ids: tools.ids
        names: tools.names
        names_start_with: tools.names_start_with
        origins: tools.origins
        types: tools.types
        expand: tools.expand
        meta.latest_issue_counts: tools.meta.latest_issue_counts
        meta.latest_dependency_total: tools.meta.latest_dependency_total
        cli_monitored_before: tools.cli_monitored_before
        cli_monitored_after: tools.cli_monitored_after
        importing_user_public_id: tools.importing_user_public_id
        tags: tools.tags
        business_criticality: tools.business_criticality
        environment: tools.environment
        lifecycle: tools.lifecycle
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-project-project-id
      description: Delete project by project ID.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-projects.deleteorgproject
      with:
        org_id: tools.org_id
        project_id: tools.project_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-project-project-id
      description: Get project by project ID.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-projects.getorgproject
      with:
        org_id: tools.org_id
        project_id: tools.project_id
        expand: tools.expand
        meta.latest_issue_counts: tools.meta.latest_issue_counts
        meta.latest_dependency_total: tools.meta.latest_dependency_total
      outputParameters:
      - type: object
        mapping: $.
    - name: updates-project-project-id
      description: Updates project by project ID.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-projects.updateorgproject
      with:
        org_id: tools.org_id
        project_id: tools.project_id
        expand: tools.expand
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.