naftiko: 1.0.0-alpha2 info: label: Unleash Client API — Client description: 'Unleash Client API — Client. 5 operations. Lead operation: Get All Flags (sdk). Self-contained Naftiko capability covering one Unleash business surface.' tags: - Unleash - Client created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: UNLEASH_API_KEY: UNLEASH_API_KEY capability: consumes: - type: http namespace: client-client baseUri: https://app.unleash-instance.example.com description: Unleash Client API — Client business capability. Self-contained, no shared references. resources: - name: api-client-features path: /api/client/features operations: - name: getallclientfeatures method: GET description: Get All Flags (sdk) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-client-features-featureName path: /api/client/features/{featureName} operations: - name: getclientfeature method: GET description: Get a Single Feature Flag outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: featureName in: path type: string required: true - name: api-client-metrics path: /api/client/metrics operations: - name: registerclientmetrics method: POST description: Register Client Usage Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-client-metrics-custom path: /api/client/metrics/custom operations: - name: clientcustommetrics method: POST description: Send Custom Metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-client-register path: /api/client/register operations: - name: registerclientapplication method: POST description: Register a Client SDK outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.UNLEASH_API_KEY}}' exposes: - type: rest namespace: client-client-rest port: 8080 description: REST adapter for Unleash Client API — Client. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/client/features name: api-client-features description: REST surface for api-client-features. operations: - method: GET name: getallclientfeatures description: Get All Flags (sdk) call: client-client.getallclientfeatures outputParameters: - type: object mapping: $. - path: /v1/api/client/features/{featurename} name: api-client-features-featurename description: REST surface for api-client-features-featureName. operations: - method: GET name: getclientfeature description: Get a Single Feature Flag call: client-client.getclientfeature with: featureName: rest.featureName outputParameters: - type: object mapping: $. - path: /v1/api/client/metrics name: api-client-metrics description: REST surface for api-client-metrics. operations: - method: POST name: registerclientmetrics description: Register Client Usage Metrics call: client-client.registerclientmetrics with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/client/metrics/custom name: api-client-metrics-custom description: REST surface for api-client-metrics-custom. operations: - method: POST name: clientcustommetrics description: Send Custom Metrics call: client-client.clientcustommetrics with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/client/register name: api-client-register description: REST surface for api-client-register. operations: - method: POST name: registerclientapplication description: Register a Client SDK call: client-client.registerclientapplication with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: client-client-mcp port: 9090 transport: http description: MCP adapter for Unleash Client API — Client. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-all-flags-sdk description: Get All Flags (sdk) hints: readOnly: true destructive: false idempotent: true call: client-client.getallclientfeatures outputParameters: - type: object mapping: $. - name: get-single-feature-flag description: Get a Single Feature Flag hints: readOnly: true destructive: false idempotent: true call: client-client.getclientfeature with: featureName: tools.featureName outputParameters: - type: object mapping: $. - name: register-client-usage-metrics description: Register Client Usage Metrics hints: readOnly: false destructive: false idempotent: false call: client-client.registerclientmetrics with: body: tools.body outputParameters: - type: object mapping: $. - name: send-custom-metrics description: Send Custom Metrics hints: readOnly: false destructive: false idempotent: false call: client-client.clientcustommetrics with: body: tools.body outputParameters: - type: object mapping: $. - name: register-client-sdk description: Register a Client SDK hints: readOnly: false destructive: false idempotent: false call: client-client.registerclientapplication with: body: tools.body outputParameters: - type: object mapping: $.