The process of building custom applications and tools that interact with Microsoft SharePoint, including SharePoint Online in Microsoft 365.
Hello MS,
As forum moderator, I am not able to confirm how the SharePoint throttling service calculates license counts internally. My role here is limited to what Microsoft has documented publicly. From my research, application limits are based on the number of licenses purchased per organization, using the plans listed on SharePoint Limits. However, Microsoft does not document the exact algorithm for SKU overlap, user deduplication, standalone workload licenses or free SKUs. Here is how the published guidance relates to each of your scenarios:
- Purchased versus assigned: The wording points to purchased licenses, so
prepaidUnits.enabledis conceptually closer thanconsumedUnits. In Microsoft Graph,consumedUnitsis the number of assigned licenses, whileprepaidUnits.enabledis the number of units enabled for the active subscription. SummingprepaidUnits.enabledlocally still isn't guaranteed to match SharePoint's internal count./subscribedSkusshows commercial subscription inventory, not the normalized value the throttling service uses. - No Teams and standalone Teams licenses: The documentation is ambiguous here. The application throttling section refers to licenses purchased, while the Multi-Geo note refers to the total tenant user license count. There is no published rule confirming whether seats are deduplicated per user. A standalone Teams SKU wouldn't logically add SharePoint capacity if it doesn't include a qualifying SharePoint service plan, but Microsoft hasn't confirmed this SKU by SKU.
- Which workloads count: The guidance points to licenses included in the SharePoint Online plans, not every commercial SKU in the tenant. Standalone Exchange Online, Intune, Entra ID, Power Apps or Teams inventory shouldn't be treated as SharePoint capacity just because it appears in
/subscribedSkus. - Free and utility SKUs: There is no public allowlist or denylist for SKUs such as
FLOW_FREEor free Power BI. The documentation only says Microsoft may lower limits for unpaid or unlicensed usage.
For your rate limiter, I'd treat the license band as an estimate rather than a hard budget. Multiple applications in the same tenant share the same resource bucket, so you can still be throttled below your calculated limit. SharePoint Online also doesn't support IETF RateLimit headers, so your app should always honor the Retry-After header on 429 and 503 responses.
For reference:
subscribedSku resource type - Microsoft Graph v1.0 | Microsoft Learn
List subscribedSkus - Microsoft Graph v1.0 | Microsoft Learn
Avoid getting throttled or blocked in SharePoint Online | Microsoft Learn
If you need an authoritative answer for these edge cases, I recommend that the Global Admin in your organization create a service request with Microsoft Support. Please keep in mind that support may not be able to share internal service logic. For detailed instructions on how to get support, please refer to Get support - Microsoft 365 admin. If you don't know who your IT administrator is, please refer to this article: How do I find my Microsoft 365 admin? - Microsoft Support
I hope this information is helpful and provide you with a clear path forward. Should you have any further questions or need additional assistance, please don't hesitate to reach out. I'm always happy to help. Have a wonderful day!
If the answer is helpful, please click "Yes" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in the forum documentation to enable e-mail notifications if you want to receive the related email notification for this thread.