The REST API is in beta. This endpoint’s response shape may change.
Returns live balances for the specified accounts. Balances are fetched directly from the banking provider on each request. No balance data is stored on Redbark servers.
Request
| Header | Required | Description |
|---|
Authorization | Yes | Bearer rbk_live_... |
Query parameters
| Parameter | Type | Required | Description |
|---|
accountIds | string | Yes | Comma-separated list of account UUIDs (max 100) |
Response
{
"data": [
{
"accountId": "acc_abc123",
"currentBalance": "1234.56",
"availableBalance": "1200.00",
"currency": "AUD"
},
{
"accountId": "acc_def456",
"currentBalance": "8750.00",
"availableBalance": "8750.00",
"currency": "AUD"
}
]
}
Balance object
| Field | Type | Description |
|---|
accountId | string | Internal account identifier (matches IDs from the accounts endpoint) |
currentBalance | string | Current balance as a decimal string. Negative if the account is in debit. |
availableBalance | string | Available balance (funds available for transfer). Zero or positive. |
currency | string | ISO 4217 currency code (e.g. "AUD", "NZD") |
Balance values are strings to preserve decimal precision. Parse them as decimals in your application.
Error responses
| Status | When |
|---|
400 | No accountIds provided, or more than 100 accounts requested |
404 | One or more accounts not found, or do not belong to you |
502 | Banking provider temporarily unavailable. Retry later. |
Examples
Basic request
curl -H "Authorization: Bearer rbk_live_..." \
"https://api.redbark.co/v1/balances?accountIds=acc_abc123,acc_def456"
Python
import requests
API_KEY = "rbk_live_..."
# Get account IDs first
accounts_resp = requests.get(
"https://api.redbark.co/v1/accounts",
headers={"Authorization": f"Bearer {API_KEY}"},
)
account_ids = [a["id"] for a in accounts_resp.json()["data"]]
# Fetch balances for all accounts
resp = requests.get(
"https://api.redbark.co/v1/balances",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"accountIds": ",".join(account_ids)},
)
balances = resp.json()["data"]
for b in balances:
print(f"{b['accountId']}: {b['currency']} {b['currentBalance']} (available: {b['availableBalance']})")
JavaScript
const API_KEY = "rbk_live_...";
const BASE = "https://api.redbark.co";
// Get account IDs first
const accountsResp = await fetch(`${BASE}/v1/accounts`, {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const { data: accounts } = await accountsResp.json();
const accountIds = accounts.map((a) => a.id).join(",");
// Fetch balances
const resp = await fetch(`${BASE}/v1/balances?accountIds=${accountIds}`, {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const { data: balances } = await resp.json();
for (const b of balances) {
console.log(`${b.accountId}: ${b.currency} ${b.currentBalance} (available: ${b.availableBalance})`);
}