API Reference

Business Account Insight

Business Account Insight is a part of Rabo BoekhoudKoppeling and Rabo Banking Link. This API supports all third parties and direct customers.

👍

To receive real-time updates regarding changes to your account, you can integrate with the Account Notification Services.

This API allows you or your clients (with Rabobank business payment and savings accounts) to receive account information, such as actual balances and transaction details through your application using Rabobank.

Using BAI, you can optimize the customer journey in your web service.

To know more read the manual that connects to your use case:

Relevant scope(s) for oauth2 access code flow

Scope nameDescription
bai.accountinformation.readAllow read from Business Account Insight services
📘

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

Rate Limiting

A default rate limit plan is set for all APIs. The rate limit can be shared or individual (defined per operation). The table below describes the rate limiting for this product.

OperationTypeLimit (API calls / s)Counts towards shared limit
GET /accountsShared20Yes
GET /accounts/{account-id}Shared20Yes
GET /accounts/{account-id}/balancesShared20Yes
GET /accounts/{account-id}/transactionsShared20Yes
All (premium) Oauth callsShared20Yes

Accounts API

Requests

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

To retrieve the list of connected accounts you can GET /accounts. To retrieve account details of a specific account using a GET /accounts/{account-id} request you use the account-id in the URL:

GET https://api-sandbox.rabobank.nl/openapi/sandbox/payments/insight/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0

To view full list of GET parameters, go to:

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

Response

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

To view the GET parameters, read the endpoint description for GET /accounts.

To view the expected errors, go to Errors BAI.

{
  "accounts": [
    {
      "_links": {
        "account": "/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0",
        "balances": "/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0/balances",
        "transactions": "/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0/transactions"
      },
      "currency": "EUR",
      "iban": "NL52RABO0125618484",
      "name": "Some alias 1",
      "ownerName": "Some company 1",
      "resourceId": "Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0",
      "status": "enabled"
    },
    {
      "_links": {
        "account": "/accounts/hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA",
        "balances": "/accounts/hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA/balances",
        "transactions": "/accounts/hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA/transactions"
      },
      "currency": "EUR",
      "iban": "NL80RABO1127000002",
      "name": "Some alias 2",
      "ownerName": "Some company 2",
      "resourceId": "hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA",
      "status": "enabled"
    }
  ]
}

To view the GET parameters, read the endpoint description for GET/accounts/{account-id}.

{
    "_links": {
        "account": "/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0",
        "balances": "/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0/balances",
        "transactions": "/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0/transactions"
    },
    "currency": "EUR",
    "iban": "NL52RABO0125618484",
    "name": "Some alias 1",
    "ownerName": "Some company 1",
    "resourceId": "Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0",
    "status": "enabled"
}

Account-id's present in the Sandbox environment:

IBANaccount-id
NL52RABO0125618484Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0
NL80RABO1127000002hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA

Balances API

Requests

The GET balances requests must contain a digital signature. You can generate this digital signature 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 a GET accounts/{account-id}/balances request using the account-id(s) in the URL:

GET https://api-sandbox.rabobank.nl/openapi/sandbox/payments/insight/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0/balances

This returns the current expected and interimBooked balance, also the closingBooked balance from the day before.

Historical EODB balances of a specific account

To retrieve historical End Of Day Balance balances of a specific account, use closingBookedReferenceDate in the query param, as below:

GET https://api-sandbox.rabobank.nl/openapi/sandbox/payments/insight/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0/balances?closingBookedReferenceDate=2024-10-30
🚧

closingBookedReferenceDate must contain a date in the past up to 15 months.

This returns the requested closingBooked balance with the ReferenceDate, along with the current expected and interimBooked balance.

To view full list of GET parameters, go to:

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

Response

To view the GET parameters, read the endpoint description for GET /accounts/{account-id}/balances.

🚧

The closingBooked balance is calculated in the first hour after midnight. During the calculation, the closingBooked balance is not available and only the expected balance is returned.

🚧

The interim booked balance is not available for savings accounts.

To view the expected errors, go to Errors BAI.

{
  "account": {
    "currency": "EUR",
    "iban": "NL52RABO0125618484"
  },
  "balances": [
    {
      "balanceAmount": {
        "amount": "10",
        "currency": "EUR"
      },
      "balanceType": "expected",
      "lastChangeDateTime": "2023-02-01T14:07:17.000Z"
    },
    {
      "balanceAmount": {
        "amount": "30",
        "currency": "EUR"
      },
      "balanceType": "closingBooked",
      "referenceDate": "2023-01-31"
    }
  ],
  "piggyBanks": [
    {
      "piggyBankName": "Car",
      "piggyBankBalance": "1200.00"
    },
    {
      "piggyBankName": "Vacation",
      "piggyBankBalance": "800.00"
    }
  ]
}
🚧

To access piggy bank information, users must provide separate consent. When consent is given all existing savings piggy banks are returned in the response.

If there are no piggy banks related to the account, only the account balances are provided.

Account-id's present in the Sandbox environment:

IBANaccount-id
NL52RABO0125618484Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0
NL80RABO1127000002hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA

Transactions API

Requests

The GET transactions requests must contain a digital signature. You can generate this digital signature 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/insight/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0/transactions?bookingStatus=Booked&dateFrom=2020-07-18T02:41:10.529Z&dateTo=2021-10-19T02:41:10.529Z&size=10>

DateTo - parameter

End Booking DateTime should be in UTC format.

🚧

We recommend filling the dateTo value five minutes prior to the current date and time, because it takes some time for the transactions to be available in the system.

To view full list of GET parameters, go to:

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

Response

To view the GET parameters, read the endpoint description for GET/accounts/{account-id}/transactions.

To view the expected errors, go to Errors BAI.

{
    "account": {
        "currency": "EUR",
        "iban": "NL52RABO0125618484"
    },
    "transactions": {
        "_links": {
            "account": "/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0",
            "next": "/accounts/Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0/transactions?bookingStatus=booked&dateFrom=2020-07-18T02:41:10.529Z&dateTo=2021-10-19T02:41:10.529Z&size=500&nextPageToken=ckP10o26_WXzc1YYMecNZvc71b1BIPVXKT8UhG4GMDShKA4i-hGdLJ2xTgZAnHUa"
        },
        "booked": [
            {
                "bookingDate": "2021-10-18",
                "creditorAccount": {
                    "currency": "EUR",
                    "iban": "NL52RABO0125618484"
                },
                "debtorAccount": {
                    "iban": "NL62RABO0838250920"
                },
                "debtorName": "Business ST A",
                "entryReference": "13140",
                "initiatingPartyName": "TRX ST",
                "raboBookingDateTime": "2021-10-18T14:21Z",
                "raboDetailedTransactionType": "633",
                "raboTransactionTypeName": "st",
                "reasonCode": "AG01",
                "remittanceInformationUnstructured": "Description ST 1",
                "transactionAmount": {
                    "value": "6000.0",
                    "currency": "EUR"
                },
                "valueDate": "2021-10-18",
                "balanceAfterBooking": {
                    "balanceType": "InterimBooked",
                    "balanceAmount": {
                        "value": "6082.17",
                        "currency": "EUR"
 
                    }
                }
            }
        ]
    }
}

Account-id's present in the Sandbox environment:

IBANaccount-id
NL52RABO0125618484Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e0
NL80RABO1127000002hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA

Scenario's for testing together with the Batch Transaction Details API present in the Sandbox environment:

IBANaccount-iddateFromdateTobatchEntryReferenceNoOfTransactions
NL52RABO0125618484Wp-xhZMGEWRIIgVjPwTC1aKJJ0VCRZ_4bScUVXof7e02025-07-01T00:00:00Z2025-07-31T23:59:59ZOM1B000000645366250
NL80RABO1127000002hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA2025-07-01T00:00:00Z2025-07-31T23:59:59ZOM1B0000006453651500
NL80RABO1127000002hBS4MQ0Oc4LLJRiUiE_R94_-zoU4B2vwnPkXmsGh_bA2024-10-01T00:00:00Z2024-10-30T23:59:59ZOM1B000000645364550