Get all funding methods (New)
Overview
Retrieve or auto-generate bank account details (funding methods) for a wallet to receive inbound local or international transfers.
- Segregated Accounts: Dedicated virtual account numbers (vIBANs) issued in the company's name. Local transfers arrive via CHAPS, BACS, Faster Payments, or SEPA in minutes. International transfers arrive via SWIFT in 1-5 working days.
- Pooled Accounts: Shared accounts with unique
smartWalletRefrouting tags for automatic reconciliation. - Auto-Creation: Pass
autoCreate=trueas a query parameter to dynamically generate virtual account numbers if none currently exist for the wallet.
Resource Access
- HTTP Method:
GET - Endpoint:
/banking/ibans/v2/{companyId}/wallets/{walletId}/fundingMethods - Authentication: Bearer token required
Request Headers
| Header | Value | Required | Description |
|---|---|---|---|
Authorization | Bearer {access_token} | Yes | JWT Bearer access token |
Accept | application/json | Yes | Response payload format |
x-api-key | string | No | Optional API key |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
companyId | number | Yes | Specifies the unique company identifier (e.g. 1234). |
walletId | number | Yes | Specifies the unique wallet identifier (e.g. 2233). |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
autoCreate | boolean | No | When set to true, generates account details if the wallet does not yet possess one. If omitted, returns only existing accounts. |
partnerProduct | string | No | Specify the bank partner when requesting specific local clearing rails (e.g. FCMB-NGN-1, PAGA-NGN-2). |
Response
Success Response (200 OK - Segregated Account Example)
{
"totalCount": 2,
"items": [
{
"id": "3535",
"accountType": "LOCAL",
"fundsType": "SEGERATED",
"accountName": "Acme Global Solutions Ltd",
"accountNumber": "96566308",
"bankCode": "608382",
"bankName": "BankingCircle",
"bankAddress": "AMERIKA PLADS 38, KOEBENHAVN, 2900, Denmark",
"smartWalletRef": null,
"virtualAccountId": "3535",
"notes": [
"Receive into this local account via CHAPS, BACS & Faster Payments.",
"Incoming payments are typically received in minutes but can take up a few hours during peak times."
]
},
{
"id": "3534",
"accountType": "GLOBAL",
"fundsType": "SEGERATED",
"accountName": "Acme Global Solutions Ltd",
"accountNumber": "GB93SAPY60838296566308",
"bankCode": "SAPYGB2L",
"bankName": "BankingCircle",
"bankAddress": "AMERIKA PLADS 38, KOEBENHAVN, 2900, Denmark",
"smartWalletRef": null,
"virtualAccountId": "3534",
"notes": [
"Receive into this International account via International Transfers (SWIFT).",
"Incoming payments are typically received in 1-5 working days."
]
}
],
"metadata": {
"isEligibleForSegregatedLocalAccount": true,
"isEligibleForSegregatedGlobalAccount": true
}
}
Response Fields (FundingMethod)
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the funding account. |
accountType | string | Scope of the account: LOCAL (domestic clearing rails) or GLOBAL (cross-border SWIFT). |
fundsType | string | Method of funds management: SEGERATED (dedicated vIBAN) or POOLED (shared rail with smart wallet tag). |
accountName | string | Name assigned to the account (typically company legal entity name). |
accountNumber | string | Account number or full international IBAN. |
bankCode | string | Bank code (Sort Code, SWIFT BIC, Routing number, ABA). |
bankName | string | Name of the issuing bank. |
bankAddress | string | Registered address of the bank. |
smartWalletRef | string | For pooled accounts, the unique reference to include in transfer memos (null for segregated). |
virtualAccountId | string | Unique ID of the virtual account. |
notes | array of strings | Instructions, clearing rails, and delivery timeframe notes. |
metadata.isEligibleForSegregatedLocalAccount | boolean | Eligibility flag for dedicated local clearing. |
metadata.isEligibleForSegregatedGlobalAccount | boolean | Eligibility flag for dedicated SWIFT IBAN. |
Error Responses
- 400 Bad Request: Invalid parameters or unsupported partner product.
- 401 Unauthorized: Missing or expired Bearer token.
- 403 Forbidden: Insufficient permissions to view or create funding methods.
- 404 Not Found: Wallet or company not found.
- 500 Internal Server Error: Downstream banking partner integration error.
Code Examples
Base URL
Production: https://api.ahrvo.network
Staging: https://gateway.ahrvo.network
cURL
curl -X GET \
'https://gateway.ahrvo.network/banking/ibans/v2/1234/wallets/2233/fundingMethods?autoCreate=true' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'Accept: application/json'
Python
import requests
company_id = 1234
wallet_id = 2233
url = f"https://gateway.ahrvo.network/banking/ibans/v2/{company_id}/wallets/{wallet_id}/fundingMethods"
params = {"autoCreate": True}
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Accept": "application/json"
}
response = requests.get(url, params=params, headers=headers)
print(response.status_code, response.json())
JavaScript (Node.js)
const axios = require('axios');
const companyId = 1234;
const walletId = 2233;
const url = `https://gateway.ahrvo.network/${companyId}/wallets/${walletId}/fundingMethods`;
const headers = {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Accept': 'application/json'
};
const params = { autoCreate: true };
axios.get(url, { headers, params })
.then(res => console.log(res.data))
.catch(err => console.error(err.response ? err.response.data : err.message));