Balance
The balance flow can be used to acquire detailed information about the balance of one of the consumer’s accounts.
Request
POST /xs2a/v1/consents/{consent-id}/balances/get HTTP/1.1
Content-Type: application/json; charset=utf-8
Authorization: Bearer <Token>
Host: <Host>
{
"consent_token": string,
"account_id": string,
"psu": ?{
"user_agent": string,
"ip_address": string,
}
}
The account identifier provided in the result from an accounts request (from either the XS2A API or the Consent API) has to be passed in the payload of the request.
A balance flow is only possible for account type DEFAULT
.
The psu
object is optional, however, if the consumer is present, it is recommended to provide it. Some banks soften their daily consent usage restrictions if the PSU data is available.
The user_agent
property holds the user agent string of the consumer's client application, e.g. the web browser.
The ip_address
property holds the IP address of the consumer. Both IPv4 and IPv6 are accepted formats.
Response
{
"data": {
"result": ?{
"balance": ?Amount,
"available": ?Amount,
"limit": ?Amount,
"reserved": ?Amount
},
"consent_token": string
}
}
The available
property holds the amount that is available for a transfer.
The limit
property holds the amount that represents the overdraft for the account, the additional amount the consumer can withdraw beyond 0.
The reserved
property holds the amount that is reserved for known future payments.
The response contains a new consent_token
that has to be used in the following request.
NOTE: The returned information can differ depending on the selected bank, as some banks provide more information than others.
Example
Request
POST /xs2a/v1/consents/gp4cb0g6d9r3qf4d68fkrlb7ejo8mqqk/balances/get
{
"consent_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbiI6IjEyMzQ1Njc4OTAifQ.na71ipK8ASvggoM6C5vMjBKgJlZLxV-m6ElgHBrNtlU",
"account_id": "fdff8f6f-d923-4489-90b3-43d11c021e1b",
"psu": {
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36",
"ip_address": "192.168.2.1",
}
}
Response
200 OK
{
"data": {
"result": {
"balance": {
"amount": 12345,
"currency": "EUR"
},
"available": {
"amount": 12345,
"currency": "EUR"
},
"limit": {
"amount": 12345,
"currency": "EUR"
},
"reserved": {
"amount": 12345,
"currency": "EUR"
}
},
"consent_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbiI6Ijg4OTk3Nzg4In0.QQscn9a6-nQXuVK4Rwbft_LFMF3-r2xzWROEZMS2lW0"
}
}