Aggregate transactions
Sum transactions the same way the analyze screen does. Prefer this over listing and totaling yourself.
Query parameters
aggregateByarray of enums
One or more of
day, week, month, year, transactionCategoryId, transactionCategoryGroupId, merchantId, transactionType, currencyCode.currencyCodestring
Convert amounts into this currency.
filtersnullable object
Same filters as list transactions.
accountIdnullable string
Single account.
accountIdsnullable array of strings
Several accounts.
transactionCategoryIdsnullable array of strings
Filter by category. Include null for uncategorized.
merchantIdsnullable array of strings
Filter by merchant.
searchnullable string
Search description and merchant name.
fromDatenullable string
Inclusive start date.
toDatenullable string
Inclusive end date.
transactionTypesnullable array of enums
debit and/or credit.excludeTransfersnullable boolean
Drop internal transfers.
excludeArchivednullable boolean
Drop archived transactions.
excludeParentTransactionsnullable boolean
Drop split parents (keep the children).
hasLinkedPlannedTransactionnullable boolean
true for transactions linked to any planned transaction, false for those linked to none.linkedPlannedTransactionIdsnullable array of strings
Transactions linked to any of these planned transactions. In the query string of list transactions, the URL's length limit (about 8 KB) allows about 150 ids. The request body of update many transactions takes up to 10,000.
GET/transactions/aggregated3?currencyCode=USD&aggregateBy[]=month&filters={"transactionTypes":["debit"]}
curl https://api.finwiseapp.io/transactions/aggregated3?currencyCode=USD&aggregateBy[]=month&filters={"transactionTypes":["debit"]} \-X GET \-H "Authorization: Bearer fw_..." \-H "Content-Type: application/json"
const response = await fetch('https://api.finwiseapp.io/transactions/aggregated3?currencyCode=USD&aggregateBy[]=month&filters={"transactionTypes":["debit"]}', {method: 'GET',headers: {Authorization: 'Bearer fw_...','Content-Type': 'application/json',},})const data = await response.json()
Response
[{"date": "2026-01-01T00:00:00.000Z","amount": -1840.22},{"date": "2026-02-01T00:00:00.000Z","amount": -2114.5},{"date": "2026-03-01T00:00:00.000Z","amount": -1766.09}]