Selection summary
Count and sum a transaction selection without fetching the rows, which is what makes "1,284 selected, €412,900" possible over a filter that matches more than one page. Sums are per currency and never converted, so a multi-currency selection returns several entries. `partialSums` appears only when category-level filters mean some transactions match on part of their amount, for instance one leg of a split categorization; without it, every transaction counted in full.
Authentication
sf_… API key in the bearerAuth field below.A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.
In: header
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/companies/string/transactions/selection_summary" \ -H "Content-Type: application/json" \ -d '{ "selection": { "mode": "ids", "ids": [ "string" ] } }'{ "count": 0, "sums": [ { "currency": "string", "value": 0 } ], "partialSums": [ { "currency": "string", "value": 0 } ]}Search
Search transactions with sorting and a composable filter set. It is a POST because the filter array is too structured for a query string, not because it changes anything. Each entry in `filters` is active simply by being present, and they combine with AND. This is the endpoint behind the transactions table in the app, so use it whenever the plain list is not enough. `balanceByDate` gives the running end-of-day balance and is only filled in when the page covers a single account and `sortBy` is `date`.
Stripe invoice link availability
Whether the company has any Stripe invoice that was paid outside Stripe and is not yet linked to a transaction. Drives whether the "Link Stripe invoice" action is shown: a company whose customers always pay through Stripe has nothing to link.