Snyk · Capability

Snyk API — Cloud

Snyk API — Cloud. 9 operations. Lead operation: List Environments (Early Access). Self-contained Naftiko capability covering one Snyk business surface.

Run with Naftiko SnykCloud

What You Can Do

GET
Listenvironments — List Environments (Early Access)
/v1/orgs/{org-id}/cloud/environments
POST
Createenvironment — Create New Environment (Early Access)
/v1/orgs/{org-id}/cloud/environments
DELETE
Deleteenvironment — Delete Environment (Early Access)
/v1/orgs/{org-id}/cloud/environments/{environment-id}
PATCH
Updateenvironment — Update Environment (Early Access)
/v1/orgs/{org-id}/cloud/environments/{environment-id}
POST
Getpermissions — Generate Cloud Provider Permissions (Early Access)
/v1/orgs/{org-id}/cloud/permissions
GET
Listresources — List Resources (Early Access)
/v1/orgs/{org-id}/cloud/resources
GET
Listscan — List Scans (Early Access)
/v1/orgs/{org-id}/cloud/scans
POST
Createscan — Create Scan (Early Access)
/v1/orgs/{org-id}/cloud/scans
GET
Getscan — Get scan (Early Access)
/v1/orgs/{org-id}/cloud/scans/{scan-id}

MCP Tools

list-environments-early-access

List Environments (Early Access)

read-only idempotent
create-new-environment-early-access

Create New Environment (Early Access)

delete-environment-early-access

Delete Environment (Early Access)

idempotent
update-environment-early-access

Update Environment (Early Access)

idempotent
generate-cloud-provider-permissions-early

Generate Cloud Provider Permissions (Early Access)

list-resources-early-access

List Resources (Early Access)

read-only idempotent
list-scans-early-access

List Scans (Early Access)

read-only idempotent
create-scan-early-access

Create Scan (Early Access)

get-scan-early-access

Get scan (Early Access)

read-only idempotent

Capability Spec

rest-cloud.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Snyk API — Cloud
  description: 'Snyk API — Cloud. 9 operations. Lead operation: List Environments (Early Access). Self-contained Naftiko capability
    covering one Snyk business surface.'
  tags:
  - Snyk
  - Cloud
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SNYK_API_KEY: SNYK_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-cloud
    baseUri: https://api.snyk.io/rest
    description: Snyk API — Cloud business capability. Self-contained, no shared references.
    resources:
    - name: orgs-org_id-cloud-environments
      path: /orgs/{org_id}/cloud/environments
      operations:
      - name: listenvironments
        method: GET
        description: List Environments (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
        - name: project_id
          in: query
          type: string
          description: Filter environments by project ID
      - name: createenvironment
        method: POST
        description: Create New Environment (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: orgs-org_id-cloud-environments-environment_id
      path: /orgs/{org_id}/cloud/environments/{environment_id}
      operations:
      - name: deleteenvironment
        method: DELETE
        description: Delete Environment (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
      - name: updateenvironment
        method: PATCH
        description: Update Environment (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: orgs-org_id-cloud-permissions
      path: /orgs/{org_id}/cloud/permissions
      operations:
      - name: getpermissions
        method: POST
        description: Generate Cloud Provider Permissions (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: orgs-org_id-cloud-resources
      path: /orgs/{org_id}/cloud/resources
      operations:
      - name: listresources
        method: GET
        description: List Resources (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
    - name: orgs-org_id-cloud-scans
      path: /orgs/{org_id}/cloud/scans
      operations:
      - name: listscan
        method: GET
        description: List Scans (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
      - name: createscan
        method: POST
        description: Create Scan (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: orgs-org_id-cloud-scans-scan_id
      path: /orgs/{org_id}/cloud/scans/{scan_id}
      operations:
      - name: getscan
        method: GET
        description: Get scan (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Organization ID
          required: true
    authentication:
      type: bearer
      token: '{{env.SNYK_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-cloud-rest
    port: 8080
    description: REST adapter for Snyk API — Cloud. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/orgs/{org-id}/cloud/environments
      name: orgs-org-id-cloud-environments
      description: REST surface for orgs-org_id-cloud-environments.
      operations:
      - method: GET
        name: listenvironments
        description: List Environments (Early Access)
        call: rest-cloud.listenvironments
        with:
          org_id: rest.org_id
          project_id: rest.project_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createenvironment
        description: Create New Environment (Early Access)
        call: rest-cloud.createenvironment
        with:
          org_id: rest.org_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/cloud/environments/{environment-id}
      name: orgs-org-id-cloud-environments-environment-id
      description: REST surface for orgs-org_id-cloud-environments-environment_id.
      operations:
      - method: DELETE
        name: deleteenvironment
        description: Delete Environment (Early Access)
        call: rest-cloud.deleteenvironment
        with:
          org_id: rest.org_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateenvironment
        description: Update Environment (Early Access)
        call: rest-cloud.updateenvironment
        with:
          org_id: rest.org_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/cloud/permissions
      name: orgs-org-id-cloud-permissions
      description: REST surface for orgs-org_id-cloud-permissions.
      operations:
      - method: POST
        name: getpermissions
        description: Generate Cloud Provider Permissions (Early Access)
        call: rest-cloud.getpermissions
        with:
          org_id: rest.org_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/cloud/resources
      name: orgs-org-id-cloud-resources
      description: REST surface for orgs-org_id-cloud-resources.
      operations:
      - method: GET
        name: listresources
        description: List Resources (Early Access)
        call: rest-cloud.listresources
        with:
          org_id: rest.org_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/cloud/scans
      name: orgs-org-id-cloud-scans
      description: REST surface for orgs-org_id-cloud-scans.
      operations:
      - method: GET
        name: listscan
        description: List Scans (Early Access)
        call: rest-cloud.listscan
        with:
          org_id: rest.org_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createscan
        description: Create Scan (Early Access)
        call: rest-cloud.createscan
        with:
          org_id: rest.org_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org-id}/cloud/scans/{scan-id}
      name: orgs-org-id-cloud-scans-scan-id
      description: REST surface for orgs-org_id-cloud-scans-scan_id.
      operations:
      - method: GET
        name: getscan
        description: Get scan (Early Access)
        call: rest-cloud.getscan
        with:
          org_id: rest.org_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-cloud-mcp
    port: 9090
    transport: http
    description: MCP adapter for Snyk API — Cloud. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-environments-early-access
      description: List Environments (Early Access)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cloud.listenvironments
      with:
        org_id: tools.org_id
        project_id: tools.project_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-environment-early-access
      description: Create New Environment (Early Access)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cloud.createenvironment
      with:
        org_id: tools.org_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-environment-early-access
      description: Delete Environment (Early Access)
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-cloud.deleteenvironment
      with:
        org_id: tools.org_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-environment-early-access
      description: Update Environment (Early Access)
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-cloud.updateenvironment
      with:
        org_id: tools.org_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: generate-cloud-provider-permissions-early
      description: Generate Cloud Provider Permissions (Early Access)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cloud.getpermissions
      with:
        org_id: tools.org_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-resources-early-access
      description: List Resources (Early Access)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cloud.listresources
      with:
        org_id: tools.org_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-scans-early-access
      description: List Scans (Early Access)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cloud.listscan
      with:
        org_id: tools.org_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-scan-early-access
      description: Create Scan (Early Access)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cloud.createscan
      with:
        org_id: tools.org_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-scan-early-access
      description: Get scan (Early Access)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cloud.getscan
      with:
        org_id: tools.org_id
      outputParameters:
      - type: object
        mapping: $.