Flutterwave Payments API — Virtual Accounts
Flutterwave Virtual NUBAN issuance and lifecycle. 4 operations.
Flutterwave Payments API — Virtual Accounts is a Naftiko capability published by Flutterwave, one of 18 capabilities the APIs.io network indexes for this provider. It bundles 4 operations across the GET, POST, and PUT methods rooted at /v4/virtual-accounts.
The capability includes 2 read-only operations and 2 state-changing operations. Lead operation: Flutterwave List All Virtual Accounts. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.
Tagged areas include Flutterwave, Payments, Virtual Accounts, and Bank Transfer.
naftiko: 1.0.0-alpha2
info:
label: Flutterwave Payments API — Virtual Accounts
description: Flutterwave Virtual NUBAN issuance and lifecycle. 4 operations.
tags: [Flutterwave, Payments, Virtual Accounts, Bank Transfer]
created: '2026-05-24'
modified: '2026-05-24'
binds:
- namespace: env
keys: { FLUTTERWAVE_ACCESS_TOKEN: FLUTTERWAVE_ACCESS_TOKEN }
capability:
consumes:
- type: http
namespace: payments-virtual-accounts
baseUri: https://api.flutterwave.cloud/f4b/production
description: Flutterwave Virtual Accounts business capability.
resources:
- name: virtual-accounts
path: /virtual-accounts
operations:
- { name: listvirtualaccounts, method: GET, description: Flutterwave List All Virtual Accounts, outputRawFormat: json,
outputParameters: [{ name: result, type: object, value: $. }] }
- name: createvirtualaccount
method: POST
description: Flutterwave Create A Virtual Account
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
inputParameters: [{ name: body, in: body, type: object, required: true }]
- name: virtual-accounts-id
path: /virtual-accounts/{id}
operations:
- { name: getvirtualaccount, method: GET, description: Flutterwave Retrieve A Virtual Account, outputRawFormat: json,
outputParameters: [{ name: result, type: object, value: $. }] }
- name: updatevirtualaccount
method: PUT
description: Flutterwave Update A Virtual Account
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-virtual-accounts-rest
port: 8080
description: REST adapter for Flutterwave Virtual Accounts.
resources:
- path: /v4/virtual-accounts
name: virtual-accounts
operations:
- { method: GET, name: listvirtualaccounts, description: Flutterwave List All Virtual Accounts,
call: payments-virtual-accounts.listvirtualaccounts, outputParameters: [{ type: object, mapping: $. }] }
- method: POST
name: createvirtualaccount
description: Flutterwave Create A Virtual Account
call: payments-virtual-accounts.createvirtualaccount
with: { body: rest.body }
outputParameters: [{ type: object, mapping: $. }]
- path: /v4/virtual-accounts/{id}
name: virtual-accounts-id
operations:
- { method: GET, name: getvirtualaccount, description: Flutterwave Retrieve A Virtual Account,
call: payments-virtual-accounts.getvirtualaccount, outputParameters: [{ type: object, mapping: $. }] }
- method: PUT
name: updatevirtualaccount
description: Flutterwave Update A Virtual Account
call: payments-virtual-accounts.updatevirtualaccount
with: { body: rest.body }
outputParameters: [{ type: object, mapping: $. }]
- type: mcp
namespace: payments-virtual-accounts-mcp
port: 9090
transport: http
description: MCP adapter for Flutterwave Virtual Accounts.
tools:
- { name: flutterwave-list-virtual-accounts, description: Flutterwave List All Virtual Accounts,
hints: { readOnly: true, destructive: false, idempotent: true },
call: payments-virtual-accounts.listvirtualaccounts, outputParameters: [{ type: object, mapping: $. }] }
- name: flutterwave-create-virtual-account
description: Flutterwave Create A Virtual Account
hints: { readOnly: false, destructive: false, idempotent: false }
call: payments-virtual-accounts.createvirtualaccount
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]
- { name: flutterwave-get-virtual-account, description: Flutterwave Retrieve A Virtual Account,
hints: { readOnly: true, destructive: false, idempotent: true },
call: payments-virtual-accounts.getvirtualaccount, outputParameters: [{ type: object, mapping: $. }] }
- name: flutterwave-update-virtual-account
description: Flutterwave Update A Virtual Account
hints: { readOnly: false, destructive: false, idempotent: true }
call: payments-virtual-accounts.updatevirtualaccount
with: { body: tools.body }
outputParameters: [{ type: object, mapping: $. }]