naftiko: 1.0.0-alpha2 info: label: Snyk API — ServiceAccounts description: 'Snyk API — ServiceAccounts. 12 operations. Lead operation: Get a list of group service accounts.. Self-contained Naftiko capability covering one Snyk business surface.' tags: - Snyk - ServiceAccounts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SNYK_API_KEY: SNYK_API_KEY capability: consumes: - type: http namespace: rest-serviceaccounts baseUri: https://api.snyk.io/rest description: Snyk API — ServiceAccounts business capability. Self-contained, no shared references. resources: - name: groups-group_id-service_accounts path: /groups/{group_id}/service_accounts operations: - name: getmanygroupserviceaccount method: GET description: Get a list of group service accounts. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: The ID of the Snyk Group that owns the service accounts. required: true - name: creategroupserviceaccount method: POST description: Create a service account for a group. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: The ID of the Snyk Group that is creating and owns the service account required: true - name: body in: body type: object description: Request body (JSON). required: true - name: groups-group_id-service_accounts-serviceaccount_id path: /groups/{group_id}/service_accounts/{serviceaccount_id} operations: - name: deleteonegroupserviceaccount method: DELETE description: Delete a group service account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: The ID of the Snyk Group that owns the service account. required: true - name: serviceaccount_id in: path type: string description: The ID of the service account. required: true - name: getonegroupserviceaccount method: GET description: Get a group service account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: The ID of the Snyk Group that owns the service account. required: true - name: serviceaccount_id in: path type: string description: The ID of the service account. required: true - name: updategroupserviceaccount method: PATCH description: Update a group service account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: The ID of the Snyk Group that owns the service account. required: true - name: serviceaccount_id in: path type: string description: The ID of the service account. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: groups-group_id-service_accounts-serviceaccount_id-secrets path: /groups/{group_id}/service_accounts/{serviceaccount_id}/secrets operations: - name: updateserviceaccountsecret method: POST description: Manage a group service account's client secret. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: The ID of the Snyk Group that owns the service account. required: true - name: serviceaccount_id in: path type: string description: The ID of the service account. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org_id-service_accounts path: /orgs/{org_id}/service_accounts operations: - name: getmanyorgserviceaccounts method: GET description: Get a list of organization service accounts. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The ID of the Snyk Organization that owns the service accounts. required: true - name: createorgserviceaccount method: POST description: Create a service account for an organization. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The ID of the Snyk Organization that is creating and will own the service account. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org_id-service_accounts-serviceaccount_id path: /orgs/{org_id}/service_accounts/{serviceaccount_id} operations: - name: deleteserviceaccount method: DELETE description: Delete a service account in an organization. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The ID of org to which the service account belongs. required: true - name: serviceaccount_id in: path type: string description: The ID of the service account. required: true - name: getoneorgserviceaccount method: GET description: Get an organization service account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The ID of the Snyk Organization that owns the service account. required: true - name: serviceaccount_id in: path type: string description: The ID of the service account. required: true - name: updateorgserviceaccount method: PATCH description: Update an organization service account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The ID of the Snyk Organization that owns the service account. required: true - name: serviceaccount_id in: path type: string description: The ID of the service account. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org_id-service_accounts-serviceaccount_id-secrets path: /orgs/{org_id}/service_accounts/{serviceaccount_id}/secrets operations: - name: updateorgserviceaccountsecret method: POST description: Manage an organization service account's client secret. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: The ID of the Snyk Organization that owns the service account. required: true - name: serviceaccount_id in: path type: string description: The ID of the service account. required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.SNYK_API_KEY}}' exposes: - type: rest namespace: rest-serviceaccounts-rest port: 8080 description: REST adapter for Snyk API — ServiceAccounts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/groups/{group-id}/service-accounts name: groups-group-id-service-accounts description: REST surface for groups-group_id-service_accounts. operations: - method: GET name: getmanygroupserviceaccount description: Get a list of group service accounts. call: rest-serviceaccounts.getmanygroupserviceaccount with: group_id: rest.group_id outputParameters: - type: object mapping: $. - method: POST name: creategroupserviceaccount description: Create a service account for a group. call: rest-serviceaccounts.creategroupserviceaccount with: group_id: rest.group_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/groups/{group-id}/service-accounts/{serviceaccount-id} name: groups-group-id-service-accounts-serviceaccount-id description: REST surface for groups-group_id-service_accounts-serviceaccount_id. operations: - method: DELETE name: deleteonegroupserviceaccount description: Delete a group service account. call: rest-serviceaccounts.deleteonegroupserviceaccount with: group_id: rest.group_id serviceaccount_id: rest.serviceaccount_id outputParameters: - type: object mapping: $. - method: GET name: getonegroupserviceaccount description: Get a group service account. call: rest-serviceaccounts.getonegroupserviceaccount with: group_id: rest.group_id serviceaccount_id: rest.serviceaccount_id outputParameters: - type: object mapping: $. - method: PATCH name: updategroupserviceaccount description: Update a group service account. call: rest-serviceaccounts.updategroupserviceaccount with: group_id: rest.group_id serviceaccount_id: rest.serviceaccount_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/groups/{group-id}/service-accounts/{serviceaccount-id}/secrets name: groups-group-id-service-accounts-serviceaccount-id-secrets description: REST surface for groups-group_id-service_accounts-serviceaccount_id-secrets. operations: - method: POST name: updateserviceaccountsecret description: Manage a group service account's client secret. call: rest-serviceaccounts.updateserviceaccountsecret with: group_id: rest.group_id serviceaccount_id: rest.serviceaccount_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/service-accounts name: orgs-org-id-service-accounts description: REST surface for orgs-org_id-service_accounts. operations: - method: GET name: getmanyorgserviceaccounts description: Get a list of organization service accounts. call: rest-serviceaccounts.getmanyorgserviceaccounts with: org_id: rest.org_id outputParameters: - type: object mapping: $. - method: POST name: createorgserviceaccount description: Create a service account for an organization. call: rest-serviceaccounts.createorgserviceaccount with: org_id: rest.org_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/service-accounts/{serviceaccount-id} name: orgs-org-id-service-accounts-serviceaccount-id description: REST surface for orgs-org_id-service_accounts-serviceaccount_id. operations: - method: DELETE name: deleteserviceaccount description: Delete a service account in an organization. call: rest-serviceaccounts.deleteserviceaccount with: org_id: rest.org_id serviceaccount_id: rest.serviceaccount_id outputParameters: - type: object mapping: $. - method: GET name: getoneorgserviceaccount description: Get an organization service account. call: rest-serviceaccounts.getoneorgserviceaccount with: org_id: rest.org_id serviceaccount_id: rest.serviceaccount_id outputParameters: - type: object mapping: $. - method: PATCH name: updateorgserviceaccount description: Update an organization service account. call: rest-serviceaccounts.updateorgserviceaccount with: org_id: rest.org_id serviceaccount_id: rest.serviceaccount_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org-id}/service-accounts/{serviceaccount-id}/secrets name: orgs-org-id-service-accounts-serviceaccount-id-secrets description: REST surface for orgs-org_id-service_accounts-serviceaccount_id-secrets. operations: - method: POST name: updateorgserviceaccountsecret description: Manage an organization service account's client secret. call: rest-serviceaccounts.updateorgserviceaccountsecret with: org_id: rest.org_id serviceaccount_id: rest.serviceaccount_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: rest-serviceaccounts-mcp port: 9090 transport: http description: MCP adapter for Snyk API — ServiceAccounts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-list-group-service-accounts description: Get a list of group service accounts. hints: readOnly: true destructive: false idempotent: true call: rest-serviceaccounts.getmanygroupserviceaccount with: group_id: tools.group_id outputParameters: - type: object mapping: $. - name: create-service-account-group description: Create a service account for a group. hints: readOnly: false destructive: false idempotent: false call: rest-serviceaccounts.creategroupserviceaccount with: group_id: tools.group_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-group-service-account description: Delete a group service account. hints: readOnly: false destructive: true idempotent: true call: rest-serviceaccounts.deleteonegroupserviceaccount with: group_id: tools.group_id serviceaccount_id: tools.serviceaccount_id outputParameters: - type: object mapping: $. - name: get-group-service-account description: Get a group service account. hints: readOnly: true destructive: false idempotent: true call: rest-serviceaccounts.getonegroupserviceaccount with: group_id: tools.group_id serviceaccount_id: tools.serviceaccount_id outputParameters: - type: object mapping: $. - name: update-group-service-account description: Update a group service account. hints: readOnly: false destructive: false idempotent: true call: rest-serviceaccounts.updategroupserviceaccount with: group_id: tools.group_id serviceaccount_id: tools.serviceaccount_id body: tools.body outputParameters: - type: object mapping: $. - name: manage-group-service-account-s-client description: Manage a group service account's client secret. hints: readOnly: false destructive: false idempotent: false call: rest-serviceaccounts.updateserviceaccountsecret with: group_id: tools.group_id serviceaccount_id: tools.serviceaccount_id body: tools.body outputParameters: - type: object mapping: $. - name: get-list-organization-service-accounts description: Get a list of organization service accounts. hints: readOnly: true destructive: false idempotent: true call: rest-serviceaccounts.getmanyorgserviceaccounts with: org_id: tools.org_id outputParameters: - type: object mapping: $. - name: create-service-account-organization description: Create a service account for an organization. hints: readOnly: false destructive: false idempotent: false call: rest-serviceaccounts.createorgserviceaccount with: org_id: tools.org_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-service-account-organization description: Delete a service account in an organization. hints: readOnly: false destructive: true idempotent: true call: rest-serviceaccounts.deleteserviceaccount with: org_id: tools.org_id serviceaccount_id: tools.serviceaccount_id outputParameters: - type: object mapping: $. - name: get-organization-service-account description: Get an organization service account. hints: readOnly: true destructive: false idempotent: true call: rest-serviceaccounts.getoneorgserviceaccount with: org_id: tools.org_id serviceaccount_id: tools.serviceaccount_id outputParameters: - type: object mapping: $. - name: update-organization-service-account description: Update an organization service account. hints: readOnly: false destructive: false idempotent: true call: rest-serviceaccounts.updateorgserviceaccount with: org_id: tools.org_id serviceaccount_id: tools.serviceaccount_id body: tools.body outputParameters: - type: object mapping: $. - name: manage-organization-service-account-s-client description: Manage an organization service account's client secret. hints: readOnly: false destructive: false idempotent: false call: rest-serviceaccounts.updateorgserviceaccountsecret with: org_id: tools.org_id serviceaccount_id: tools.serviceaccount_id body: tools.body outputParameters: - type: object mapping: $.