Remove history preview
Preview what cutting off history before a date would do, without changing anything. Returns per-account transaction counts and date ranges, plus `suggestedDate`: the earliest date from which every account has data, which is the point where the books stop having gaps. Loan accounts are ignored when computing it, since their data only spans payout to final repayment and a late loan is not a coverage gap. Only accounts with transactions are listed, and transit accounts are left out. Always run this before `remove_history`.
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/accounts/remove_history_preview" \ -H "Content-Type: application/json" \ -d '{}'{ "accounts": [ { "accountId": "string", "accountType": "string", "earliestDate": "string", "transactionCount": 0, "openTransactionCount": 0, "removeCount": 0, "openRemoveCount": 0, "remainingCount": 0, "remainingOpenCount": 0, "newStartingBalance": "string", "hasInitialBalance": true } ], "suggestedDate": "string", "dataStartDate": "string"}Daily balance
Get the day-by-day cumulative balance across accounts, returned as `[date, balance]` tuples. Unlike the per-account balances endpoint, these are converted into the company's base currency and summed, so this is the series to plot as a cash curve. Restrict it to specific accounts with a comma-separated `accountIds`.
Bulk remove history
Permanently delete transactions before `beforeDate` on the listed accounts and set the company data start date, so reporting begins from a clean, fully covered period. Each collapsed account gets an initial-balance seed so its running balance still ends up right; supply `initialBalances` for accounts with no existing seed, such as CSV wallets whose uploads started late, otherwise the seed is derived from the recorded sum. Pass an empty `accountIds` to only move the data start date. Accounts left with no transactions are archived and returned in `archivedAccountIds`. Transit accounts are refused with 422. This cannot be undone, so preview first.