specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Microsoft Dynamics 365 providerId: microsoft-dynamics-365 created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. method: generated modified: '2026-05-05' reconciled: true tags: - Business Applications - Cloud - CRM - Enterprise - ERP - Microsoft - Rate Limiting description: Dynamics 365 customer-engagement apps and the underlying Dataverse share Power Platform service-protection (API request) limits. Each user / non-interactive identity is capped at 6,000 API requests per 5-minute sliding window per environment, plus 20 minutes of combined execution time and 52 concurrent connections. Tenants also have a daily Dataverse request entitlement allocation pooled across users by license tier. Finance & Operations and Business Central each apply per-environment OData throttling (BC default 600/min, 300 concurrent). Beyond the limit, HTTP 429 with Retry-After is returned. sources: - https://learn.microsoft.com/en-us/power-apps/developer/data-platform/api-limits - https://learn.microsoft.com/en-us/power-platform/admin/api-request-limits-allocations - https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/operational-limits-online - https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/odata-limits headers: retryAfter: Retry-After burstRemaining: x-ms-ratelimit-burst-remaining-xrm-requests timeRemaining: x-ms-ratelimit-time-remaining-xrm-requests rule: x-ms-ratelimit-rule responseCodes: throttled: 429 serviceUnavailable: 503 serviceProtection: 429 limits: - name: Dataverse — per-user 5-minute sliding window scope: user/environment metric: requests_per_5_minutes limit: 6000 timeFrame: minute notes: Service-protection limit per user / non-interactive identity per environment. - name: Dataverse — per-user execution time scope: user/environment metric: combined_execution_seconds_per_5_minutes limit: 1200 timeFrame: minute notes: 20 minutes of combined API execution time per user per 5-min window. - name: Dataverse — concurrent connections per user scope: user/environment metric: concurrent_connections limit: 52 notes: Concurrent connections to the Web API per user per environment. - name: Power Platform — daily request entitlement (per licensed user) scope: tenant metric: requests_per_24h limit: see vendor docs notes: Per-licensed-user allocation pooled at tenant — varies by SKU (e.g., Sales/Service enterprise users 40,000/day; Power Apps per-user 6,000/day). Excess goes against capacity add-ons. - name: Business Central — OData / SOAP per environment scope: environment metric: requests_per_minute limit: 600 timeFrame: minute notes: Default soft cap. 300 concurrent requests per environment. - name: Finance & Operations — OData per user scope: user/environment metric: requests_per_minute limit: see vendor docs notes: Per-user OData throttling. Bulk loads should use Data Management Framework / Bulk Data Loading APIs. policies: - name: Service Protection API limits description: Dataverse throttles on three orthogonal dimensions — number of requests, combined execution time, and concurrent connections. Hitting any returns 429. - name: Honor Retry-After description: 429 responses include Retry-After. Implement exponential backoff with jitter; Dataverse SDK auto-retries. - name: Use $batch / ExecuteMultiple for bulk description: For high-volume creates/updates use Web API $batch (max 1000 changes per batch), ExecuteMultiple, or DMF entity import. - name: Spread automation across application users description: Use multiple application users (service principals) for high-throughput automation; each gets its own per-user envelope. - name: Buy capacity add-ons description: Excess daily entitlement requires add-on capacity packs; alternatively, use Power Apps Pay-As-You-Go meters via an Azure subscription. - name: Limit increase via support description: Per-environment caps on Business Central and Finance & Operations can be raised by support; Dataverse service-protection limits are fixed. maintainers: - FN: Kin Lane email: kin@apievangelist.com url: https://www.microsoft.com/dynamics-365