naftiko: 1.0.0-alpha2 info: label: GrowthBook REST API — features description: 'GrowthBook REST API — features. 9 operations. Lead operation: Get list of feature keys. Self-contained Naftiko capability covering one Growthbook business surface.' tags: - Growthbook - features created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GROWTHBOOK_API_KEY: GROWTHBOOK_API_KEY capability: consumes: - type: http namespace: growthbook-features baseUri: https://api.growthbook.io/api description: GrowthBook REST API — features business capability. Self-contained, no shared references. resources: - name: v1-feature-keys path: /v1/feature-keys operations: - name: getfeaturekeys method: GET description: Get list of feature keys outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-features path: /v1/features operations: - name: listfeatures method: GET description: Get all features outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postfeature method: POST description: Create a single feature outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-features-id path: /v1/features/{id} operations: - name: getfeature method: GET description: Get a single feature outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatefeature method: POST description: Partially update a feature outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletefeature method: DELETE description: Deletes a single feature outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-features-id-revert path: /v1/features/{id}/revert operations: - name: revertfeature method: POST description: Revert a feature to a specific revision outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-features-id-toggle path: /v1/features/{id}/toggle operations: - name: togglefeature method: POST description: Toggle a feature in one or more environments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-stale-features path: /v1/stale-features operations: - name: getfeaturestale method: GET description: Get stale status for one or more features outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.GROWTHBOOK_API_KEY}}' exposes: - type: rest namespace: growthbook-features-rest port: 8080 description: REST adapter for GrowthBook REST API — features. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/feature-keys name: v1-feature-keys description: REST surface for v1-feature-keys. operations: - method: GET name: getfeaturekeys description: Get list of feature keys call: growthbook-features.getfeaturekeys outputParameters: - type: object mapping: $. - path: /v1/v1/features name: v1-features description: REST surface for v1-features. operations: - method: GET name: listfeatures description: Get all features call: growthbook-features.listfeatures outputParameters: - type: object mapping: $. - method: POST name: postfeature description: Create a single feature call: growthbook-features.postfeature with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/features/{id} name: v1-features-id description: REST surface for v1-features-id. operations: - method: GET name: getfeature description: Get a single feature call: growthbook-features.getfeature outputParameters: - type: object mapping: $. - method: POST name: updatefeature description: Partially update a feature call: growthbook-features.updatefeature with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletefeature description: Deletes a single feature call: growthbook-features.deletefeature outputParameters: - type: object mapping: $. - path: /v1/v1/features/{id}/revert name: v1-features-id-revert description: REST surface for v1-features-id-revert. operations: - method: POST name: revertfeature description: Revert a feature to a specific revision call: growthbook-features.revertfeature with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/features/{id}/toggle name: v1-features-id-toggle description: REST surface for v1-features-id-toggle. operations: - method: POST name: togglefeature description: Toggle a feature in one or more environments call: growthbook-features.togglefeature with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/stale-features name: v1-stale-features description: REST surface for v1-stale-features. operations: - method: GET name: getfeaturestale description: Get stale status for one or more features call: growthbook-features.getfeaturestale outputParameters: - type: object mapping: $. - type: mcp namespace: growthbook-features-mcp port: 9090 transport: http description: MCP adapter for GrowthBook REST API — features. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-list-feature-keys description: Get list of feature keys hints: readOnly: true destructive: false idempotent: true call: growthbook-features.getfeaturekeys outputParameters: - type: object mapping: $. - name: get-all-features description: Get all features hints: readOnly: true destructive: false idempotent: true call: growthbook-features.listfeatures outputParameters: - type: object mapping: $. - name: create-single-feature description: Create a single feature hints: readOnly: false destructive: false idempotent: false call: growthbook-features.postfeature with: body: tools.body outputParameters: - type: object mapping: $. - name: get-single-feature description: Get a single feature hints: readOnly: true destructive: false idempotent: true call: growthbook-features.getfeature outputParameters: - type: object mapping: $. - name: partially-update-feature description: Partially update a feature hints: readOnly: false destructive: false idempotent: false call: growthbook-features.updatefeature with: body: tools.body outputParameters: - type: object mapping: $. - name: deletes-single-feature description: Deletes a single feature hints: readOnly: false destructive: true idempotent: true call: growthbook-features.deletefeature outputParameters: - type: object mapping: $. - name: revert-feature-specific-revision description: Revert a feature to a specific revision hints: readOnly: false destructive: false idempotent: false call: growthbook-features.revertfeature with: body: tools.body outputParameters: - type: object mapping: $. - name: toggle-feature-one-more-environments description: Toggle a feature in one or more environments hints: readOnly: false destructive: false idempotent: false call: growthbook-features.togglefeature with: body: tools.body outputParameters: - type: object mapping: $. - name: get-stale-status-one-more description: Get stale status for one or more features hints: readOnly: true destructive: false idempotent: true call: growthbook-features.getfeaturestale outputParameters: - type: object mapping: $.