naftiko: 1.0.0-alpha2 info: label: Snyk API — Apps description: 'Snyk API — Apps. 28 operations. Lead operation: Get a list of Snyk Apps installed for a Group. Self-contained Naftiko capability covering one Snyk business surface.' tags: - Snyk - Apps created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SNYK_API_KEY: SNYK_API_KEY capability: consumes: - type: http namespace: rest-apps baseUri: https://api.snyk.io/rest description: Snyk API — Apps business capability. Self-contained, no shared references. resources: - name: groups-group_id-apps-installs path: /groups/{group_id}/apps/installs operations: - name: getappinstallsforgroup method: GET description: Get a list of Snyk Apps installed for a Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expand in: query type: array description: Expand relationships. - name: group_id in: path type: string description: Group ID required: true - name: creategroupappinstall method: POST description: Install a Snyk App for a Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: Group ID required: true - name: body in: body type: object description: Request body (JSON). required: false - name: groups-group_id-apps-installs-install_id path: /groups/{group_id}/apps/installs/{install_id} operations: - name: deletegroupappinstallbyid method: DELETE description: Revoke app authorization for a Snyk group with install ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: Group ID required: true - name: groups-group_id-apps-installs-install_id-secrets path: /groups/{group_id}/apps/installs/{install_id}/secrets operations: - name: updategroupappinstallsecret method: POST description: Manage client secret for non-interactive Snyk App installations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: Group ID required: true - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-app_bots path: /orgs/{org_id}/app_bots operations: - name: getappbots method: GET description: Get a list of app bots authorized to an organization. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expand in: query type: array description: Expand relationships. - name: org_id in: path type: string description: Organization ID required: true - name: orgs-org_id-app_bots-bot_id path: /orgs/{org_id}/app_bots/{bot_id} operations: - name: deleteappbot method: DELETE description: Revoke app bot authorization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: bot_id in: path type: string description: The ID of the app bot required: true - name: org_id in: path type: string description: Organization ID required: true - name: orgs-org_id-apps path: /orgs/{org_id}/apps operations: - name: getapps method: GET description: Get a list of Snyk Apps created by an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createapp method: POST description: Create a new app for an organization. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-apps-creations path: /orgs/{org_id}/apps/creations operations: - name: getorgapps method: GET description: Get a list of Snyk Apps created by an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createorgapp method: POST description: Create a new Snyk App for an organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-apps-creations-app_id path: /orgs/{org_id}/apps/creations/{app_id} operations: - name: deleteappbyid method: DELETE description: Delete a Snyk App by app ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getappbyid method: GET description: Get a Snyk App by app ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateappcreationbyid method: PATCH description: Update app creation attributes such as name, redirect URIs, and access token time to live using the App ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-apps-creations-app_id-secrets path: /orgs/{org_id}/apps/creations/{app_id}/secrets operations: - name: manageappcreationsecret method: POST description: Manage client secret for a Snyk App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-apps-installs path: /orgs/{org_id}/apps/installs operations: - name: getappinstallsfororg method: GET description: Get a list of Snyk Apps installed for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expand in: query type: array description: Expand relationships. - name: org_id in: path type: string description: Organization ID required: true - name: createorgappinstall method: POST description: Install a Snyk App for an Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-apps-installs-install_id path: /orgs/{org_id}/apps/installs/{install_id} operations: - name: deleteapporginstallbyid method: DELETE description: Revoke app authorization for a Snyk organization with install ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs-org_id-apps-installs-install_id-secrets path: /orgs/{org_id}/apps/installs/{install_id}/secrets operations: - name: updateorgappinstallsecret method: POST description: Manage client secret for non-interactive Snyk App installations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-apps-client_id path: /orgs/{org_id}/apps/{client_id} operations: - name: deleteapp method: DELETE description: Delete an app outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getapp method: GET description: Get an app by client id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateapp method: PATCH description: Update app attributes that are name, redirect URIs, and access token time to live outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-apps-client_id-secrets path: /orgs/{org_id}/apps/{client_id}/secrets operations: - name: managesecrets method: POST description: Manage client secrets for an app. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: self-apps path: /self/apps operations: - name: getuserinstalledapps method: GET description: Get a list of Snyk Apps that can act on your behalf outputRawFormat: json outputParameters: - name: result type: object value: $. - name: self-apps-installs path: /self/apps/installs operations: - name: getappinstallsforuser method: GET description: Get a list of Snyk Apps installed for a user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expand in: query type: array description: Expand relationships. - name: self-apps-installs-install_id path: /self/apps/installs/{install_id} operations: - name: deleteuserappinstallbyid method: DELETE description: Revoke a Snyk App by install ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: self-apps-app_id path: /self/apps/{app_id} operations: - name: revokeuserinstalledapp method: DELETE description: Revoke a Snyk App by app ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: self-apps-app_id-sessions path: /self/apps/{app_id}/sessions operations: - name: getuserappsessions method: GET description: Get a list of active OAuth sessions by app ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: self-apps-app_id-sessions-session_id path: /self/apps/{app_id}/sessions/{session_id} operations: - name: revokeuserappsession method: DELETE description: Revoke the Snyk App session of an active user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: session_id in: path type: string description: Session ID required: true authentication: type: bearer token: '{{env.SNYK_API_KEY}}' exposes: - type: rest namespace: rest-apps-rest port: 8080 description: REST adapter for Snyk API — Apps. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/groups/{group-id}/apps/installs name: groups-group-id-apps-installs description: REST surface for groups-group_id-apps-installs. operations: - method: GET name: getappinstallsforgroup description: Get a list of Snyk Apps installed for a Group call: rest-apps.getappinstallsforgroup with: expand: rest.expand group_id: rest.group_id outputParameters: - type: object mapping: $. - method: POST name: creategroupappinstall description: Install a Snyk App for a Group call: rest-apps.creategroupappinstall with: group_id: rest.group_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/groups/{group-id}/apps/installs/{install-id} name: groups-group-id-apps-installs-install-id description: REST surface for groups-group_id-apps-installs-install_id. operations: - method: DELETE name: deletegroupappinstallbyid description: Revoke app authorization for a Snyk group with install ID call: rest-apps.deletegroupappinstallbyid with: group_id: rest.group_id outputParameters: - type: object mapping: $. - path: /v1/groups/{group-id}/apps/installs/{install-id}/secrets name: groups-group-id-apps-installs-install-id-secrets description: REST surface for groups-group_id-apps-installs-install_id-secrets. operations: - method: POST name: updategroupappinstallsecret description: Manage client secret for non-interactive Snyk App installations call: rest-apps.updategroupappinstallsecret with: group_id: rest.group_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/app-bots name: orgs-org-id-app-bots description: REST surface for orgs-org_id-app_bots. operations: - method: GET name: getappbots description: Get a list of app bots authorized to an organization. call: rest-apps.getappbots with: expand: rest.expand org_id: rest.org_id outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/app-bots/{bot-id} name: orgs-org-id-app-bots-bot-id description: REST surface for orgs-org_id-app_bots-bot_id. operations: - method: DELETE name: deleteappbot description: Revoke app bot authorization call: rest-apps.deleteappbot with: bot_id: rest.bot_id org_id: rest.org_id outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps name: orgs-org-id-apps description: REST surface for orgs-org_id-apps. operations: - method: GET name: getapps description: Get a list of Snyk Apps created by an Organization call: rest-apps.getapps outputParameters: - type: object mapping: $. - method: POST name: createapp description: Create a new app for an organization. call: rest-apps.createapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps/creations name: orgs-org-id-apps-creations description: REST surface for orgs-org_id-apps-creations. operations: - method: GET name: getorgapps description: Get a list of Snyk Apps created by an Organization call: rest-apps.getorgapps outputParameters: - type: object mapping: $. - method: POST name: createorgapp description: Create a new Snyk App for an organization call: rest-apps.createorgapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps/creations/{app-id} name: orgs-org-id-apps-creations-app-id description: REST surface for orgs-org_id-apps-creations-app_id. operations: - method: DELETE name: deleteappbyid description: Delete a Snyk App by app ID call: rest-apps.deleteappbyid outputParameters: - type: object mapping: $. - method: GET name: getappbyid description: Get a Snyk App by app ID call: rest-apps.getappbyid outputParameters: - type: object mapping: $. - method: PATCH name: updateappcreationbyid description: Update app creation attributes such as name, redirect URIs, and access token time to live using the App ID call: rest-apps.updateappcreationbyid with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps/creations/{app-id}/secrets name: orgs-org-id-apps-creations-app-id-secrets description: REST surface for orgs-org_id-apps-creations-app_id-secrets. operations: - method: POST name: manageappcreationsecret description: Manage client secret for a Snyk App call: rest-apps.manageappcreationsecret with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps/installs name: orgs-org-id-apps-installs description: REST surface for orgs-org_id-apps-installs. operations: - method: GET name: getappinstallsfororg description: Get a list of Snyk Apps installed for an Organization call: rest-apps.getappinstallsfororg with: expand: rest.expand org_id: rest.org_id outputParameters: - type: object mapping: $. - method: POST name: createorgappinstall description: Install a Snyk App for an Organization call: rest-apps.createorgappinstall with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps/installs/{install-id} name: orgs-org-id-apps-installs-install-id description: REST surface for orgs-org_id-apps-installs-install_id. operations: - method: DELETE name: deleteapporginstallbyid description: Revoke app authorization for a Snyk organization with install ID call: rest-apps.deleteapporginstallbyid outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps/installs/{install-id}/secrets name: orgs-org-id-apps-installs-install-id-secrets description: REST surface for orgs-org_id-apps-installs-install_id-secrets. operations: - method: POST name: updateorgappinstallsecret description: Manage client secret for non-interactive Snyk App installations call: rest-apps.updateorgappinstallsecret with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps/{client-id} name: orgs-org-id-apps-client-id description: REST surface for orgs-org_id-apps-client_id. operations: - method: DELETE name: deleteapp description: Delete an app call: rest-apps.deleteapp outputParameters: - type: object mapping: $. - method: GET name: getapp description: Get an app by client id call: rest-apps.getapp outputParameters: - type: object mapping: $. - method: PATCH name: updateapp description: Update app attributes that are name, redirect URIs, and access token time to live call: rest-apps.updateapp with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/apps/{client-id}/secrets name: orgs-org-id-apps-client-id-secrets description: REST surface for orgs-org_id-apps-client_id-secrets. operations: - method: POST name: managesecrets description: Manage client secrets for an app. call: rest-apps.managesecrets with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/self/apps name: self-apps description: REST surface for self-apps. operations: - method: GET name: getuserinstalledapps description: Get a list of Snyk Apps that can act on your behalf call: rest-apps.getuserinstalledapps outputParameters: - type: object mapping: $. - path: /v1/self/apps/installs name: self-apps-installs description: REST surface for self-apps-installs. operations: - method: GET name: getappinstallsforuser description: Get a list of Snyk Apps installed for a user call: rest-apps.getappinstallsforuser with: expand: rest.expand outputParameters: - type: object mapping: $. - path: /v1/self/apps/installs/{install-id} name: self-apps-installs-install-id description: REST surface for self-apps-installs-install_id. operations: - method: DELETE name: deleteuserappinstallbyid description: Revoke a Snyk App by install ID call: rest-apps.deleteuserappinstallbyid outputParameters: - type: object mapping: $. - path: /v1/self/apps/{app-id} name: self-apps-app-id description: REST surface for self-apps-app_id. operations: - method: DELETE name: revokeuserinstalledapp description: Revoke a Snyk App by app ID call: rest-apps.revokeuserinstalledapp outputParameters: - type: object mapping: $. - path: /v1/self/apps/{app-id}/sessions name: self-apps-app-id-sessions description: REST surface for self-apps-app_id-sessions. operations: - method: GET name: getuserappsessions description: Get a list of active OAuth sessions by app ID call: rest-apps.getuserappsessions outputParameters: - type: object mapping: $. - path: /v1/self/apps/{app-id}/sessions/{session-id} name: self-apps-app-id-sessions-session-id description: REST surface for self-apps-app_id-sessions-session_id. operations: - method: DELETE name: revokeuserappsession description: Revoke the Snyk App session of an active user call: rest-apps.revokeuserappsession with: session_id: rest.session_id outputParameters: - type: object mapping: $. - type: mcp namespace: rest-apps-mcp port: 9090 transport: http description: MCP adapter for Snyk API — Apps. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-list-snyk-apps-installed description: Get a list of Snyk Apps installed for a Group hints: readOnly: true destructive: false idempotent: true call: rest-apps.getappinstallsforgroup with: expand: tools.expand group_id: tools.group_id outputParameters: - type: object mapping: $. - name: install-snyk-app-group description: Install a Snyk App for a Group hints: readOnly: false destructive: false idempotent: false call: rest-apps.creategroupappinstall with: group_id: tools.group_id body: tools.body outputParameters: - type: object mapping: $. - name: revoke-app-authorization-snyk-group description: Revoke app authorization for a Snyk group with install ID hints: readOnly: false destructive: true idempotent: true call: rest-apps.deletegroupappinstallbyid with: group_id: tools.group_id outputParameters: - type: object mapping: $. - name: manage-client-secret-non-interactive description: Manage client secret for non-interactive Snyk App installations hints: readOnly: false destructive: false idempotent: false call: rest-apps.updategroupappinstallsecret with: group_id: tools.group_id body: tools.body outputParameters: - type: object mapping: $. - name: get-list-app-bots-authorized description: Get a list of app bots authorized to an organization. hints: readOnly: true destructive: false idempotent: true call: rest-apps.getappbots with: expand: tools.expand org_id: tools.org_id outputParameters: - type: object mapping: $. - name: revoke-app-bot-authorization description: Revoke app bot authorization hints: readOnly: false destructive: true idempotent: true call: rest-apps.deleteappbot with: bot_id: tools.bot_id org_id: tools.org_id outputParameters: - type: object mapping: $. - name: get-list-snyk-apps-created description: Get a list of Snyk Apps created by an Organization hints: readOnly: true destructive: false idempotent: true call: rest-apps.getapps outputParameters: - type: object mapping: $. - name: create-new-app-organization description: Create a new app for an organization. hints: readOnly: false destructive: false idempotent: false call: rest-apps.createapp with: body: tools.body outputParameters: - type: object mapping: $. - name: get-list-snyk-apps-created-2 description: Get a list of Snyk Apps created by an Organization hints: readOnly: true destructive: false idempotent: true call: rest-apps.getorgapps outputParameters: - type: object mapping: $. - name: create-new-snyk-app-organization description: Create a new Snyk App for an organization hints: readOnly: false destructive: false idempotent: false call: rest-apps.createorgapp with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-snyk-app-app-id description: Delete a Snyk App by app ID hints: readOnly: false destructive: true idempotent: true call: rest-apps.deleteappbyid outputParameters: - type: object mapping: $. - name: get-snyk-app-app-id description: Get a Snyk App by app ID hints: readOnly: true destructive: false idempotent: true call: rest-apps.getappbyid outputParameters: - type: object mapping: $. - name: update-app-creation-attributes-such description: Update app creation attributes such as name, redirect URIs, and access token time to live using the App ID hints: readOnly: false destructive: false idempotent: true call: rest-apps.updateappcreationbyid with: body: tools.body outputParameters: - type: object mapping: $. - name: manage-client-secret-snyk-app description: Manage client secret for a Snyk App hints: readOnly: false destructive: false idempotent: false call: rest-apps.manageappcreationsecret with: body: tools.body outputParameters: - type: object mapping: $. - name: get-list-snyk-apps-installed-2 description: Get a list of Snyk Apps installed for an Organization hints: readOnly: true destructive: false idempotent: true call: rest-apps.getappinstallsfororg with: expand: tools.expand org_id: tools.org_id outputParameters: - type: object mapping: $. - name: install-snyk-app-organization description: Install a Snyk App for an Organization hints: readOnly: false destructive: false idempotent: false call: rest-apps.createorgappinstall with: body: tools.body outputParameters: - type: object mapping: $. - name: revoke-app-authorization-snyk-organization description: Revoke app authorization for a Snyk organization with install ID hints: readOnly: false destructive: true idempotent: true call: rest-apps.deleteapporginstallbyid outputParameters: - type: object mapping: $. - name: manage-client-secret-non-interactive-2 description: Manage client secret for non-interactive Snyk App installations hints: readOnly: false destructive: false idempotent: false call: rest-apps.updateorgappinstallsecret with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-app description: Delete an app hints: readOnly: false destructive: true idempotent: true call: rest-apps.deleteapp outputParameters: - type: object mapping: $. - name: get-app-client-id description: Get an app by client id hints: readOnly: true destructive: false idempotent: true call: rest-apps.getapp outputParameters: - type: object mapping: $. - name: update-app-attributes-that-are description: Update app attributes that are name, redirect URIs, and access token time to live hints: readOnly: false destructive: false idempotent: true call: rest-apps.updateapp with: body: tools.body outputParameters: - type: object mapping: $. - name: manage-client-secrets-app description: Manage client secrets for an app. hints: readOnly: false destructive: false idempotent: false call: rest-apps.managesecrets with: body: tools.body outputParameters: - type: object mapping: $. - name: get-list-snyk-apps-that description: Get a list of Snyk Apps that can act on your behalf hints: readOnly: true destructive: false idempotent: true call: rest-apps.getuserinstalledapps outputParameters: - type: object mapping: $. - name: get-list-snyk-apps-installed-3 description: Get a list of Snyk Apps installed for a user hints: readOnly: true destructive: false idempotent: true call: rest-apps.getappinstallsforuser with: expand: tools.expand outputParameters: - type: object mapping: $. - name: revoke-snyk-app-install-id description: Revoke a Snyk App by install ID hints: readOnly: false destructive: true idempotent: true call: rest-apps.deleteuserappinstallbyid outputParameters: - type: object mapping: $. - name: revoke-snyk-app-app-id description: Revoke a Snyk App by app ID hints: readOnly: false destructive: true idempotent: true call: rest-apps.revokeuserinstalledapp outputParameters: - type: object mapping: $. - name: get-list-active-oauth-sessions description: Get a list of active OAuth sessions by app ID hints: readOnly: true destructive: false idempotent: true call: rest-apps.getuserappsessions outputParameters: - type: object mapping: $. - name: revoke-snyk-app-session-active description: Revoke the Snyk App session of an active user hints: readOnly: false destructive: true idempotent: true call: rest-apps.revokeuserappsession with: session_id: tools.session_id outputParameters: - type: object mapping: $.