Skip to main content

Transactions

To access transactions, use the Transactions API endpoint. The transactions are sent through a collection of transactions within a data array and a nextPageToken. The last page returns a null value for nextPageToken.

Transaction history

After a user provides consent to a bank, transactions are fetched from the bank to EnableNow with a maximum of 18 months of transaction history.

Structure

{
"data": [
{
"id": "aeeffb5c-4800-5f6f-8797-7f488351553d",
"accountNumber": "NL12ABNA9999876523",
"accountId": "faa409f9-ff20-4462-4729-08dbfaecde2e",
"description": "Description",
"bookDate": "2021-12-23",
"transactionDateTime": "2021-12-23T21:40:38.26Z",
"amount": 229.6,
"balanceAfterTransaction": 1229.82,
"currency": "EUR",
"counterpartDescription": "ACME Inc.",
"counterpartAccountNumber": "NL28ABNA9998422205",
"providerProperties": {
"providerKey": "ABNANL2A",
"transactionId": "GT020008680598410AO",
"transactionType": "658",
"transactionTypeName": null,
"reasonCode": null,
"purposeCode": null,
"balanceAfterTransaction": 1229.82
},
"category": {
"l0Name": "Retail",
"l1Name": "Inflows",
"l2Name": "Income",
"l3Name": "Fixed income",
"code": "R010101"
}
},
{
"id": "d8906f3a-5128-54cf-840f-1a82c5562b73",
"accountNumber": "NL12ABNA9999876523",
"accountId": "faa409f9-ff20-4462-4729-08dbfaecde2e",
"description": "Description",
"bookDate": "2021-12-23",
"transactionDateTime": "2021-12-23T21:40:38.31Z",
"amount": -181.5,
"balanceAfterTransaction": 1000.22,
"currency": "EUR",
"counterpartDescription": "ACME Inc.",
"counterpartAccountNumber": "NL04INGB9999552978",
"providerProperties": {
"providerKey": "ABNANL2A",
"transactionId": "9855P5427870677S0AQ",
"transactionType": "654",
"transactionTypeName": null,
"reasonCode": null,
"purposeCode": null,
"balanceAfterTransaction": 1000.22
},
"category": {
"l0Name": "Retail",
"l1Name": "Inflows",
"l2Name": "Income",
"l3Name": "Variable income",
"code": "R010102"
}
}
],
"nextPageToken": "wjUIWnL2qgXbmjdq"
}

Inside the data collection, the transaction object consists of the following properties:

PropertyTypeAvailabilityDescription
idUUID (v5)RequiredUnique ID for this transaction.
accountNumberstringOptionalAccount IBAN number for this transaction in uppercase. Can be null for accounts which have no IBAN number (i.e. savings accounts)
accountIdstringRequiredUnique EnableNow account ID for this account
descriptionstringRequiredThe description of the transaction
bookDatestring (YYYY-MM-DD)RequiredThe booking date of the transaction
transactionDateTimestringRequiredDateTime of the transaction in UTC time, note, that some banks only provide the date, not the time
amountdecimalRequiredThe amount of this transaction, this value is negative for debit transactions
balanceAfterTransactiondecimalOptionalWhen balance data is provided by the provider, this is the calculated balance after this transaction. This value is negative for negative balances
currencystringRequiredISO 3 letter currency value in uppercase
counterpartDescriptionstringOptionalDescription of the counterpart party
counterpartAccountNumberstringOptionalAccount IBAN number of the counterpart party In uppercase

The Category object is only returned when you are using the Categorization features and a Categorization Job has run for the selected transactions. For more information about the structure of the Category object, refer to the Categorization documentation.

Provider Properties

Provider properties is an object with properties that contain specific (meta)data related to the transaction. Not all banks provide all details.

info

The structure and content of the provider properties object are subject to change. Banks may alter the way they provide additional metadata about transactions, which can affect the properties available within this object. It's important to note that these properties can be modified or new ones can be added without any changes to our API. This means integrations using provider properties should be designed with flexibility and resilience in mind to handle potential modifications seamlessly.

PropertyTypeAvailabilityDescription
providerKeystringRequiredThe bank identifier
transactionIdstringOptionalUnique ID from the bank for this transaction
transactionTypestringOptionalThe bank specific mutation of type code of this transaction
transactionTypeNamestringOptionalThe bank specific mutation of type name of this transaction
reasonCodestringOptionalThe bank specific reason code of this transaction. Reason codes are used to provide details about errors regarding direct debits.
purposeCodestringOptionalThe bank specific purpose code of this transaction. Purpose codes allows a user to classify payments, informing the bank the purpose for the credit transfer, for example Salary, Savings, Rent, etc.
balanceAfterTransactiondecimalOptionalThe account balance after the transaction

Fields per provider

The currently available fields and mapping from the raw PSD2 output is specified per provider:

Bank / ProviderTransaction TypeTransction Type NameReasonCodePurposeCode
EnableNow Sandbox BankNot availableNot availableNot availableNot available
ABN AMROMutationCodeNot availableNot availableNot available
RabobankRaboDetailedTransactionTypeRaboTransactionTypeNameReasonCodePurposeCode
INGNot availableTransactionTypeNot availableNot available
KnabNot availableProprietaryBankTransactionCodeNot availableNot available
SNS BankNot availableProprietaryBankTransactionCodeReturnInformationCodePurposeCode
ASN BankNot availableProprietaryBankTransactionCodeReturnInformationCodePurposeCode
RegioBankNot availableProprietaryBankTransactionCodeReturnInformationCodePurposeCode
BunqSubTypeTypeNot availableNot available
Van LanschotNot availableProprietaryBankTransactionCodeNot availableNot available
TriodosNot availableProprietaryBankTransactionCodeNot availableNot available
RevolutProprietaryBankTransactionCode.CodeNot availableNot availableNot available