naftiko: 1.0.0-alpha2 info: label: GrowthBook REST API — fact-tables description: 'GrowthBook REST API — fact-tables. 11 operations. Lead operation: Bulk import fact tables, filters, and metrics. Self-contained Naftiko capability covering one Growthbook business surface.' tags: - Growthbook - fact-tables created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GROWTHBOOK_API_KEY: GROWTHBOOK_API_KEY capability: consumes: - type: http namespace: growthbook-fact-tables baseUri: https://api.growthbook.io/api description: GrowthBook REST API — fact-tables business capability. Self-contained, no shared references. resources: - name: v1-bulk-import-facts path: /v1/bulk-import/facts operations: - name: postbulkimportfacts method: POST description: Bulk import fact tables, filters, and metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-fact-tables path: /v1/fact-tables operations: - name: listfacttables method: GET description: Get all fact tables outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postfacttable method: POST description: Create a single fact table outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-fact-tables-factTableId-filters path: /v1/fact-tables/{factTableId}/filters operations: - name: listfacttablefilters method: GET description: Get all filters for a fact table outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postfacttablefilter method: POST description: Create a single fact table filter outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-fact-tables-factTableId-filters-id path: /v1/fact-tables/{factTableId}/filters/{id} operations: - name: getfacttablefilter method: GET description: Get a single fact filter outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatefacttablefilter method: POST description: Update a single fact table filter outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletefacttablefilter method: DELETE description: Deletes a single fact table filter outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-fact-tables-id path: /v1/fact-tables/{id} operations: - name: getfacttable method: GET description: Get a single fact table outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatefacttable method: POST description: Update a single fact table outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletefacttable method: DELETE description: Deletes a single fact table outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.GROWTHBOOK_API_KEY}}' exposes: - type: rest namespace: growthbook-fact-tables-rest port: 8080 description: REST adapter for GrowthBook REST API — fact-tables. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/bulk-import/facts name: v1-bulk-import-facts description: REST surface for v1-bulk-import-facts. operations: - method: POST name: postbulkimportfacts description: Bulk import fact tables, filters, and metrics call: growthbook-fact-tables.postbulkimportfacts with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/fact-tables name: v1-fact-tables description: REST surface for v1-fact-tables. operations: - method: GET name: listfacttables description: Get all fact tables call: growthbook-fact-tables.listfacttables outputParameters: - type: object mapping: $. - method: POST name: postfacttable description: Create a single fact table call: growthbook-fact-tables.postfacttable with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/fact-tables/{facttableid}/filters name: v1-fact-tables-facttableid-filters description: REST surface for v1-fact-tables-factTableId-filters. operations: - method: GET name: listfacttablefilters description: Get all filters for a fact table call: growthbook-fact-tables.listfacttablefilters outputParameters: - type: object mapping: $. - method: POST name: postfacttablefilter description: Create a single fact table filter call: growthbook-fact-tables.postfacttablefilter with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/fact-tables/{facttableid}/filters/{id} name: v1-fact-tables-facttableid-filters-id description: REST surface for v1-fact-tables-factTableId-filters-id. operations: - method: GET name: getfacttablefilter description: Get a single fact filter call: growthbook-fact-tables.getfacttablefilter outputParameters: - type: object mapping: $. - method: POST name: updatefacttablefilter description: Update a single fact table filter call: growthbook-fact-tables.updatefacttablefilter with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletefacttablefilter description: Deletes a single fact table filter call: growthbook-fact-tables.deletefacttablefilter outputParameters: - type: object mapping: $. - path: /v1/v1/fact-tables/{id} name: v1-fact-tables-id description: REST surface for v1-fact-tables-id. operations: - method: GET name: getfacttable description: Get a single fact table call: growthbook-fact-tables.getfacttable outputParameters: - type: object mapping: $. - method: POST name: updatefacttable description: Update a single fact table call: growthbook-fact-tables.updatefacttable with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletefacttable description: Deletes a single fact table call: growthbook-fact-tables.deletefacttable outputParameters: - type: object mapping: $. - type: mcp namespace: growthbook-fact-tables-mcp port: 9090 transport: http description: MCP adapter for GrowthBook REST API — fact-tables. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: bulk-import-fact-tables-filters description: Bulk import fact tables, filters, and metrics hints: readOnly: false destructive: false idempotent: false call: growthbook-fact-tables.postbulkimportfacts with: body: tools.body outputParameters: - type: object mapping: $. - name: get-all-fact-tables description: Get all fact tables hints: readOnly: true destructive: false idempotent: true call: growthbook-fact-tables.listfacttables outputParameters: - type: object mapping: $. - name: create-single-fact-table description: Create a single fact table hints: readOnly: false destructive: false idempotent: false call: growthbook-fact-tables.postfacttable with: body: tools.body outputParameters: - type: object mapping: $. - name: get-all-filters-fact-table description: Get all filters for a fact table hints: readOnly: true destructive: false idempotent: true call: growthbook-fact-tables.listfacttablefilters outputParameters: - type: object mapping: $. - name: create-single-fact-table-filter description: Create a single fact table filter hints: readOnly: false destructive: false idempotent: false call: growthbook-fact-tables.postfacttablefilter with: body: tools.body outputParameters: - type: object mapping: $. - name: get-single-fact-filter description: Get a single fact filter hints: readOnly: true destructive: false idempotent: true call: growthbook-fact-tables.getfacttablefilter outputParameters: - type: object mapping: $. - name: update-single-fact-table-filter description: Update a single fact table filter hints: readOnly: false destructive: false idempotent: false call: growthbook-fact-tables.updatefacttablefilter with: body: tools.body outputParameters: - type: object mapping: $. - name: deletes-single-fact-table-filter description: Deletes a single fact table filter hints: readOnly: false destructive: true idempotent: true call: growthbook-fact-tables.deletefacttablefilter outputParameters: - type: object mapping: $. - name: get-single-fact-table description: Get a single fact table hints: readOnly: true destructive: false idempotent: true call: growthbook-fact-tables.getfacttable outputParameters: - type: object mapping: $. - name: update-single-fact-table description: Update a single fact table hints: readOnly: false destructive: false idempotent: false call: growthbook-fact-tables.updatefacttable with: body: tools.body outputParameters: - type: object mapping: $. - name: deletes-single-fact-table description: Deletes a single fact table hints: readOnly: false destructive: true idempotent: true call: growthbook-fact-tables.deletefacttable outputParameters: - type: object mapping: $.