naftiko: 1.0.0-alpha2 info: label: IFS Cloud ERP API — Procurement description: 'IFS Cloud ERP API — Procurement. 2 operations. Lead operation: List purchase orders. Self-contained Naftiko capability covering one Ifs business surface.' tags: - Ifs - Procurement created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: IFS_API_KEY: IFS_API_KEY capability: consumes: - type: http namespace: cloud-erp-procurement baseUri: https://{tenant}.ifs.cloud/main/ifsapp/data description: IFS Cloud ERP API — Procurement business capability. Self-contained, no shared references. resources: - name: PURCHASE_ORDER_API path: /PURCHASE_ORDER_API operations: - name: listpurchaseorders method: GET description: List purchase orders outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $filter in: query type: string description: OData filter (e.g., "OrderDate ge 2024-01-01 and OrderStatus eq 'Released'") - name: $top in: query type: integer - name: $skip in: query type: integer - name: $select in: query type: string - name: $expand in: query type: string description: Navigation properties to expand (e.g., "PurchaseOrderLines") - name: PURCHASE_ORDER_API(OrderNo='{orderNo}') path: /PURCHASE_ORDER_API(OrderNo='{orderNo}') operations: - name: getpurchaseorder method: GET description: Get purchase order outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orderNo in: path type: string description: Purchase order number required: true - name: $expand in: query type: string authentication: type: bearer token: '{{env.IFS_API_KEY}}' exposes: - type: rest namespace: cloud-erp-procurement-rest port: 8080 description: REST adapter for IFS Cloud ERP API — Procurement. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/purchase-order-api name: purchase-order-api description: REST surface for PURCHASE_ORDER_API. operations: - method: GET name: listpurchaseorders description: List purchase orders call: cloud-erp-procurement.listpurchaseorders with: $filter: rest.$filter $top: rest.$top $skip: rest.$skip $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/purchase-order-api-orderno-orderno name: purchase-order-api-orderno-orderno description: REST surface for PURCHASE_ORDER_API(OrderNo='{orderNo}'). operations: - method: GET name: getpurchaseorder description: Get purchase order call: cloud-erp-procurement.getpurchaseorder with: orderNo: rest.orderNo $expand: rest.$expand outputParameters: - type: object mapping: $. - type: mcp namespace: cloud-erp-procurement-mcp port: 9090 transport: http description: MCP adapter for IFS Cloud ERP API — Procurement. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-purchase-orders description: List purchase orders hints: readOnly: true destructive: false idempotent: true call: cloud-erp-procurement.listpurchaseorders with: $filter: tools.$filter $top: tools.$top $skip: tools.$skip $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: get-purchase-order description: Get purchase order hints: readOnly: true destructive: false idempotent: true call: cloud-erp-procurement.getpurchaseorder with: orderNo: tools.orderNo $expand: tools.$expand outputParameters: - type: object mapping: $.