Updating bank connections in the background

 

It is possible to update bank connections in the background. This however requires that no additional credentials or two-factor authentication requests are send by the bank during update. We here describe when and how it is possible to update bank connections in the background.

Limitations

A background update of a bank connection is only possible if no user interaction is required. Background updates are thus only possible if

  • the bank connection does not include a web-scraping interface

  • the user opted to store his credentials

  • we have an ongoing consent; i.e. the last update is less than three month away

In any case, please be aware that the background update may fail due to an unforeseen user interaction triggered by the bank. Should this case happen, please trigger an update via the TPP Web-Form.

How to update

Step 1: check if background update is possible

Use endpoint GET ​/v1​/accounts​/manualSyncRequired to check if the account should be synchronized, and if a background update is possible. If so, the response field manualSyncRequired will be true. We strongly discourage triggering a background sync unless the manualSyncRequired property is true as repeated failure to confirm a 2FA challenge may result in locked bank connections.

Step 2: trigger the background update

Use endpoint PUT ​/v2​/bankConnections​/{id}​/update without specifying a bankingInterface to update all available bank connection interfaces (e.g. XS2A and FINTS_SERVER). The operation will return a process ID that you will use to check the update status.

Step 3: check the update status and wait for success

Use GET ​/v2​/bankConnections​/updateProcess​/{processId} to regularly check for the update status until it changes to SUCCESS or FAILED.

If successful, this will

  • update cash transactions and balances for all accounts held by this bank connection

  • update bookings and securities for all portfolios held by this bank connection

We strongly recommend to lock the update button while a background update is running. Otherwise you might trigger several sync processes running against each other.

Please check the synchronizationError attribute in case the status is FAILED.