naftiko: 1.0.0-alpha2 info: label: Commvault REST API — Clients description: 'Commvault REST API — Clients. 4 operations. Lead operation: Commvault List all clients. Self-contained Naftiko capability covering one Commvault business surface.' tags: - Commvault - Clients created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COMMVAULT_API_KEY: COMMVAULT_API_KEY capability: consumes: - type: http namespace: rest-clients baseUri: https://{webserver}/webconsole/api description: Commvault REST API — Clients business capability. Self-contained, no shared references. resources: - name: Client path: /Client operations: - name: listclients method: GET description: Commvault List all clients outputRawFormat: json outputParameters: - name: result type: object value: $. - name: Client-clientId path: /Client/{clientId} operations: - name: getclient method: GET description: Commvault Get client details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateclient method: PUT description: Commvault Update client properties outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteclient method: DELETE description: Commvault Retire or delete a client outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: Authtoken value: '{{env.COMMVAULT_API_KEY}}' placement: header exposes: - type: rest namespace: rest-clients-rest port: 8080 description: REST adapter for Commvault REST API — Clients. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/client name: client description: REST surface for Client. operations: - method: GET name: listclients description: Commvault List all clients call: rest-clients.listclients outputParameters: - type: object mapping: $. - path: /v1/client/{clientid} name: client-clientid description: REST surface for Client-clientId. operations: - method: GET name: getclient description: Commvault Get client details call: rest-clients.getclient outputParameters: - type: object mapping: $. - method: PUT name: updateclient description: Commvault Update client properties call: rest-clients.updateclient with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteclient description: Commvault Retire or delete a client call: rest-clients.deleteclient outputParameters: - type: object mapping: $. - type: mcp namespace: rest-clients-mcp port: 9090 transport: http description: MCP adapter for Commvault REST API — Clients. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: commvault-list-all-clients description: Commvault List all clients hints: readOnly: true destructive: false idempotent: true call: rest-clients.listclients outputParameters: - type: object mapping: $. - name: commvault-get-client-details description: Commvault Get client details hints: readOnly: true destructive: false idempotent: true call: rest-clients.getclient outputParameters: - type: object mapping: $. - name: commvault-update-client-properties description: Commvault Update client properties hints: readOnly: false destructive: false idempotent: true call: rest-clients.updateclient with: body: tools.body outputParameters: - type: object mapping: $. - name: commvault-retire-delete-client description: Commvault Retire or delete a client hints: readOnly: false destructive: true idempotent: true call: rest-clients.deleteclient outputParameters: - type: object mapping: $.