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

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

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:

📘

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.