Skip to main content
GET
List transactions

Authorizations

Authorization
string
header
required

A workspace API key created in ThinkOut settings. One key reads one workspace.

Query Parameters

from
string<date>

Earliest date to include, inclusive. Ignored when period is given.

to
string<date>

Latest date to include, inclusive. Ignored when period is given.

bank_id
string<uuid>[]

Only rows on the accounts fed by these bank connections. Comma-separated for several.

account_id
string<uuid>[]

Only rows on these accounts. Comma-separated for several.

category_id
string<uuid>[]

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.

label_id
string<uuid>[]

Only rows carrying at least one of these labels. Comma-separated for several.

counterparty_id
string<uuid>[]

Only rows attributed to these counterparties. Comma-separated for several.

direction
enum<string>

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.

Available options:
inflow,
outflow
status
enum<string>

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.

Available options:
booked,
pending
expand
enum<string>[]

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.

Available options:
account,
category,
counterparty,
labels
limit
integer
default:100

Page size.

Required range: 1 <= x <= 500
cursor
string

Opaque token from the previous page's next_cursor.

Response

A page of transactions.

object
string
required
Allowed value: "list"
data
object[]
required
has_more
boolean
required

Whether another page exists.

next_cursor
string | null
required

Pass as cursor to fetch the next page. null on the last page.