Thank you for the quick response. My live and history monitoring is completely empty (even though activities have been carried out, and also if I select multiple entries per page) so I can’t perform the above.
This is also new to me by the way; normally the history would return perfectly here.
The itgenboe405 indicates that the total duration per day has been exceeded (TotalDurationMsPerDay).
The advice is to optimise the total duration of all requests. The allowed duration within this form is 1 hour, but there has been roughly 4 hours of continuous activity.
An overview of all error codes leading to a 429 can be found at:
Incidentally, I also find the duration quite long, especially since my clients have a few tables of around 400k (2 or 3) and the rest are all small dimensions. Refresh times on a full load take about 30-45 minutes.
Is there anything that can be done on the configuration side of the database to speed this up? Page sizes, for instance?
Ok, so I see it’s the number of API calls per day. However, does this apply per database? Or is the limit applied to all databases once it’s exceeded anywhere?
All limits apply across all activities of an environment, including databases.
Generally, the limits are very generously allocated. Should you still encounter them, it’s advisable to identify which actions are disproportionately consuming the limits and optimise them.
I have looked at the monitoring output and indeed see considerable duplication, but looking at my own code in Power BI, the code itself is not inefficient but the inherent design of Power BI:
For each query, metadata (odata4/$metadata) is requested again, even though it’s the same metadata. Staging tables are not possible either, which means each query sends a new request to Invantive. For example, for the sales order table (ExactOnlineREST.SalesOrder.SalesOrderLines@eol):
09-06-2026 01:10:21
09-06-2026 01:13:40
09-06-2026 01:15:11
09-06-2026 01:18:30
09-06-2026 01:20:01
Given that the connector is intended for Power BI and this is an inherent problem with the way refreshing works in PBI itself, I’m not sure what I can do.
Additionally, the point: If the cap applies to my entire environment on OEM, and there are 4 clients under it each with a daily refresh, then I reach that cap much faster than if these 4 clients had their own accounts. Yet, I pay the same as those 4 clients added together. Right?
Each refresh per environment lasts about 1500 seconds, which is fine with a cap of 10k. With 4 environments (and I hope to add more), this is 6000 per day. With development and possibly an additional refresh moment during the day, I quickly exceed that 10k.
Thank you for the answer. I used SalesOrderLines instead of the bulk because there are some columns in the non-bulk version that are not present in the bulk version. However, I was able to significantly speed things up by applying filtering earlier. I will also do this for other queries to prevent folding from breaking.
Another major contributor to refresh time is ‘odata4/$metadata’. Is there anything that can be done about this, or is it inherent to the number of queries being run?
If everything is correct, then all fields of SalesOrderLines should also be found in SalesOrderLinesBulk and vice versa. Which specific fields are missing?
Fetching the $metadata should only take a few milliseconds after the initial retrieval. It is advised to check that not too many concurrent requests are running, causing them to have to wait longer.
From release 26.0.285, the time reported for code itgenboe405 will no longer include the waiting time, but only the execution time. This increases the available space, especially if a process has gone off track or if there are many requests at the same time, some of which need to wait.
This question was automatically closed after 1 week of inactivity. The last given answer was marked as the solution.
Please post a new question in a separate topic if the issue recurs. Please include a link to this topic in the new question by pasting its URL into the text.