naftiko: 1.0.0-alpha2 info: label: Webflow Data API — Products & SKUs description: 'Webflow Data API — Products & SKUs. 6 operations. Lead operation: Webflow List Products & SKUs. Self-contained Naftiko capability covering one Webflow Api And Documentation Webflow business surface.' tags: - Webflow Api And Documentation Webflow - Products & SKUs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBFLOW_API_AND_DOCUMENTATION_WEBFLOW_API_KEY: WEBFLOW_API_AND_DOCUMENTATION_WEBFLOW_API_KEY capability: consumes: - type: http namespace: webflow-data-products-skus baseUri: https://api.webflow.com/v2 description: Webflow Data API — Products & SKUs business capability. Self-contained, no shared references. resources: - name: sites-site_id-products path: /sites/{site_id}/products operations: - name: listproducts method: GET description: Webflow List Products & SKUs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string description: Unique identifier for a Site required: true - name: offset in: query type: integer description: Offset used for pagination if the results have more than limit records - name: limit in: query type: integer description: 'Maximum number of records to be returned (max limit: 100)' - name: createproduct method: POST description: Webflow Create Product & SKU outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string description: Unique identifier for a Site required: true - name: body in: body type: object description: Request body (JSON). required: true - name: sites-site_id-products-product_id path: /sites/{site_id}/products/{product_id} operations: - name: getproduct method: GET description: Webflow Get Product and SKUs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string description: Unique identifier for a Site required: true - name: product_id in: path type: string description: Unique identifier for a Product required: true - name: updateproduct method: PATCH description: Webflow Update Product outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string description: Unique identifier for a Site required: true - name: product_id in: path type: string description: Unique identifier for a Product required: true - name: body in: body type: object description: Request body (JSON). required: true - name: sites-site_id-products-product_id-skus path: /sites/{site_id}/products/{product_id}/skus operations: - name: createskus method: POST description: Webflow Create SKUs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string description: Unique identifier for a Site required: true - name: product_id in: path type: string description: Unique identifier for a Product required: true - name: body in: body type: object description: Request body (JSON). required: true - name: sites-site_id-products-product_id-skus-sku_id path: /sites/{site_id}/products/{product_id}/skus/{sku_id} operations: - name: updatesku method: PATCH description: Webflow Update SKU outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: site_id in: path type: string description: Unique identifier for a Site required: true - name: product_id in: path type: string description: Unique identifier for a Product required: true - name: sku_id in: path type: string description: Unique identifier for a SKU required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.WEBFLOW_API_AND_DOCUMENTATION_WEBFLOW_API_KEY}}' exposes: - type: rest namespace: webflow-data-products-skus-rest port: 8080 description: REST adapter for Webflow Data API — Products & SKUs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/sites/{site-id}/products name: sites-site-id-products description: REST surface for sites-site_id-products. operations: - method: GET name: listproducts description: Webflow List Products & SKUs call: webflow-data-products-skus.listproducts with: site_id: rest.site_id offset: rest.offset limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: createproduct description: Webflow Create Product & SKU call: webflow-data-products-skus.createproduct with: site_id: rest.site_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/products/{product-id} name: sites-site-id-products-product-id description: REST surface for sites-site_id-products-product_id. operations: - method: GET name: getproduct description: Webflow Get Product and SKUs call: webflow-data-products-skus.getproduct with: site_id: rest.site_id product_id: rest.product_id outputParameters: - type: object mapping: $. - method: PATCH name: updateproduct description: Webflow Update Product call: webflow-data-products-skus.updateproduct with: site_id: rest.site_id product_id: rest.product_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/products/{product-id}/skus name: sites-site-id-products-product-id-skus description: REST surface for sites-site_id-products-product_id-skus. operations: - method: POST name: createskus description: Webflow Create SKUs call: webflow-data-products-skus.createskus with: site_id: rest.site_id product_id: rest.product_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/products/{product-id}/skus/{sku-id} name: sites-site-id-products-product-id-skus-sku-id description: REST surface for sites-site_id-products-product_id-skus-sku_id. operations: - method: PATCH name: updatesku description: Webflow Update SKU call: webflow-data-products-skus.updatesku with: site_id: rest.site_id product_id: rest.product_id sku_id: rest.sku_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: webflow-data-products-skus-mcp port: 9090 transport: http description: MCP adapter for Webflow Data API — Products & SKUs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: webflow-list-products-skus description: Webflow List Products & SKUs hints: readOnly: true destructive: false idempotent: true call: webflow-data-products-skus.listproducts with: site_id: tools.site_id offset: tools.offset limit: tools.limit outputParameters: - type: object mapping: $. - name: webflow-create-product-sku description: Webflow Create Product & SKU hints: readOnly: false destructive: false idempotent: false call: webflow-data-products-skus.createproduct with: site_id: tools.site_id body: tools.body outputParameters: - type: object mapping: $. - name: webflow-get-product-and-skus description: Webflow Get Product and SKUs hints: readOnly: true destructive: false idempotent: true call: webflow-data-products-skus.getproduct with: site_id: tools.site_id product_id: tools.product_id outputParameters: - type: object mapping: $. - name: webflow-update-product description: Webflow Update Product hints: readOnly: false destructive: false idempotent: true call: webflow-data-products-skus.updateproduct with: site_id: tools.site_id product_id: tools.product_id body: tools.body outputParameters: - type: object mapping: $. - name: webflow-create-skus description: Webflow Create SKUs hints: readOnly: false destructive: false idempotent: false call: webflow-data-products-skus.createskus with: site_id: tools.site_id product_id: tools.product_id body: tools.body outputParameters: - type: object mapping: $. - name: webflow-update-sku description: Webflow Update SKU hints: readOnly: false destructive: false idempotent: true call: webflow-data-products-skus.updatesku with: site_id: tools.site_id product_id: tools.product_id sku_id: tools.sku_id body: tools.body outputParameters: - type: object mapping: $.