OpenFinance
Development Portal

openFinance API Framework Extended Account Information Services (2.2)

The Berlin Group - A European Standards Initiative | info@: info@berlin-group.org | URL: https://www.berlin-group.org/

License: Creative Commons Attribution 4.0 International Public License

The core XS2A Interface as introduced above is already supporting Account Information Services (AIS) for current accounts and card reconciliation accounts. These services follow the functionality of online channels of the related ASPSP: Via the services, information on accounts, balances and transactions can be requested for the supported account types. Each request must refer to an underlying consent from the PSU that grants the TPP access to the requested information. For the envisaged Extended Services, the account information function of the openFinance API will go beyond account types defined by the core XS2A Interface. As new entities as a basis of information, the following are supported: * single cards (in contrast to card reconciliation accounts) * savings accounts * loan accounts * securities accounts. Note: Even if introduced for TPP related scenarios, the related premium payment services and related technical endpoints could also be offered in a direct access scenario e.g. for corporates of an ASPSP to request information on their corresponding accounts / cards directly.

List transactions

GET /v2/savings/{account-id}/transactions

Reads account transaction data from a given savings account addressed by "account-id". See "Implementation Guidelines for Extended Services ", section "4.3.4 Read Transaction List".

Parameter Type Description
account-id string , required

This identification is denoting the addressed (card) account. The account-id is retrieved by using a "Read Account List" or "Read Card Account list" call. The account-id is the "resourceId" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent.

Example: Text, maximum of 70 characters.

Allowed length: max: 70

Parameter Type Description
dateFrom string , optional

Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required and if bookingStatus does not equal "information". For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP.

Example: 2020-01-01

Format: date

dateTo string , optional

End date (inclusive the data dateTo) of the transaction list, default is "now" if not given. Might be ignored if a delta function is used. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP.

Example: 2020-01-01

Format: date

entryReferenceFrom string , optional

This data attribute is indicating that the AISP is in favour to get all transactions after the transaction with identification entryReferenceFrom alternatively to the above defined period. This is a implementation of a delta access. If this data element is contained, the entries "dateFrom" and "dateTo" might be ignored by the ASPSP if a delta report is supported. Optional if supported by API provider.

Example: Text, maximum of 35 characters.

Allowed length: max: 35

bookingStatus string , required

Permitted codes are * "booked", * "pending", * "both", * "information" and * "all" "booked" shall be supported by the ASPSP. To support the "pending" and "both" feature is optional for the ASPSP, Error code if not supported in the online banking frontend. If supported, "both" means to request transaction reports of transaction of bookingStatus either "pending" or "booked". To support the "information" feature is optional for the ASPSP. Currently the booking status "information" only covers standing orders. Error code if not supported. To support the "all" feature is optional for the ASPSP, Error code if not supported. If supported, "all" means to request transaction reports of transaction of any bookingStatus ("pending", "booked" or "information").

Allowed values: information, booked, pending, both, all

Example: booked

deltaList boolean , optional

This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report. This delta indicator might be rejected by the ASPSP if this function is not supported. Optional if supported by API provider

Example: true

pageSize integer , optional

This query parameter defines the transaction entries per call to be retrieved for extended services. If not supported, then the call is rejected. If supported by the ASPSP and if the value is higher than maxPageSize as defined by the ASPSP in its documentation, then the call is rejected.

Example: 3

Header Type Description
Digest string , optional

Integrity hash of the request body in the form SHA-256=<base64>. For an empty body, use the hash of an empty string. See Signing requests for how the Digest and signature are built.

Example: SHA-256=hl1/Eps8BEQW58FJhDApwJXjGY4nr1ArGDHIT25vq6A=

x-jws-signature string , optional

Detached JSON Web Signature over the signed request headers and body. See Signing requests for how it is constructed.

X-Request-ID string , required

Unique ID of the request, set by the initiating party and echoed back in the response.

Example: 99391c7e-ad88-49ec-a2ad-99ddcb1f7721

Format: uuid

API-Contract-ID string , optional

Might be mandated by the ASPSP, if a commercial agreement is needed for the usage of the service.

Example: 99435d7f-ad87-4aec-a2ae-99ddcb1f6555

Format: uuid

PSU-IP-Address string , optional

IP address of the PSU's device as forwarded by the TPP. If unavailable, use the IP address the TPP used for this request.

Example: 192.168.8.78

Format: ipv4

Consent-ID string , optional

Identifier of the consent that authorises this access, as returned when the consent was created.

Example: 123cons456

Allowed length: max: 70

Select a status code to see the structure and an example of the response.

Field Type Description
account object , required

Identifier of the addressed account.

balances array[object] , optional

A list of balances regarding this account, which might be restricted to the current balance.

transactions object , optional

JSON based account report. This account report contains transactions resulting from the query parameters.

_links object , optional

A list of hyperlinks to be recognised by the TPP. Type of links admitted in this response: "download": a link to a resource, where the transaction list might be downloaded from in case where transaction lists have a huge size. Remark: This feature shall only be used where camt-data is requested which has a huge size.