New Exact Online API limitations

I don’t know of this has been published in Dutch already, but Exact Online recently announced the not-awaited-API-call limitation

Hopefully Invantive handles the /sync/ endpoints.

As of 1 July 2021, Exact Online will impose extra limits on the API. Exact Online currently processes more than 20 Million API requests per day. These changes are necessary to ensure platform stability, API efficiency, and to improve customer experience.

The following limits will take effect on 1 July 2021:

  1. Maximum of 200 token endpoint calls per API key, per user, per day. You must not request new access token more than once every 10 minutes. To learn more, see Get and use access tokens.
  2. No more than 10 errors per API key, per user, per company, per endpoint, and per hour. When you exceed this limit, your API key will be temporarily blocked from making further requests. The block will automatically be lifted after one hour and will gradually increase when you continue making these errors. To learn more, see Response codes and error handling.
  3. Mandatory filtering on single and bulk endpoints where sync APIs are available. Exact Online has sync APIs available to allow actions on larger sets of data without running into API limits. To learn more, see API types to make your API calls more efficient.

The limits above are in addition to the following API limits that are already in effect since 1 January 2021:

  1. New apps will directly be throttled to 5.000 API calls per app, per company, per day. The shaping limit is 60 API calls, per company, per minute.
  2. Based on fair use policy, we will take corrective action by throttling your app if the upload or download limit has been exceeded excessively. See section 7.4 of our terms and conditions.

Thanks for bringing them to attention. The Dutch policy on it is located at Impact Exact Online API aanpassingen 1 juli 2021.

Practically: the specifications are yet unclear and there is no clear timeline for improvement. We therefore just await a possible down period.

Where things were clear, the necessary changes were already in place and live at most sites. Biggest thread is the detection of many errors per hour, since the error raising mechanism of Exact is very diffuse and the Invantive SQL driver for Exact Online can not reliably detect what is a real problem on Exact or what is something customer-induced.

But in general, the soup is served lukewarm instead of hot.

The /sync/ endpoints have been available for some time, but where not supported. Since the Exact Online API servers have been stressed a lot since end of December 2020, Exact has started throttling many applications. So far, the sites on Invantive SQL had no major issues. Most switched to trickle loading for data replication which fixes it.

The /sync/ endpoints have been reviewed. Not all endpoints are available; there are some specifications lacking. The latest BETA release includes TransactionLinesIncremental and ItemsIncremental which have passed the review and can be used for use in controlled-production environments: it probably works well, but make sure to check the results carefully at intervals.

A wiki post will become available in the next days to present how to analyse the incremental loading using Data Dictionary views on Exact Online.

UPDATE: the post is (in Dutch) available at: Snel en met minder API-calls Exact Online uitlezen met de incrementele "sync API"-tabellen