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 Project providerId: microsoft-project 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: - Rate Limiting - Project Management - Microsoft - SharePoint description: Microsoft Project Online APIs are hosted on SharePoint Online, so they inherit SharePoint's per-user / per-tenant throttling, plus Power Platform request limits via the Microsoft 365 license category. Limits are enforced via 429 / 503 responses with Retry-After headers; clients must honor the header. There is no published per-second cap — Microsoft uses a dynamic algorithm based on resource consumption. sources: - https://learn.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online - https://learn.microsoft.com/en-us/power-platform/admin/api-request-limits-allocations headers: retryAfter: Retry-After ratelimitLimit: RateLimit-Limit ratelimitRemaining: RateLimit-Remaining ratelimitReset: RateLimit-Reset responseCodes: throttled: 429 serviceUnavailable: 503 limits: - name: SharePoint Online dynamic throttling scope: account metric: varies limit: 'Dynamic per-user / per-tenant throttling based on resource consumption; no published per-second cap.' notes: SharePoint enforces both 429 and 503 responses. Clients must read Retry-After and back off. - name: Power Platform requests (Microsoft 365 / Project license) scope: account metric: requests_per_day limit: 6000 timeFrame: day notes: Project Online / Plan 1 / Plan 3 fall in the Microsoft 365 + Project Online (Plan 1, 3, 5) category at 6,000 PPR per user per 24 hours. - name: Power Platform non-licensed pool (Power Apps / Automate, Project tenant) scope: account metric: requests_per_day limit: 25000 timeFrame: day notes: Tenant-pooled non-licensed identities (service principals, application users). policies: - name: Honor Retry-After description: SharePoint and Project Online responses with 429 or 503 include a Retry-After header. Wait for the indicated number of seconds before retrying. Failure to honor results in temporary blocking. - name: Decorate user-agent description: Microsoft requires a meaningful User-Agent header (ISV|company|product/version) on CSOM and REST traffic; undecorated traffic is more aggressively throttled. - name: Reduce concurrency description: Lower the number of parallel threads / connections from a single account before lowering the per-second rate. - name: Use sandbox (test) tenants description: Do not load-test against production; Microsoft does not offer a higher rate for testing. - name: 24-hour PPR window description: Power Platform request entitlement is a sliding 24-hour window; limits do not roll over. maintainers: - FN: Kin Lane email: kin@apievangelist.com