View as Markdown

Custodian balances

What the bank reported as the balance of a cash account, as it reported it: one point per cash account and day. These are the bank's raw figures, before Aleta reconciles; securities and contracts are custodian holdings.

Needs custody:read. You see the balances of the cash accounts you have access to.

The balance

idstring

The point. A UUID.

as_ofstring

The day the bank reported, yyyy-mm-dd.

custodian_idstring or null

The bank, as in custodians.

cash_account_idstring or null

The cash account; null when the point names none.

cash_account_numberstring or null

The bank's number for the cash account.

amount, currency_codestring or null

The balance as reported. Decimals are strings.

converted_amountstring or null

The balance in your currency, at exchange_rate, when the bank sent it.

exchange_rateobject or null

The bank's rate, {from_currency_code, to_currency_code, date, rate}.

sourcestring or null

How the point arrived: scraper, bank_file, bank_api, external_delivery, priority_bank_file or manual (approved by hand); null when the point does not say.


GET/v1/custodian-balances

List balances

One day's balances in id order, one page at a time (limit, cursor). The day is exactly as_of, as the bank reported it; banks report the day before, so today, the default, is usually empty. The answer's as_of is the day read. Any other parameter (date, account_id, depository_id) is 400.

Optional attributes

as_ofstring

The day, yyyy-mm-dd. Default today (UTC).

entity_idstring

Only this entity's cash accounts (with its holding twin from the legacy platform).

custody_account_idstring

The cash accounts of this custody account: those in its portfolio and its default cash account.

cash_account_idstring

Only this cash account.

limitinteger

Page size. Default 100; a larger value is capped at 1000 and 0 counts as 1.

cursorstring

The next_cursor of the previous page.

Response
{
  "data": [
    {
      "id": "0199f2a0-9a1b-7c2d-8e3f-4a5b6c7d8e9f",
      "as_of": "2026-10-17",
      "custodian_id": "019dff7d-5a85-741e-8437-22e1d5f7c685",
      "cash_account_id": "0199f29f-2b3c-7d4e-8f5a-6b7c8d9e0f1a",
      "cash_account_number": "4001-123456",
      "amount": "-1139047.19",
      "currency_code": "EUR",
      "converted_amount": "-8498657.7",
      "exchange_rate": { "from_currency_code": "EUR", "to_currency_code": "DKK", "date": "2026-10-17", "rate": "7.4612" },
      "source": "bank_file"
    }
  ],
  "next_cursor": null,
  "limit": 100,
  "as_of": "2026-10-17"
}

400 (bad_request) for a malformed as_of, entity_id, custody_account_id, cash_account_id or limit, an unknown parameter or a cursor that cannot be read (invalid cursor); 401 (unauthorized) without a valid token; 403 (forbidden) without custody:read.