Transaction Level Reporting

You can use the Entries 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 entries are created.

FieldTypeRequiredDescription
fromnumberStart of your query window (inclusive), as a UNIX timestamp (seconds).
tonumberEnd of your query window (exclusive), as a UNIX timestamp.
limitnumberMax number of entries to return (1-100). Defaults to 10 if not set.
startAfterstringCursor for pagination. Use the entryId of the last result from the previous call.

For example, to retrieve all of yesterday’s activity:

  1. Set from and to to match the UTC timestamps for that day.
  2. Keep calling the endpoint with startAfter set to the last entryId returned, until hasNext is false.

**Example Request **

{
  "from": 1720656000,
  "to": 1720742400,
  "limit": 50
}

This would return up to 50 ledger entries between midnight and midnight (UTC) on a given day.

Transaction Data

The response includes a list of transaction, each showing a single credit or debit on one of your accounts. Each entry reflects an financial movement.

FieldTypeDescription
entryIdstringUnique identifier for this entry. Useful for pagination and auditing.
transactionIdstringShared ID across all entries for the same transaction.
amountstringAmount moved (decimal, represented as a string).
currencystringISO 4217 currency code (e.g. “EUR”).
sidestringDirection of the movement from your account’s perspective. Either “credit” or “debit”
creditor / debtorFinancialAddressCounterparty address (IBAN, SCAN, etc.), as a financial address object.
balance.beforestringYour account balance before this ledger entry.
balance.afterstringYour account balance after this ledger entry.
bankStatementReferencestringA reference string you can display or match with external statements.
transactionDatenumberUNIX timestamp of when the funds arrived/left and the transaction was recorded.
hasMorebooleanWhether more data is available — use with startAfter to paginate.

Example Response

{
  "data": [
    {
      "entryId": "01XYZABC...",
      "transactionId": "txn_12345...",
      "amount": "500.00",
      "currency": "EUR",
      "side": "credit",
      "creditor": {
        "type": "iban",
        "iban": {
          "iban": "DE89370400440532013000",
          "accountHolderName": "Demo Company Ltd"
        }
      },
      "debtor": {
        "type": "iban",
        "iban": {
          "iban": "ES9121000418450200051332",
          "accountHolderName": "John Doe"
        }
      },
      "balance": {
        "before": "1500.00",
        "after": "2000.00"
      },
      "bankStatementReference": "REF-INV-8972",
      "transactionDate": 1720700000
    }
    // more entries...
  ],
  "hasMore": true
}

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.

If you want the current balance, use the /balance/retrieve endpoint instead. It’s more efficient for real-time queries.

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.