Transaction Level Reporting
You can use the Transactions List Endpoint to fetch a list of all transactions made to your Ivy accounts. It’s perfect for building internal reconciliations, generating statements, or tracking activity on your account with full transparency. Think of it like scrolling through your bank transaction history. Each transaction entry includes:- Whether the transaction was debit or credit side
- The amount and currency
- Who sent or received the funds represented as debtor and creditor
- The account balance before and balance after
- The bank statement reference
- The timestamp of the transaction
Request Entries
This endpoint uses cursor-based pagination with startAfter. This helps you pull large datasets reliably, even as new transactions are created.Field | Type | Required | Description |
---|---|---|---|
from | number | ✅ | Start of your query window (inclusive), as a UNIX timestamp (seconds). |
to | number | ✅ | End of your query window (exclusive), as a UNIX timestamp. |
startAfter | string | ❌ | Cursor for pagination. Use the entryId of the last result from the previous call. |
- Set from and to to match the UTC timestamps for that day.
- Keep calling the endpoint with
startAfter
set tonextCursor
value from response, untilhasNext
is false.
** Example Request **
Transaction Data
The response includes a list of transactions, each showing a single credit or debit on one of your accounts. Each entry reflects an financial movement.Field | Type | Description |
---|---|---|
id | string | Transaction id. |
amount | string | Amount moved (decimal, represented as a string). |
currency | string | ISO 4217 currency code (e.g. “EUR”). |
side | string | Direction of the movement from your account’s perspective. Either “credit” or “debit” |
creditor / debtor | FinancialAddress | Counterparty address (IBAN, SCAN, etc.), as a financial address object. |
balance.before | string | Your account balance before this transaction. |
balance.after | string | Your account balance after this transaction. |
bankStatementReference | string | A reference string you can display or match with external statements. |
transactionDate | number | UNIX timestamp of when the funds arrived/left and the transaction was recorded. |
paging.hasMore | boolean | Whether more data is available — use with startAfter to paginate. |
paging.nextCursor | string | Use the value in startAfter to get the next set of transactions. |
Example Response
Notes & Best Practices
Point-in-Time Balances
You can use the balance.before and balance.after fields to reconstruct your account balance at any point in time. For example:- To get the balance as of midnight yesterday, fetch the first entry after that time and read balance.before.
- To build a balance chart, just pull entries over time and stitch together the balance.after values.
Understanding Transaction Date
- transactionDate: When a transaction is recorded on the Ivy ledger. For credits this means the funds settled, for debits it means the payout was initiated.
- effectiveAt (coming soon): Will represent when funds are actually available for use by the merchant.