Get Transactions
Get bank transactions across all connected accounts (v2, ClickHouse-backed).
Returns transactions within the specified date range from all linked bank accounts. Reads from ClickHouse instead of Core API for improved performance. Supports pagination, category/type/account/amount/merchant filtering, and sorting.
The daily_totals array in the response reflects the same active filters.
When transaction_type=DEBIT is applied, all daily net totals will be negative
(debits only, no credits to offset them) — this is intentional and arithmetically consistent.
Authorizations
Bearer authentication with a personal access token (prefix pat_). Generate tokens in the Truv web app under Settings → API keys.
Query Parameters
Start date for the transaction window (inclusive, YYYY-MM-DD).
"2025-01-01"
End date for the transaction window (inclusive, YYYY-MM-DD). Defaults to today.
"2025-12-31"
Comma-separated category slugs to include (e.g. 'income,transfer'). Omit to include all categories.
1000"income,transfer"
Filter by transaction type. Omit to include both debits and credits.
DEBIT, CREDIT "DEBIT"
Comma-separated account IDs to include. Omit to include all accounts.
"acc_001,acc_002"
Minimum transaction amount (absolute value). Inclusive.
"10.00"
Maximum transaction amount (absolute value). Inclusive.
"500.00"
Case-insensitive substring match on merchant name or description.
"starbucks"
Comma-separated category slugs to exclude (e.g. 'transfer,uncategorized').
1000Sort transactions by date, by absolute amount, or by review: the queue's own order, most damaging question first. review ignores sort_order and requires needs_review.
date, amount, review "date"
Sort direction: ascending or descending.
asc, desc "desc"
1-based page number, defaulting to 1 when paginating. Pagination is off unless page or page_size is set; with neither set, all matching transactions are returned in one response.
x >= 11
Transactions per page (min 10, max 500), defaulting to 500 when paginating. Pagination is off unless page or page_size is set; with neither set, all matching transactions are returned in one response.
10 <= x <= 500100
Include user-hidden transactions alongside visible ones. Hidden transactions can be unhidden; permanently deleted transactions are never returned regardless.
true
Keep only transactions in this review state, meaning whether the user has acted on them. Omit for every state. Note unreviewed covers everything the user has simply never touched, which is most of their history: for the needs-review chip use needs_review instead.
UNREVIEWED is the read-side default for a transaction with no review row, and is
never written, so an absent row and an explicit unreviewed row mean the same thing.
unreviewed, reviewed, dismissed "unreviewed"
Keep only the transactions we would actually ask about: the current review queue, with anything the user has answered or already settled by editing the transaction or making a merchant rule removed. This is what the Needs review chip filters on, and count on the response is the number beside it.
true
Response
Paginated bank transactions (v2, ClickHouse-backed).
Response model of the v2 transaction endpoints.
The route class returns a JSONResponse, so this shapes the OpenAPI spec but
never validates or serializes a payload.
Total transactions matching the filters, across all pages.
Accounts the returned transactions belong to.
Net total per calendar day, reflecting the same filters.
Logo URL per merchant name present in the response.
Relative URL of the next page, when paginated.
Relative URL of the previous page, when paginated.