How to Access Account Balances and Transactions
XS2A Account Information Service offers access to the list of accounts of a PSU, account details, transactions, and balances.
A bank defines which accounts are accessible through XS2A.
Prerequisites
Your certificate must contain the PSP role = PSP_AI.
You must have PSU consent on accessing the requested account information. Learn more about consents access rights XS2A Consent Models and Access Rights.
Consent must have status =
valid
in XS2A.Consent
frequencyPerDay
must not be exceeded in XS2A. Learn more about access frequency validation in Consent frequency validation.
Read account list
Using the /accounts
endpoint, you can obtain the list of accounts of a particular PSU.
Important: these will be only those accounts that are accessible through XS2A according to internal Bank rules.
The response contains an array of account details supported by a Bank.
XS2A interface supports all account details attributes defined by the Berlin-Group standard, although not all of them might be available in a Bank.
Flow
Go to
/v1/accounts
.Fill in mandatory data
Data field | Value |
---|---|
HTTP-Method |
|
Header | Random UUID for this request |
Header | Learn how to create and authorise consents in XS2A Creation and Authorisation of an AIS Consent in Steps. |
Execute the request.
The response should have the HTTP status code:
200
- OkFor examples of the response payload see XS2A OpenAPI Reference
Read account details
Using the /v2/accounts/{account-id}
endpoint, you can obtain the details of a particular account.
Important: you must use accountId
of an account as the path parameter {account-id}
. accountId
is a part of the response on the Read account list call.
The response contains account details supported by a Bank.
XS2A interface supports all account details attributes defined by the Berlin-Group standard, although not all of them might be available in a Bank.
Flow
Go to
/v2/accounts/{account-id}
.Fill in mandatory data
Data field | Value |
---|---|
HTTP-Method |
|
Header | Random UUID for this request |
Header | Learn how to create and authorise consents in XS2A Creation and Authorisation of an AIS Consent in Steps. |
URL path variable | An |
Execute the request.
The response should have the HTTP status code:
200
- OkFor examples of the response payload see XS2A OpenAPI Reference
Read account balance
Using the /v1/accounts/{account-id}/balances
endpoint, you can obtain the information about balances of a particular account.
Important: you must use accountId
of an account as the path parameter {account-id}
. accountId
is a part of the response on the Read account list call.
The response contains an account reference and an array of balances available for a particular account.
XS2A interface supports all attributes of account reference and balances defined by the Berlin-Group standard, although not all of them will be available in a Bank.
Flow
Go to
/v1/accounts/{account-id}/balances
.Fill in mandatory data
Data field | Value |
---|---|
HTTP-Method |
|
Header | Random UUID for this request |
Header | Learn how to create and authorise consents in XS2A Creation and Authorisation of an AIS Consent in Steps. |
URL path variable | An |
Execute the request.
The response should have the HTTP status code:
200
- OkFor examples of the response payload see XS2A OpenAPI Reference
Read the transaction list of an account: transactions younger than 90 days from the current date
Using the /v2/accounts/{account-id}/transactions
endpoint, you can obtain the information about transactions of a particular account.
Access to transactions that are older than 90 days (from the current date) will require authorisation from PSU - similar to payment or consent authorisation.
Learn more at How to access transactions older than 90 days (from current date).
Access to transactions that are younger than 90 days doesn't require any SCA: the description of the relevant calls is given below.
Important: you must use accountId
of an account as the path parameter {account-id}
. accountId
is a part of the response on the Read account list call.
The response contains an account reference and an array of transaction details available for a particular account.
XS2A interface supports all attributes of account reference and transaction details defined by the Berlin-Group standard, although not all of them will be available in a Bank.
Depending on the Bank’s implementation, a result without transactions can be returned as 404
or as an empty list.
Flow
Go to
/v2/accounts/{account-id}/transactions
.Fill in mandatory data
Data field | Value |
---|---|
HTTP-Method |
|
Header | Random UUID for this request |
Header | Learn how to create and authorise consents in XS2A Creation and Authorisation of an AIS Consent in Steps. |
URL path variable | An |
Query parameter |
|
Execute the request.
The response should have the HTTP status code:
200
- OkFor examples of the response payload see XS2A OpenAPI Reference
Read transaction details
Using the /v2/accounts/{account-id}/transactions/{transactionId}
endpoint, you can obtain the information about transactions of a particular account.
Important:
you must use
accountId
of an account as the path parameter{account-id}
.accountId
is a part of the response on the Read account list call.you must use
transactionId
of an transaction as the path parameter{transactionId}
.transactionId
is a part of the response on the Read transaction list of an account call.
The response contains transaction details available for a particular transaction.
XS2A interface supports all attributes of transaction details defined by the Berlin-Group standard, although not all of them will be available in a Bank.
Flow
Go to
/v2/accounts/{account-id}/transactions/{transactionId}
.Fill in mandatory data
Data field | Value |
---|---|
HTTP-Method |
|
Header | Random UUID for this request |
Header | Learn how to create and authorise consents in XS2A Creation and Authorisation of an AIS Consent in Steps. |
URL path variable | An |
URL path variable |
|
Execute the request.
The response should have the HTTP status code:
200
- OkFor examples of the response payload see XS2A OpenAPI Reference
Read the list of standing orders of an account
Using the /v2/accounts/{account-id}/transactions
endpoint, you can also obtain the information about standing orders of a particular account.
It can be done by passing the query parameter "bookingStatus" = information
.
Important: you must use accountId
of an account as the path parameter {account-id}
. accountId
is a part of the response on the How to Access Account Balances and Transactions call.
The response contains an account reference and an array of transaction details available for a particular account.
XS2A interface support most of the attributes of account reference and transaction details defined by the Berlin-Group standard, although not all of them will be available in a Bank.
Flow
Go to
/v2/accounts/{account-id}/transactions
.Fill in mandatory data
Data field | Value |
---|---|
HTTP-Method |
|
Header | Random UUID for this request |
Header | Learn how to create and authorise consents in XS2A Creation and Authorisation of an AIS Consent in Steps. |
URL path variable | An |
Query parameter |
|
Execute the request.
The response should have the HTTP status code:
200
- OkFor examples of the response payload see XS2A OpenAPI Reference