Timeouts/Retries
This page gives guidance on what timeouts to set and caveats around retrying certain endpoints
Timeouts
Endpoints that don't trigger sync - 60 seconds
60 seconds
For most of our endpoints, we recommend setting a timeout of 60 seconds
, even though we expect the vast majority to complete within a second (average response times being 100-200ms).
There may be cases where response times are higher due to connecting to 3rd party providers, particularly in cases where we need to retry requests in case of errors, etc.
Endpoints that trigger a sync - 120 seconds
120 seconds
There are also endpoints that we expect to take longer than the usual API request. Any endpoint than can trigger a connection sync we'd expect to take longer. This is due to the time it takes to fetch transaction data from providers.
For these endpoints we recommend a timeout of 120 seconds
.
Endpoints that can trigger a connection sync:
- POST /oidc/token - when exchanging authorization code for a token when completing the connection flow
- PATCH /auth-requests/{authRequestId} - when successfully completing a connection flow
- PATCH /users/{userId}/connections/{connectionId} - when sending an authorization code to successfully complete a connection flow
- POST /sync/{connectionId} - triggers a manual sync
Please see our guidance on asynchronous connection syncing and the
enableAsync
option in the API reference . This means when completing a connection flow we will return before the sync is fully complete reducing the timeout required.
Retrying API calls
Whilst most endpoints can be retried, when completing a connection if an error or timeout occurs the user will be required to start the flow again due to tokens expiring and only being valid for one time use.
The endpoints specifically being referred to here are:
- POST /oidc/token - when exchanging authorization code for a token when completing the connection flow. (Do not applies when requesting a client credentials token)
- PATCH /auth-requests/{authRequestId} - when sending an authorization code to successfully complete a connection flow
If an error occurs on other endpoints, we recommend retrying 3 times before passing on the error within your service.
Updated 7 months ago