Batch edit
Apply one patch to a whole selection of transactions: reassign them, set notes, or push a categorization template across all of them. Fields left out of `patch` are untouched, and null clears a field. The categorization template deliberately has no transfer target, because counter transactions are booked from the vendor's stored default rather than from anything passed here. Same `selection` shape and 10,000-row cap as the other bulk endpoints.
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
application/json
curl -X POST "https://example.com/companies/string/transactions/batch_edit" \ -H "Content-Type: application/json" \ -d '{ "selection": { "mode": "ids", "ids": [ "string" ] }, "patch": {} }'{ "success": true, "affected": 0}Uncategorize
Strip the categorizations from a selection of transactions, leaving the transactions themselves untouched. Use it to undo a bad bulk categorization or a wrong vendor default before re-running it. The rows go back to open and disappear from the P&L until they are categorized again. Same `selection` shape and 10,000-row cap as the other bulk endpoints.
Categorization status
Given up to 10,000 transaction ids, return which of them are still open and the amount of each. Built for review tooling that produced suggestions a while ago and needs to know what is still worth applying before showing it. "Open" is broader than uncategorized: it also covers rows whose categorizations do not sum to the amount, and incomplete transfers. `amountsById` covers every id that exists in this company, so a cluster total can be computed here rather than trusted from the caller.