naftiko: 1.0.0-alpha2 info: label: Snyk API — Orgs description: 'Snyk API — Orgs. 8 operations. Lead operation: List all organizations in group. Self-contained Naftiko capability covering one Snyk business surface.' tags: - Snyk - Orgs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SNYK_API_KEY: SNYK_API_KEY capability: consumes: - type: http namespace: rest-orgs baseUri: https://api.snyk.io/rest description: Snyk API — Orgs business capability. Self-contained, no shared references. resources: - name: groups-group_id-orgs path: /groups/{group_id}/orgs operations: - name: listorgsingroup method: GET description: List all organizations in group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orgs path: /orgs operations: - name: listorgs method: GET description: List accessible organizations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: query type: string description: If set, only return organizations within the specified group - name: is_personal in: query type: boolean description: If true, only return organizations that are not part of a group. - name: slug in: query type: string description: Only return orgs whose slug exactly matches this value. - name: name in: query type: string description: Only return orgs whose name contains this value. - name: expand in: query type: array description: Expand the specified related resources in the response to include their attributes. - name: orgs-org_id path: /orgs/{org_id} operations: - name: getorg method: GET description: Get organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Unique identifier for org required: true - name: expand in: query type: array description: Expand the specified related resources in the response to include their attributes. - name: updateorg method: PATCH description: Update 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-memberships path: /orgs/{org_id}/memberships operations: - name: listorgmemberships method: GET description: Get all memberships of the org outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The ID of the org required: true - name: sort_by in: query type: string description: Which column to sort by. - name: sort_order in: query type: string description: Order in which results are returned. - name: createorgmembership method: POST description: Create a org membership for a user with role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The ID of the org required: true - name: body in: body type: object description: Request body (JSON). required: false - name: orgs-org_id-memberships-membership_id path: /orgs/{org_id}/memberships/{membership_id} operations: - name: deleteorgmembership method: DELETE description: Remove user's org membership outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The id of the org required: true - name: updateorgmembership method: PATCH description: Update a org membership for a user with role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The id of the org required: true - 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-orgs-rest port: 8080 description: REST adapter for Snyk API — Orgs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/groups/{group-id}/orgs name: groups-group-id-orgs description: REST surface for groups-group_id-orgs. operations: - method: GET name: listorgsingroup description: List all organizations in group call: rest-orgs.listorgsingroup outputParameters: - type: object mapping: $. - path: /v1/orgs name: orgs description: REST surface for orgs. operations: - method: GET name: listorgs description: List accessible organizations call: rest-orgs.listorgs with: group_id: rest.group_id is_personal: rest.is_personal slug: rest.slug name: rest.name expand: rest.expand outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id} name: orgs-org-id description: REST surface for orgs-org_id. operations: - method: GET name: getorg description: Get organization call: rest-orgs.getorg with: org_id: rest.org_id expand: rest.expand outputParameters: - type: object mapping: $. - method: PATCH name: updateorg description: Update organization call: rest-orgs.updateorg with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/memberships name: orgs-org-id-memberships description: REST surface for orgs-org_id-memberships. operations: - method: GET name: listorgmemberships description: Get all memberships of the org call: rest-orgs.listorgmemberships with: org_id: rest.org_id sort_by: rest.sort_by sort_order: rest.sort_order outputParameters: - type: object mapping: $. - method: POST name: createorgmembership description: Create a org membership for a user with role call: rest-orgs.createorgmembership with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/memberships/{membership-id} name: orgs-org-id-memberships-membership-id description: REST surface for orgs-org_id-memberships-membership_id. operations: - method: DELETE name: deleteorgmembership description: Remove user's org membership call: rest-orgs.deleteorgmembership with: org_id: rest.org_id outputParameters: - type: object mapping: $. - method: PATCH name: updateorgmembership description: Update a org membership for a user with role call: rest-orgs.updateorgmembership with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: rest-orgs-mcp port: 9090 transport: http description: MCP adapter for Snyk API — Orgs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-all-organizations-group description: List all organizations in group hints: readOnly: true destructive: false idempotent: true call: rest-orgs.listorgsingroup outputParameters: - type: object mapping: $. - name: list-accessible-organizations description: List accessible organizations hints: readOnly: true destructive: false idempotent: true call: rest-orgs.listorgs with: group_id: tools.group_id is_personal: tools.is_personal slug: tools.slug name: tools.name expand: tools.expand outputParameters: - type: object mapping: $. - name: get-organization description: Get organization hints: readOnly: true destructive: false idempotent: true call: rest-orgs.getorg with: org_id: tools.org_id expand: tools.expand outputParameters: - type: object mapping: $. - name: update-organization description: Update organization hints: readOnly: false destructive: false idempotent: true call: rest-orgs.updateorg with: body: tools.body outputParameters: - type: object mapping: $. - name: get-all-memberships-org description: Get all memberships of the org hints: readOnly: true destructive: false idempotent: true call: rest-orgs.listorgmemberships with: org_id: tools.org_id sort_by: tools.sort_by sort_order: tools.sort_order outputParameters: - type: object mapping: $. - name: create-org-membership-user-role description: Create a org membership for a user with role hints: readOnly: false destructive: false idempotent: false call: rest-orgs.createorgmembership with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $. - name: remove-user-s-org-membership description: Remove user's org membership hints: readOnly: false destructive: true idempotent: true call: rest-orgs.deleteorgmembership with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: update-org-membership-user-role description: Update a org membership for a user with role hints: readOnly: false destructive: false idempotent: true call: rest-orgs.updateorgmembership with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $.