Account Information

The Account Information product provides certified parties access to a user’s current account information with user consent. You can use the Account Information APIs to gain access to an account (with user consent) to view their account balance and payment transactions history.

This provides access to Rabobank payment accounts and supplies the following APIs:

  1. Accounts AIS - The account number and name of the accountholder.
  2. Balances AIS - The actual balance present on the account. The account holder always provides access for a 180-day period.
  3. Transactions AIS - Two options are available for Transactions AIS.
📘

Transaction history

90 days Continuous - For a 180-day period, the account holder provides continuous access to all the transactions and details over the last 90 days via the API. After expiration, the account holder needs to renew access to the information using strong customer authentication (SCA). The account holder can revoke access to the account via Rabo Online Bankieren at any time.

Full transaction history - The account holder provides one-time access to the entire online available history of transactions.

Relevant scopes for oauth2 access code flow

Scope nameDescription
ais.balances.readAllows the retrieval of the current balance of an account
ais.transactions.read-90daysAllows the retrieval of transaction from the last 90 days
ais.transactions.read-historyAllows the retrieval of transaction history once
📘

Make sure that you use the Authorization and Token URL as provided by the oAuth2 Services.

Accounts AIS

Requests

The GET accounts requests must contain a digital signature. You can generate this digital signature by using the private key of your certificate. For the Sandbox environment, you can use an example certificate available in the Signing documentation.

You can retrieve the list of connected accounts with GET /accounts (GET /payments/account-information/ais). To retrieve account details of a specific account using a GET accounts/{account-id} request, you use the account-id(s) in the URL.

Response

You can retrieve the connected accounts for account information using a GET accounts request.

To view the full list of GET parameters, go to:

  • GET /accounts
  • GET /accounts/{account-id}

Account-ids present in the Sandbox environment:

IBANaccount-id
NL82RABO1108003001Tkw4MlJBQk8xMTA4MDAzMDAxOkVVUg
NL80RABO1127000002Tkw4MFJBQk8xMTI3MDAwMDAyOkVVUg
NL10RABO1127000001TkwxMFJBQk8xMTI3MDAwMDAxOkVVUg
NL53RABO1108001001Tkw1M1JBQk8xMTA4MDAxMDAxOkVVUg

Balances AIS

Requests

The GET balances requests must contain a digital signature. You can generate this digital signature by using the private key of your certificate. For the Sandbox environment, you can use an example certificate available in the Signing documentation.

You can retrieve the balance of a specific account using GET accounts/{account-id}/balances request using the account-id(s) in the URL.

Header

PSU-IP-Address

The IP Address header field consists of the IP Address value as supplied by the PSU to the TPP in the HTTP request. The PSU-IP-Address header field should be empty if no end-user is using the app, which is also referred to as unattended calls/requests. For Balance and Transaction API, you are allowed to make four unattended calls/requests per day.

The IP Address field value should only be provided if the request is initiated by the PSU.

The PSU-IP-Address header field should contain the user’s IP address if the end user is using the app. In this case, the calls are not limited.

Response

To view the full list of GET parameters, go to:

  • GET /accounts/{account-id}/balances

Transactions AIS

Requests

The GET transactions requests must contain a digital signature. You can generate this digital signature by using the private key of your certificate. For the Sandbox environment, you can use an example certificate available in the Signing documentation.

You can retrieve the transactions of a specific account using a GET accounts/{account-id}/transactions request using the account-id(s) in the URL:

GET https://api-sandbox.rabobank.nl/openapi/sandbox/payments/account-information/ais/accounts/Tkw4MFJBQk8xMTI3MDAwMDAyOkVVUg/transactions?bookingStatus=booked&dateTo=2022-03-01T10:00:41.123456Z&size=500&dateFrom=2022-01-01T00:00:00.123456Z

Header and Parameters

PSU-IP-Address

The IP Address header field consists of the IP Address value as supplied by the PSU to the TPP in the HTTP request. The PSU-IP-Address header field should be empty if no end-user is using the app, which is also referred to as unattended calls/requests. For Balance and Transaction API, you are allowed to make four unattended calls/requests per day.

The IP Address field value should only be provided if the request is initiated by the PSU.

The PSU-IP-Address header field should contain the user’s IP address if the end user is using the app. In this case, the calls are not limited.

DateFrom and DateTo

DateFrom Start Booking DateTime should be in Zulu format.

DateTo End Booking DateTime should be in Zulu format.

Consider the following scenarios:

  • Both dateFrom and dateTo are provided: The transaction data available between the Date from and Date To is returned in the response.
  • Both dateFrom and dateTo are empty: Assuming today’s date is October 19, 2022. The transaction data available from the previous day starting 2022-10-18T00:00:00.000000Z (UTC) until 2022-10-18T23:59:59.999999Z (UTC) is returned in the response.
  • dateFrom is provided but dateTo is empty: The transaction data available between the dateFrom and the current date and time is returned in the response.
    🚧

    We don’t recommend using this case because it takes some time for the transactions to be available in the system. We recommend filling the dateTo value five minutes prior to the current date and time.

  • dateTo is provided but dateFrom is empty: The transaction data available starting from 90 days prior to dateTo is returned in the response.

Response

To view the full list of GET parameters, go to:

  • GET /accounts/{account-id}/transactions

Account-ids present in the Sandbox environment:

IBANaccount-id
NL82RABO1108003001Tkw4MlJBQk8xMTA4MDAzMDAxOkVVUg
NL80RABO1127000002Tkw4MFJBQk8xMTI3MDAwMDAyOkVVUg
NL10RABO1127000001TkwxMFJBQk8xMTI3MDAwMDAxOkVVUg
NL53RABO1108001001Tkw1M1JBQk8xMTA4MDAxMDAxOkVVUg