List transactions
Returns transactions ordered by date descending, then id.
This is a statement of an account: one row per movement, as the account recorded it. Every movement is returned, including the two legs of a transfer between the workspace’s own accounts and transactions the user has excluded from cash flow. Neither is marked, because neither changes what happened on the account.
Pending bank transactions are returned with status: pending. Duplicates detected by
ThinkOut are never returned and cannot be requested.
Where a transaction has been split inside ThinkOut, the original movement is
returned and its pieces are not. Reports count differently; see
/transactions/summary.
Authorizations
A workspace API key created in ThinkOut settings. One key reads one workspace.
Query Parameters
Earliest date to include, inclusive. Ignored when period is given.
Latest date to include, inclusive. Ignored when period is given.
Only rows on the accounts fed by these bank connections. Comma-separated for several.
Only rows on these accounts. Comma-separated for several.
Only rows in these categories. Comma-separated for several. On transactions this also matches a split transaction whose pieces are in one of them, even though the row itself carries no category.
Only rows carrying at least one of these labels. Comma-separated for several.
Only rows attributed to these counterparties. Comma-separated for several.
Whether money comes in or goes out.
On a transaction or a forecast it follows the sign of amount and can never
disagree with it. It is present so that responses can be grouped and read without
inspecting signs.
inflow, outflow pending transactions come from a bank and are not yet booked. A pending amount can
change when it books, and updated_at moves when it does, so upsert by id rather
than treating a pending row as final.
booked, pending Relations to return as full objects instead of ids. Comma-separated.
Without it every relation is an id. Naming one here replaces the id with the object it points at. Expansion goes one level deep; an unsupported name is rejected.
Supported here: account, category, counterparty, labels.
account, category, counterparty, labels Page size.
1 <= x <= 500Opaque token from the previous page's next_cursor.