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
.