Get account balances
GET/v1/accounts/:external_account_id/balances
Get the current balances of one of your bank's accounts: one entry for each asset the
external_account_id is registered for. There is no asset_id parameter; to narrow to
one asset use GET /v1/balances?filter[external_account_id]=...&filter[asset_id]=....
Each entry reports total, locked, reserved and available; see the Balance
schema for exact definitions (normally total = available + locked + reserved).
Response-level meta gives the ledger cut all entries were read at and whether the
read is current (see PositionReadMetadata).
Required scope: connector:balances:list.
Unknown accounts. If your bank has no account with this external_account_id, the
response is 200 OK with an empty data array and no meta, not 404.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 503
Balances of the account, one per registered asset (possibly empty).
The request is malformed: invalid JSON syntax, an invalid path or query parameter, a
missing required header such as Idempotency-Key, or a single field that fails its own
format rule. Fix the request before retrying; retrying it unchanged fails again.
The bearer token is missing, malformed, expired, signed by an unknown key, or was not issued by the platform IAM for the Lyriq Connector. Obtain a new token and retry. See the Authentication section.
The token is valid but may not perform this request: it lacks the required scope, has
no bank membership, needs an x-dan-bank-id header to choose between several
memberships, names a bank in x-dan-bank-id it has no membership for, or the caller's
bank is suspended or terminated. A new token with the same configuration fails the same
way. See the Authentication section.
The account is registered but the platform has no ledger position for it yet.
Retry later. (An unknown external_account_id returns 200 with empty data.)
The request was refused because a rate limit was reached (code RATE_LIMITED). No
Retry-After header is sent; retry with exponential backoff.
The request could not be served right now. Either the network is not fully operational
(OUTBOUND_HALTED or READ_ONLY: mutations are refused while read endpoints keep
working; OPERATIONAL_STATE_UNKNOWN: the state could not be determined), or a platform
dependency is temporarily unavailable. No Retry-After header is sent; retry later with
backoff. When retrying a mutation, reuse the same Idempotency-Key and body.