We will learn & understand the Dataverse API limits imposed by Microsoft. Before we start, make sure to subscribe to CRM Crate so that you can stay up to date in the field of Power Platform.
Dataverse provides a secure platform for storing and managing data utilized by business applications. The data is organized within Dataverse into tables or entities, each comprising rows (formerly known as records) and columns (previously referred to as fields/attributes). Each column is tailored to accommodate specific types of data, such as name, age, date, and more. While Dataverse comes with a standard set of tables to address common scenarios, users have the flexibility to create custom tables tailored to their organization’s needs and populate them with data using Power Query. Subsequently, app creators can leverage Power Apps to develop robust applications that harness this data.
Understanding the API Limits in Microsoft Dataverse.
API limits in Dataverse play a crucial role in maintaining service levels, availability, and overall quality. These limits are integrated into the broader Power Platform Request limits and allocations.
This article aims to familiarize users with the specific limitations related to Dataverse, particularly for Power Apps, Power Automate, and customer engagement applications such as Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing, and Dynamics 365 Project Service Automation when interfacing with Dataverse.
There are two types of limits that are relevant to Dataverse which are ‘Entitlement limits‘ and ‘Service Protection limits‘. The below area & table demonstrates the Dataverse entitlement & service protection limits.
Service Protection limits
In order to maintain consistent availability and performance for all users, certain restrictions are placed on the utilization of APIs within Dataverse. Service protection API limits are implemented to prevent users running applications from disrupting each other due to resource limitations. These limits are designed not to impact regular platform users; rather, they may only affect applications that generate a substantial volume of API requests. These limitations serve as a safeguard against sudden and unforeseen spikes in request volumes, safeguarding the availability and performance attributes of the Dataverse platform.
Microsoft restricts the simultaneous connections allowed per user account, the net quantityof API requests per connection, and the duration of execution time permitted for each connection. These metrics are evaluated within a rolling five-minute timeframe. If any of these limits are surpassed, the platform will generate an exception.
Service protection limits are applicable exclusively to applications engaging in a higher volume of data operations. We advise developers & application makers creating such applications to implement retry policies for operations that encounter these exceptions. Incorporating these policies enables the application to effectively handle exceptions sent by the service, thereby diminishing the overall number of requests and optimizing throughput to its highest potential.
Important Note:
1. Service protection limits apply to all external web service requests, not only the CRUD operations on tables counted against entitlement limits.
2. Service protection API limits aren’t applied against API calls made within workflows, custom workflow activities, or plug-in code. These operations are invoked internally.
Entitlement limits
These Dataverse limits indicate the daily allowance of API requests that users are authorized to make (Considering licensing plans). The assigned limit varies based on the license type assigned to each user. Should a user surpass their allotted request limit, the administrator will receive a notification and can assign Power Apps and Power Automate request capacity to that user.
In Dataverse, API requests encompass all data operations involving the creation, retrieval, updating, or deletion (CRUD) of table / entity rows. Special operations such as sharing and assigning are considered updates and are also included. These requests can originate from any client or application and can utilize any endpoint.
Examples of such operations include those carried out by plug-ins, asynchronous workflows, custom controls, and $batch (ExecuteMultiple) operations. It’s worth noting that a few system internal operations, such as sign-in, sign-out, and system metadata operations, are excluded from this set.
Important Note:
1. The allocation of Power Platform API requests includes the utilization of Power Automate, AI Builder, and Connector APIs. Each request made through a connector, leading to a Dataverse request, will count as one Power Platform request.
Service Protection limits | Power Platform Request (API Entitlement) limits |
---|---|
Immediately return ‘HTTP 429 (Too many request error)’ when limits are exceeded. | Mandatory for Power Automate flows, with allowances for occasional overages on Dataverse when the enforcement is applied. |
Evaluated in a 5-minute sliding window. | Evaluated in a 24-hour period. |
Applies to all external requests to Dataverse web services. | Applies to all computational operations and analytics originating from either internal or external requests. |
Developer is responsible for avoiding conditions that can cause errors and managing retry when they occur. | Administrator is responsible to manage assigned capacity. They can purchase capacity add-ons to increase limits. |
Enforced today within the product. | 1. Will be enforced after preview report, available today for administrators to track and estimate usage, is made generally available. 2. Preview reports are available now. |