naftiko: 1.0.0-alpha2 info: label: fabric Cart — Payments description: 'fabric Cart — Payments. 8 operations. Lead operation: Create Payment. Self-contained Naftiko capability covering one fabric business surface.' tags: - Fabric - Payments created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: FABRIC_ACCESS_TOKEN: FABRIC_ACCESS_TOKEN capability: consumes: - type: http namespace: cart-payments baseUri: https://api.fabric.inc/v3 description: fabric Cart — Payments consumed operations from fabric-cart-openapi.yml. resources: - name: carts-cartid-payments path: /carts/{cartId}/payments operations: - name: create-payment method: POST description: 'Create Payment' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-payments-id-actions-delete-attributes path: /carts/{cartId}/payments/{id}/actions/delete-attributes operations: - name: delete-payment-attributes method: POST description: 'Delete Payment Attributes' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-payments-id-actions-add-attributes path: /carts/{cartId}/payments/{id}/actions/add-attributes operations: - name: add-payment-attributes method: POST description: 'Add Payment Attributes' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-customer-actions-delete-attributes path: /carts/{cartId}/customer/actions/delete-attributes operations: - name: delete-customer-attributes method: POST description: 'Delete Customer Attributes' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-customer-actions-add-attributes path: /carts/{cartId}/customer/actions/add-attributes operations: - name: add-customer-attributes method: POST description: 'Add Customer Attributes' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-coupons-couponid path: /carts/{cartId}/coupons/{couponId} operations: - name: add-coupon method: POST description: 'Add Coupon' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: couponId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: removes-coupon method: DELETE description: 'Removes Coupon' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: couponId in: path type: string required: true - name: carts-cartid-addresses path: /carts/{cartId}/addresses operations: - name: create-address method: POST description: 'Create Address' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer value: '{{env.FABRIC_ACCESS_TOKEN}}' placement: header exposes: - type: rest namespace: cart-payments-rest port: 8080 description: REST adapter for fabric Cart — Payments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/carts/{cartId}/payments name: carts-cartid-payments description: REST surface for carts-cartid-payments. operations: - method: POST name: create-payment description: 'Create Payment' call: cart-payments.create-payment with: cartId: rest.path.cartId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/payments/{id}/actions/delete-attributes name: carts-cartid-payments-id-actions-delete-attributes description: REST surface for carts-cartid-payments-id-actions-delete-attributes. operations: - method: POST name: delete-payment-attributes description: 'Delete Payment Attributes' call: cart-payments.delete-payment-attributes with: cartId: rest.path.cartId id: rest.path.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/payments/{id}/actions/add-attributes name: carts-cartid-payments-id-actions-add-attributes description: REST surface for carts-cartid-payments-id-actions-add-attributes. operations: - method: POST name: add-payment-attributes description: 'Add Payment Attributes' call: cart-payments.add-payment-attributes with: cartId: rest.path.cartId id: rest.path.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/customer/actions/delete-attributes name: carts-cartid-customer-actions-delete-attributes description: REST surface for carts-cartid-customer-actions-delete-attributes. operations: - method: POST name: delete-customer-attributes description: 'Delete Customer Attributes' call: cart-payments.delete-customer-attributes with: cartId: rest.path.cartId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/customer/actions/add-attributes name: carts-cartid-customer-actions-add-attributes description: REST surface for carts-cartid-customer-actions-add-attributes. operations: - method: POST name: add-customer-attributes description: 'Add Customer Attributes' call: cart-payments.add-customer-attributes with: cartId: rest.path.cartId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/coupons/{couponId} name: carts-cartid-coupons-couponid description: REST surface for carts-cartid-coupons-couponid. operations: - method: POST name: add-coupon description: 'Add Coupon' call: cart-payments.add-coupon with: cartId: rest.path.cartId couponId: rest.path.couponId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removes-coupon description: 'Removes Coupon' call: cart-payments.removes-coupon with: cartId: rest.path.cartId couponId: rest.path.couponId outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/addresses name: carts-cartid-addresses description: REST surface for carts-cartid-addresses. operations: - method: POST name: create-address description: 'Create Address' call: cart-payments.create-address with: cartId: rest.path.cartId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: cart-payments-mcp port: 9090 transport: http description: MCP adapter for fabric Cart — Payments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: fabric-create-payment description: 'Create Payment' hints: readOnly: false destructive: false idempotent: false call: cart-payments.create-payment with: cartId: tools.cartId body: tools.body outputParameters: - type: object mapping: $. - name: fabric-delete-payment-attributes description: 'Delete Payment Attributes' hints: readOnly: false destructive: false idempotent: false call: cart-payments.delete-payment-attributes with: cartId: tools.cartId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: fabric-add-payment-attributes description: 'Add Payment Attributes' hints: readOnly: false destructive: false idempotent: false call: cart-payments.add-payment-attributes with: cartId: tools.cartId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: fabric-delete-customer-attributes description: 'Delete Customer Attributes' hints: readOnly: false destructive: false idempotent: false call: cart-payments.delete-customer-attributes with: cartId: tools.cartId body: tools.body outputParameters: - type: object mapping: $. - name: fabric-add-customer-attributes description: 'Add Customer Attributes' hints: readOnly: false destructive: false idempotent: false call: cart-payments.add-customer-attributes with: cartId: tools.cartId body: tools.body outputParameters: - type: object mapping: $. - name: fabric-add-coupon description: 'Add Coupon' hints: readOnly: false destructive: false idempotent: false call: cart-payments.add-coupon with: cartId: tools.cartId couponId: tools.couponId body: tools.body outputParameters: - type: object mapping: $. - name: fabric-removes-coupon description: 'Removes Coupon' hints: readOnly: false destructive: true idempotent: true call: cart-payments.removes-coupon with: cartId: tools.cartId couponId: tools.couponId outputParameters: - type: object mapping: $. - name: fabric-create-address description: 'Create Address' hints: readOnly: false destructive: false idempotent: false call: cart-payments.create-address with: cartId: tools.cartId body: tools.body outputParameters: - type: object mapping: $.