Transactions
Transactions
Retrieve up to 24 months of transactions data.
Endpoints
Sync Transactions
Provides a paginated feed of transactions, grouped into created
, updated
, and removed
lists.
Each call will also return a cursor.next
value. In subsequent calls, include that value to receive
only changes that have occurred since the previous call. Note that these lists are unordered,
so it is possible to get transactions with dates that precede those you've fetched in previous calls to this
endpoint. Older transactions can be added, for example, when historical data becomes accessible later.
Pending transactions will only be reported as created
. Pending transactions are completely
removed and replaced with each transaction refresh or update; no attempt is made to track their removal or
modification. Pending transactions will not be reported in the removed
list. If you store
pending transactions, you should remove and replace them entirely each time you fetch new transactions.
Large numbers of transactions will be paginated, and the has_more
field will be true. You should
continue calling this endpoint with each new cursor.next
value until has_more
is false.
Note that this endpoint does not trigger a fetch of transactions from the institution; it merely returns
transactions that have already been fetched, either because prefetch
was requested when the link was created,
or because of scheduled or on-demand updates.
MoneyKit checks for updated account data, including transactions, periodically throughout the day, but the update frequency can vary, depending on the downstream data provider, the institution, and whether one or both provide webhook-based updates. To force a check for updated transactions, you can use the /products endpoint.
Note also that the transactions.updates_available
webhook will alert you when new data is available.
List Transactions
Returns transactions for the accounts associated with a link. Results are paginated, and returned in reverse chronological order.
Note that this endpoint does not trigger a fetch of transactions from the institution; it merely returns
transactions that have already been fetched, either because prefetch
was requested when the link was created,
or because of scheduled or on-demand updates.
MoneyKit checks for updated account data, including transactions, periodically throughout the day, but the update frequency can vary, depending on the downstream data provider, the institution, and whether one or both provide webhook-based updates. To force a check for updated transactions, you can use the /products endpoint.
If you have requested prefetch or an on-demand update, you should check the refreshed_at
date
for this product in the returned response, and compare that against the previous refreshed_at
date, which you can
get from any previous response for this or any other account or link request. If the refreshed_at date has not
increased, then updated data is not yet available.
Get User Transactions
Fetches transactions for a user.
This endpoint fetches all transactions for a user across all of their links. You can use it to retrieve transactions from any or all accounts at once, regardless of which institution they belong to.
Correct Enrichment
Manually update the enrichment categories for a specific transaction. The transaction will be updated with your corrections, which are then used to refine future categorizations. This endpoint returns the updated transaction, along with similar past transactions, using the same format as when retrieving transactions for a link.
Import Transactions
Adds transactions to a link imported with the import endpoint. The imported data has a maximum size limit of 1MB, which corresponds very roughly to about 4000 transactions. The data is processed synchronously, so you can expect a delay of up to 10 seconds before the response is transmitted.