Returns a paginated list of bank transactions for authorized accounts, with filtering,
sorting and pagination (_start / _end, default 25 items). Each transaction embeds its
related entities: recipient (with bank details), sender, bank_errors,
payables (if the Pay product is activated) and payroll (if applicable).
Authorization
- Regular users can only view transactions from accounts they have access to through a bank key.
- The
company-idheader also drives wallet-transaction visibility: wallet transactions inscribed by other users are hidden unless you holdwallet_transactions_view_allin the company set on the header. The scope applies this rule in SQL (with_wallet_visibility), so the same request under a differentcompany-idcan return a different set of wallet transactions.
Filtering
The per-field operators in Filters — $gt, $gte,
$lt, $lte, $in, $nin, $ne, $regex — work on every column listed in
Query parameters, passed as the value of that column (?amount={"$gte":100000}).
A field name that is not a real column is rejected with 400
({"type": "invalid_query", "error": "Unknown field: …"}) — check the list below before
inventing one.
$or is not a per-field operator: it is a top-level query parameter of its own, taking an
array of filter objects (?$or=[{"status":"draft"},{"amount":{"$gt":100000}}]). Writing it
inside a field — ?amount={"$or":…} — does not do what you expect. See
Logical OR operations.
amount is an integer in the minor unit of the account's currency, which for CLP is
the whole peso — see Amounts and currency.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
401Unauthorized — typically missing/invalid Authorization or missing company-id header.
The response body is empty for this guard. Branch your client logic on the status code,
not the body. See Errors for details.
