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:
- Accounts AIS - The account number and name of the accountholder.
- Balances AIS - The actual balance present on the account. The account holder always provides access for a 180-day period.
- Transactions AIS - Two options are available for Transactions AIS.
Transaction history90 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 name | Description |
---|---|
ais.balances.read | Allows the retrieval of the current balance of an account |
ais.transactions.read-90days | Allows the retrieval of transaction from the last 90 days |
ais.transactions.read-history | Allows 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:
IBAN | account-id |
---|---|
NL82RABO1108003001 | Tkw4MlJBQk8xMTA4MDAzMDAxOkVVUg |
NL80RABO1127000002 | Tkw4MFJBQk8xMTI3MDAwMDAyOkVVUg |
NL10RABO1127000001 | TkwxMFJBQk8xMTI3MDAwMDAxOkVVUg |
NL53RABO1108001001 | Tkw1M1JBQk8xMTA4MDAxMDAxOkVVUg |
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) until2022-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:
IBAN | account-id |
---|---|
NL82RABO1108003001 | Tkw4MlJBQk8xMTA4MDAzMDAxOkVVUg |
NL80RABO1127000002 | Tkw4MFJBQk8xMTI3MDAwMDAyOkVVUg |
NL10RABO1127000001 | TkwxMFJBQk8xMTI3MDAwMDAxOkVVUg |
NL53RABO1108001001 | Tkw1M1JBQk8xMTA4MDAxMDAxOkVVUg |