Is there a limit on the number of requests that an external application can perform with the Dynamics 365 Business Central APIs?
I think that this is actually an undocumented response (please correct me if I’m wrong) but the answer is absolutely yes.
As every well architectured solution, Dynamics 365 Business Central service limits the number of simultaneous calls in a certain sliding window. If you have an external service that performs too much requests on a tenant, you could receive an error like:
{ "error": { "code": "Application_TooManyRequests", "message": "Too many requests reached. Actual (101). Maximum (100)." } }
This is mainly to avoid things like denial-of-service attacks (DoS) and to avoid problems like lack of resources.
What you should do in your external application to avoid this?
You should handle how you perform requests to a Dynamics 365 Business Central API and if you receive this error you should adopt something like a retry policy on your API calls.
What are the official numbers for these limits on a SaaS environment? I will update this post when I’ll have an official response 🙂
We had the same issue soon after the April release and we went back to Microsoft asking the question. Before they came back we got the answer by going through the BC Connector document. Then Microsoft confirms our findings. BC can only handle 100 calls per min.
https://docs.microsoft.com/en-us/connectors/dynamicssmbsaas/
LikeLiked by 1 person
Was it increased to 300 per minute?
Throttling Limits
Name
Calls
Renewal Period
API calls per connection
300
60 seconds
LikeLike