Flutterwave · Capability

Flutterwave Transfers API — Transfers

Flutterwave Transfers lifecycle (create, list, retrieve, update, retry, orchestrator). 6 operations.

Flutterwave Transfers API — Transfers is a Naftiko capability published by Flutterwave, one of 18 capabilities the APIs.io network indexes for this provider. It bundles 6 operations across the POST, GET, and PUT methods rooted at /v4.

The capability includes 2 read-only operations and 4 state-changing operations. Lead operation: Flutterwave List Transfers. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Flutterwave, Transfers, and Payouts.

Run with Naftiko FlutterwaveTransfersPayouts

What You Can Do

GET
Listtransfers — Flutterwave List Transfers
/v4/transfers
POST
Createtransfer — Flutterwave Create A Transfer
/v4/transfers
GET
Gettransfer — Flutterwave Retrieve A Transfer
/v4/transfers/{id}
PUT
Updatetransfer — Flutterwave Update A Transfer
/v4/transfers/{id}
POST
Retrytransfer — Flutterwave Retry Or Duplicate A Transfer
/v4/transfers/{id}/retry
POST
Orchestratortransfer — Flutterwave Initiate An Orchestrator Transfer
/v4/direct-transfers

MCP Tools

flutterwave-list-transfers

Flutterwave List Transfers

read-only idempotent
flutterwave-create-transfer

Flutterwave Create A Transfer

flutterwave-get-transfer

Flutterwave Retrieve A Transfer

read-only idempotent
flutterwave-update-transfer

Flutterwave Update A Transfer

idempotent
flutterwave-retry-transfer

Flutterwave Retry Or Duplicate A Transfer

flutterwave-orchestrator-transfer

Flutterwave Initiate An Orchestrator Transfer

Capability Spec

transfers-transfers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Flutterwave Transfers API — Transfers
  description: Flutterwave Transfers lifecycle (create, list, retrieve, update, retry, orchestrator). 6 operations.
  tags: [Flutterwave, Transfers, Payouts]
  created: '2026-05-24'
  modified: '2026-05-24'
binds:
- namespace: env
  keys: { FLUTTERWAVE_ACCESS_TOKEN: FLUTTERWAVE_ACCESS_TOKEN }
capability:
  consumes:
  - type: http
    namespace: transfers-transfers
    baseUri: https://api.flutterwave.cloud/f4b/production
    description: Flutterwave Transfers business capability.
    resources:
    - name: transfers
      path: /transfers
      operations:
      - { name: listtransfers, method: GET, description: Flutterwave List Transfers, outputRawFormat: json,
          outputParameters: [{ name: result, type: object, value: $. }] }
      - name: createtransfer
        method: POST
        description: Flutterwave Create A Transfer
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
        inputParameters: [{ name: body, in: body, type: object, required: true }]
    - name: transfers-id
      path: /transfers/{id}
      operations:
      - { name: gettransfer, method: GET, description: Flutterwave Retrieve A Transfer, outputRawFormat: json,
          outputParameters: [{ name: result, type: object, value: $. }] }
      - name: updatetransfer
        method: PUT
        description: Flutterwave Update A Transfer
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
        inputParameters: [{ name: body, in: body, type: object, required: true }]
    - name: transfers-id-retry
      path: /transfers/{id}/retry
      operations:
      - name: retrytransfer
        method: POST
        description: Flutterwave Retry Or Duplicate A Transfer
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
    - name: direct-transfers
      path: /direct-transfers
      operations:
      - name: orchestratortransfer
        method: POST
        description: Flutterwave Initiate An Orchestrator Transfer
        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: transfers-transfers-rest
    port: 8080
    description: REST adapter for Flutterwave Transfers.
    resources:
    - path: /v4/transfers
      name: transfers
      operations:
      - { method: GET, name: listtransfers, description: Flutterwave List Transfers,
          call: transfers-transfers.listtransfers, outputParameters: [{ type: object, mapping: $. }] }
      - method: POST
        name: createtransfer
        description: Flutterwave Create A Transfer
        call: transfers-transfers.createtransfer
        with: { body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v4/transfers/{id}
      name: transfers-id
      operations:
      - { method: GET, name: gettransfer, description: Flutterwave Retrieve A Transfer,
          call: transfers-transfers.gettransfer, outputParameters: [{ type: object, mapping: $. }] }
      - method: PUT
        name: updatetransfer
        description: Flutterwave Update A Transfer
        call: transfers-transfers.updatetransfer
        with: { body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v4/transfers/{id}/retry
      name: transfers-id-retry
      operations:
      - method: POST
        name: retrytransfer
        description: Flutterwave Retry Or Duplicate A Transfer
        call: transfers-transfers.retrytransfer
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v4/direct-transfers
      name: direct-transfers
      operations:
      - method: POST
        name: orchestratortransfer
        description: Flutterwave Initiate An Orchestrator Transfer
        call: transfers-transfers.orchestratortransfer
        with: { body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
  - type: mcp
    namespace: transfers-transfers-mcp
    port: 9090
    transport: http
    description: MCP adapter for Flutterwave Transfers.
    tools:
    - { name: flutterwave-list-transfers, description: Flutterwave List Transfers,
        hints: { readOnly: true, destructive: false, idempotent: true },
        call: transfers-transfers.listtransfers, outputParameters: [{ type: object, mapping: $. }] }
    - name: flutterwave-create-transfer
      description: Flutterwave Create A Transfer
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: transfers-transfers.createtransfer
      with: { body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]
    - { name: flutterwave-get-transfer, description: Flutterwave Retrieve A Transfer,
        hints: { readOnly: true, destructive: false, idempotent: true },
        call: transfers-transfers.gettransfer, outputParameters: [{ type: object, mapping: $. }] }
    - name: flutterwave-update-transfer
      description: Flutterwave Update A Transfer
      hints: { readOnly: false, destructive: false, idempotent: true }
      call: transfers-transfers.updatetransfer
      with: { body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]
    - { name: flutterwave-retry-transfer, description: Flutterwave Retry Or Duplicate A Transfer,
        hints: { readOnly: false, destructive: false, idempotent: false },
        call: transfers-transfers.retrytransfer, outputParameters: [{ type: object, mapping: $. }] }
    - name: flutterwave-orchestrator-transfer
      description: Flutterwave Initiate An Orchestrator Transfer
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: transfers-transfers.orchestratortransfer
      with: { body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]