Account API

Access account balance and transaction history of Belfius customers in total security.

Introduction

AIS

These endpoints provide the possibility for a TPP to access the account information and transaction history of a Belfius Customer, provided TPP has received the required token(s) generated as a result of consent process.

Produces
  • application/json

Hosts

You can use the production host when you want to go live:

psd2.b2b.belfius.be:8443

Click the button below to download the open API specification.

Download

Example screen

Navigate to an endpoint to see sample code


Get authorized account details along with balance.

Returns the account-details and associated balance for a given PSU account that is specified by the AISP through an encrypted logical-id of account. In case of a multi-currency account, the returned account balance is always a balance in euro. This balance is associated to the balance of the euro compartment or the globalised amount in euro of the balance of all compartments (depending on the parameter of the account). A list of each currency compartment with its balance is also provided in the API response.


Parameters

logical-id Path required string

Encrypted Logical ID of the account which is mapped to IBAN.

example:

"eyJ0eXAiOiJKW1QiLCJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..m67AIl-fsQMzzeBlW_me4A.blBcQzlNQ1o8sx7IFimPQS93agSYE1XlpYausCq81CQ.D3bbyfwKhBlHBK_Z8O5LYQ"
psu-involved Query optional boolean

If present (& with value true), it is indicating that a PSU has directly asked this account access in real-time. The PSU then might be involved in an additional consent process, if the given consent is not any more sufficient.

example:

false
Authorization Header required string

Access token to be passed as a header. Scope of this access-token is limited to a given type [e.g. AIS] and given IBAN. Token itself should be passed as bearer token in Authorization header, like:"Bearer 987tghjkiu6trfghjuytrghj".

example:

"Bearer 987tghjkiu6trfghjuytrghj"
Request-ID Header required string

ID of the request, unique to the call, as determined by the initiating party. It has to be a valid UUID in V04 format.

example:

"99391c7e-ad88-49ec-a2ad-99ddcb1f7721"
Accept Header required string

It must be of type application/json including version number. [Accept:application/vnd.belfius.api+json; version=2].

example:

"application/vnd.belfius.api+json; version=2"
Accept-Language Header required string

Accept-Language header field sent by the Client terminal. It can include language in ISO 639-1 format [example-:fr]. Note that during redirection, Belfius screens are only available in French (fr) and in Dutch (nl).

example:

"fr"
Client-ID Header required string

Client ID of registered TPP.

Response

{
  "product": "payment-account",
  "iban": "BE80350454678790",
  "currency": "EUR",
  "balance": "123.12",
  "multicurrency": "True",
  "account_name": "Account Name",
  "other_compartments": [
    {
      "currency": "EUR",
      "balance": -123.12
    }
  ],
  "_links": {
    "self": {
      "href": "string",
      "templated": "boolean"
    },
    "transactions": {
      "href": "string",
      "templated": "boolean"
    }
  }
}
Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Get /accounts/{logical-id}

Request example

There is no example request provided

Response example

{
  "product": "payment-account",
  "iban": "BE80350454678790",
  "currency": "EUR",
  "balance": "123.12",
  "multicurrency": "True",
  "account_name": "Account Name",
  "other_compartments": [
    {
      "currency": "EUR",
      "balance": -123.12
    }
  ],
  "_links": {
    "self": {
      "href": "string",
      "templated": "boolean"
    },
    "transactions": {
      "href": "string",
      "templated": "boolean"
    }
  }
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}

Get transactions for an authorized account.

Returns the booked transactions for a given PSU account that is specified by the AISP through an encrypted logical-id for account. The request may use some filter parameter in order to restrict the query e.g. the attributes "date-from" and "date-to". The result may be subject to pagination (i.e. retrieving a partial result in case of having too much results) through a set of pages by the ASPSP. Thereafter, the AISP may ask for the next page of results.


Parameters

logical-id Path required string

Encrypted Logical ID of the account which is mapped to IBAN.

example:

"eyJ0eXAiOiJKW1QiLCJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..m67AIl-fsQMzzeBlW_me4A.blBcQzlNQ1o8sx7IFimPQS93agSYE1XlpYausCq81CQ.D3bbyfwKhBlHBK_Z8O5LYQ"
psu-involved Query optional boolean

If present (& with value true), it is indicating that a PSU has directly asked this account access in real-time. The PSU then might be involved in an additional consent process, if the given consent is not any more sufficient.

example:

false
date-from Query optional string

Conditional: Inclusive minimal imputation date of the transactions in ISO_8601 UTC date format [YYYY-MM-DD]. Transactions having an imputation date equal to this parameter are included within the result.

example:

"2020-08-23T00:00:00.0000000"
date-to Query optional string

Conditional: Exclusive maximal imputation date of the transactions in ISO_8601 UTC date format [YYYY-MM-DD]. Transactions having an imputation date equal to this parameter are not included within the result.

example:

"2020-08-24T00:00:00.0000000"
page-size Query optional integer

Caller can provide the page-size which is records per call.

example:

10
next Query optional string

Conditional: Populate with next_page_key present in the reply from Server if present.

example:

"agSYE1XlpYausCq81CQ"
currency Query optional string

ISO 4217 Alpha 3 currency code.

example:

"EUR"
Authorization Header required string

Access token to be passed as a header. Scope of this access-token is limited to a given type [e.g. AIS] and given IBAN. Token itself should be passed as bearer token in Authorization header, like:"Bearer 987tghjkiu6trfghjuytrghj".

example:

"Bearer 987tghjkiu6trfghjuytrghj"
Request-ID Header required string

ID of the request, unique to the call, as determined by the initiating party. It has to be a valid UUID in V04 format.

example:

"99391c7e-ad88-49ec-a2ad-99ddcb1f7721"
Accept Header required string

It must be of type application/json including version number. [Accept:application/vnd.belfius.api+json; version=2].

example:

"application/vnd.belfius.api+json; version=2"
Accept-Language Header required string

Accept-Language header field sent by the Client terminal. It can include language in ISO 639-1 format [example-:fr]. Note that during redirection, Belfius screens are only available in French (fr) and in Dutch (nl).

example:

"fr"
Client-ID Header required string

Client ID of registered TPP.

Redirect-URI Header required string

Redirect-URI of the client.

example:

"https://www.clientapp.com/someurrl"
SCA-Token Header optional string

Conditional: SCA token to be passed as header. It is mandatory only for cases where client is trying to access the transactions with date_from older than 90 days from today [date-from > today - 90 days]. Client gets this token as a result of seperate SCA flow while asking for authorization to access transaction history for date-from beyond 90 days from today. The token itself is an encrypted JWT with limited lifetime. Please note that SCA-TOKEN will be checked only if date_from & date_to are filled-in & meet the creteria of date-from > today - 90 days.

example:

"eyJ0eYAiOiJKW1QiLCJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..m67AIl-fsQMzzeBlW_me4A.blBcQzlNQ1o8sx7IFimPQS93agSYE1XlpYausCq81CQ.D3bbyfwKhBlHBK_Z8O5LYQ"

Response

{
  "transactions": {
    "booked": "[]",
    "next_page_key": "string",
    "_links": {
      "next": {
        "href": "string",
        "templated": "boolean"
      }
    }
  }
}
Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

()

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Headers
  • Response-ID:

Structure of the generic error message object.

example:

{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
  • Fixed-form error tokens mapping to specific errors.

    example:

    string
    error (string)

  • Error specific code, could be used directly by consumer's software.

    example:

    string
    error_code (string)

  • Full description of the error.

    example:

    string
    error_description (string)

Get /accounts/{logical-id}/transactions

Request example

There is no example request provided

Response example

{
  "transactions": {
    "booked": "[]",
    "next_page_key": "string",
    "_links": {
      "next": {
        "href": "string",
        "templated": "boolean"
      }
    }
  }
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}

        
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}
{
  "error": "string",
  "error_code": "string",
  "error_description": "string"
}