naftiko: 1.0.0-alpha2 info: label: fabric PIM — Products description: 'fabric PIM — Products. 8 operations. Lead operation: Create Items and Bundles. Self-contained Naftiko capability covering one fabric business surface.' tags: - Fabric - Products created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: FABRIC_ACCESS_TOKEN: FABRIC_ACCESS_TOKEN capability: consumes: - type: http namespace: pim-products baseUri: https://live.copilot.fabric.inc description: fabric PIM — Products consumed operations from fabric-pim-openapi.yml. resources: - name: api-product-v1-product-bulk-insert path: /api-product/v1/product/bulk/insert operations: - name: create-items-and-bundles method: POST description: 'Create Items and Bundles' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-product-v1-product-bulk-update path: /api-product/v1/product/bulk/update operations: - name: update-items-and-bundles method: POST description: 'Update Items and Bundles' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-product-v1-product-bulk-upsert path: /api-product/v1/product/bulk/upsert operations: - name: upsert-items-and-bundles method: POST description: 'Upsert Items and Bundles' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-product-v1-product-bundle-update path: /api-product/v1/product/bundle/update operations: - name: update-items-in-bundle method: POST description: 'Update Items in Bundle' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-product-v1-product path: /api-product/v1/product operations: - name: get-items-and-children-items method: GET description: 'Get Items and Children Items' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-product-v2-product path: /api-product/v2/product operations: - name: get-items-and-limited-children-items method: GET description: 'Get Items and Limited Children Items' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-product-v1-product-search path: /api-product/v1/product/search operations: - name: find-items method: GET description: 'Find Items' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-product-v1-product-attribute path: /api-product/v1/product/attribute operations: - name: get-item-attributes method: GET description: 'Get Item Attributes' outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer value: '{{env.FABRIC_ACCESS_TOKEN}}' placement: header exposes: - type: rest namespace: pim-products-rest port: 8080 description: REST adapter for fabric PIM — Products. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api-product/v1/product/bulk/insert name: api-product-v1-product-bulk-insert description: REST surface for api-product-v1-product-bulk-insert. operations: - method: POST name: create-items-and-bundles description: 'Create Items and Bundles' call: pim-products.create-items-and-bundles with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api-product/v1/product/bulk/update name: api-product-v1-product-bulk-update description: REST surface for api-product-v1-product-bulk-update. operations: - method: POST name: update-items-and-bundles description: 'Update Items and Bundles' call: pim-products.update-items-and-bundles with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api-product/v1/product/bulk/upsert name: api-product-v1-product-bulk-upsert description: REST surface for api-product-v1-product-bulk-upsert. operations: - method: POST name: upsert-items-and-bundles description: 'Upsert Items and Bundles' call: pim-products.upsert-items-and-bundles with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api-product/v1/product/bundle/update name: api-product-v1-product-bundle-update description: REST surface for api-product-v1-product-bundle-update. operations: - method: POST name: update-items-in-bundle description: 'Update Items in Bundle' call: pim-products.update-items-in-bundle with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api-product/v1/product name: api-product-v1-product description: REST surface for api-product-v1-product. operations: - method: GET name: get-items-and-children-items description: 'Get Items and Children Items' call: pim-products.get-items-and-children-items outputParameters: - type: object mapping: $. - path: /v1/api-product/v2/product name: api-product-v2-product description: REST surface for api-product-v2-product. operations: - method: GET name: get-items-and-limited-children-items description: 'Get Items and Limited Children Items' call: pim-products.get-items-and-limited-children-items outputParameters: - type: object mapping: $. - path: /v1/api-product/v1/product/search name: api-product-v1-product-search description: REST surface for api-product-v1-product-search. operations: - method: GET name: find-items description: 'Find Items' call: pim-products.find-items outputParameters: - type: object mapping: $. - path: /v1/api-product/v1/product/attribute name: api-product-v1-product-attribute description: REST surface for api-product-v1-product-attribute. operations: - method: GET name: get-item-attributes description: 'Get Item Attributes' call: pim-products.get-item-attributes outputParameters: - type: object mapping: $. - type: mcp namespace: pim-products-mcp port: 9090 transport: http description: MCP adapter for fabric PIM — Products. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: fabric-create-items-and-bundles description: 'Create Items and Bundles' hints: readOnly: false destructive: false idempotent: false call: pim-products.create-items-and-bundles with: body: tools.body outputParameters: - type: object mapping: $. - name: fabric-update-items-and-bundles description: 'Update Items and Bundles' hints: readOnly: false destructive: false idempotent: false call: pim-products.update-items-and-bundles with: body: tools.body outputParameters: - type: object mapping: $. - name: fabric-upsert-items-and-bundles description: 'Upsert Items and Bundles' hints: readOnly: false destructive: false idempotent: false call: pim-products.upsert-items-and-bundles with: body: tools.body outputParameters: - type: object mapping: $. - name: fabric-update-items-in-bundle description: 'Update Items in Bundle' hints: readOnly: false destructive: false idempotent: false call: pim-products.update-items-in-bundle with: body: tools.body outputParameters: - type: object mapping: $. - name: fabric-get-items-and-children-items description: 'Get Items and Children Items' hints: readOnly: true destructive: false idempotent: true call: pim-products.get-items-and-children-items outputParameters: - type: object mapping: $. - name: fabric-get-items-and-limited-children-items description: 'Get Items and Limited Children Items' hints: readOnly: true destructive: false idempotent: true call: pim-products.get-items-and-limited-children-items outputParameters: - type: object mapping: $. - name: fabric-find-items description: 'Find Items' hints: readOnly: true destructive: false idempotent: true call: pim-products.find-items outputParameters: - type: object mapping: $. - name: fabric-get-item-attributes description: 'Get Item Attributes' hints: readOnly: true destructive: false idempotent: true call: pim-products.get-item-attributes outputParameters: - type: object mapping: $.