naftiko: 1.0.0-alpha2 info: label: WHMCS API — Clients description: 'WHMCS API — Clients. 5 operations. Lead operation: Add Client. Self-contained Naftiko capability covering one Whmcs business surface.' tags: - Whmcs - Clients created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WHMCS_API_KEY: WHMCS_API_KEY capability: consumes: - type: http namespace: whmcs-clients baseUri: https://{your-domain}/includes/api.php description: WHMCS API — Clients business capability. Self-contained, no shared references. resources: - name: ?action=AddClient path: /?action=AddClient operations: - name: addclient method: POST description: Add Client outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: ?action=DeleteClient path: /?action=DeleteClient operations: - name: deleteclient method: POST description: Delete Client outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: ?action=GetClients path: /?action=GetClients operations: - name: getclients method: POST description: Get Clients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: ?action=GetClientsDetails path: /?action=GetClientsDetails operations: - name: getclientsdetails method: POST description: Get Client Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: ?action=UpdateClient path: /?action=UpdateClient operations: - name: updateclient method: POST description: Update Client outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: identifier value: '{{env.WHMCS_API_KEY}}' placement: query exposes: - type: rest namespace: whmcs-clients-rest port: 8080 description: REST adapter for WHMCS API — Clients. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/action-addclient name: action-addclient description: REST surface for ?action=AddClient. operations: - method: POST name: addclient description: Add Client call: whmcs-clients.addclient with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/action-deleteclient name: action-deleteclient description: REST surface for ?action=DeleteClient. operations: - method: POST name: deleteclient description: Delete Client call: whmcs-clients.deleteclient with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/action-getclients name: action-getclients description: REST surface for ?action=GetClients. operations: - method: POST name: getclients description: Get Clients call: whmcs-clients.getclients with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/action-getclientsdetails name: action-getclientsdetails description: REST surface for ?action=GetClientsDetails. operations: - method: POST name: getclientsdetails description: Get Client Details call: whmcs-clients.getclientsdetails with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/action-updateclient name: action-updateclient description: REST surface for ?action=UpdateClient. operations: - method: POST name: updateclient description: Update Client call: whmcs-clients.updateclient with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: whmcs-clients-mcp port: 9090 transport: http description: MCP adapter for WHMCS API — Clients. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: add-client description: Add Client hints: readOnly: false destructive: false idempotent: false call: whmcs-clients.addclient with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-client description: Delete Client hints: readOnly: false destructive: false idempotent: false call: whmcs-clients.deleteclient with: body: tools.body outputParameters: - type: object mapping: $. - name: get-clients description: Get Clients hints: readOnly: true destructive: false idempotent: false call: whmcs-clients.getclients with: body: tools.body outputParameters: - type: object mapping: $. - name: get-client-details description: Get Client Details hints: readOnly: true destructive: false idempotent: false call: whmcs-clients.getclientsdetails with: body: tools.body outputParameters: - type: object mapping: $. - name: update-client description: Update Client hints: readOnly: false destructive: false idempotent: false call: whmcs-clients.updateclient with: body: tools.body outputParameters: - type: object mapping: $.