Skip to main content
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

GET /v1/balances

Headers

HeaderRequiredDescription
AuthorizationYesBearer rbk_live_...

Query parameters

ParameterTypeRequiredDescription
accountIdsstringYesComma-separated list of account UUIDs (max 100)
Use the List Accounts endpoint to get account IDs.

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

FieldTypeDescription
accountIdstringInternal account identifier (matches IDs from the accounts endpoint)
currentBalancestringCurrent balance as a decimal string. Negative if the account is in debit.
availableBalancestringAvailable balance (funds available for transfer). Zero or positive.
currencystringISO 4217 currency code (e.g. "AUD", "NZD")
Balance values are strings to preserve decimal precision. Parse them as decimals in your application.

Error responses

StatusWhen
400No accountIds provided, or more than 100 accounts requested
404One or more accounts not found, or do not belong to you
502Banking 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})`);
}