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: $.