naftiko: 1.0.0-alpha2 info: label: Flutterwave Payments API — Orders description: Flutterwave Orders lifecycle. 4 operations. tags: [Flutterwave, Payments, Orders] created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: { FLUTTERWAVE_ACCESS_TOKEN: FLUTTERWAVE_ACCESS_TOKEN } capability: consumes: - type: http namespace: payments-orders baseUri: https://api.flutterwave.cloud/f4b/production description: Flutterwave Orders business capability. resources: - name: orders path: /orders operations: - { name: listorders, method: GET, description: Flutterwave List Orders, outputRawFormat: json, outputParameters: [{ name: result, type: object, value: $. }] } - name: createorder method: POST description: Flutterwave Create An Order outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] inputParameters: [{ name: body, in: body, type: object, required: true }] - name: orders-id path: /orders/{id} operations: - { name: getorder, method: GET, description: Flutterwave Retrieve An Order, outputRawFormat: json, outputParameters: [{ name: result, type: object, value: $. }] } - name: updateorder method: PUT description: Flutterwave Update An Order outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] inputParameters: [{ name: body, in: body, type: object, required: true }] authentication: { type: bearer, value: '{{env.FLUTTERWAVE_ACCESS_TOKEN}}', placement: header } exposes: - type: rest namespace: payments-orders-rest port: 8080 description: REST adapter for Flutterwave Orders. resources: - path: /v4/orders name: orders operations: - { method: GET, name: listorders, description: Flutterwave List Orders, call: payments-orders.listorders, outputParameters: [{ type: object, mapping: $. }] } - method: POST name: createorder description: Flutterwave Create An Order call: payments-orders.createorder with: { body: rest.body } outputParameters: [{ type: object, mapping: $. }] - path: /v4/orders/{id} name: orders-id operations: - { method: GET, name: getorder, description: Flutterwave Retrieve An Order, call: payments-orders.getorder, outputParameters: [{ type: object, mapping: $. }] } - method: PUT name: updateorder description: Flutterwave Update An Order call: payments-orders.updateorder with: { body: rest.body } outputParameters: [{ type: object, mapping: $. }] - type: mcp namespace: payments-orders-mcp port: 9090 transport: http description: MCP adapter for Flutterwave Orders. tools: - { name: flutterwave-list-orders, description: Flutterwave List Orders, hints: { readOnly: true, destructive: false, idempotent: true }, call: payments-orders.listorders, outputParameters: [{ type: object, mapping: $. }] } - name: flutterwave-create-order description: Flutterwave Create An Order hints: { readOnly: false, destructive: false, idempotent: false } call: payments-orders.createorder with: { body: tools.body } outputParameters: [{ type: object, mapping: $. }] - { name: flutterwave-get-order, description: Flutterwave Retrieve An Order, hints: { readOnly: true, destructive: false, idempotent: true }, call: payments-orders.getorder, outputParameters: [{ type: object, mapping: $. }] } - name: flutterwave-update-order description: Flutterwave Update An Order hints: { readOnly: false, destructive: false, idempotent: true } call: payments-orders.updateorder with: { body: tools.body } outputParameters: [{ type: object, mapping: $. }]