microsoftgraph / microsoftgraph/msgraph-sdk-dotnet

Confusing RU limits for /applications write operations — clarification needed

Open
#3,105 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
789
Forks
264
Avg merge
15h 17m
Merged PRs (30d)
3

Description

I am implementing automation that creates Azure AD applications and service principals using Microsoft Graph. I am running into frequent 429 Too Many Requests responses, and the documentation around Resource Units (RUs) vs “requests” is unclear.

The documentation states:

“The cost of POST, PATCH, and DELETE operations on the /applications request path depends on the signInAudience type. For apps where the signInAudience is AzureADMyOrg or AzureADMultipleOrgs, the cost is 70,000 requests per 5 minutes.”

Separately, the throttling documentation lists:

Scope RU Budget Request Budget
application+tenant pair S: 3,500 / 10s, M: 5,000 / 10s, L: 8,000 / 10s 3,000 requests / 2.5 min
application 150,000 RU / 20s 35,000 requests / 5 min
tenant N/A 18,000 requests / 5 min

Questions

  1. Does “70,000 requests per 5 minutes” actually mean 70,000 Resource Units, not HTTP requests?
    The wording suggests HTTP requests, but the throttling behavior suggests RU consumption.

  2. Which RU scope applies to the following workflow?

    • GET /applications?$filter=displayName eq 'X'
    • POST /applications (create app registration)
    • POST /servicePrincipals (create Enterprise App)
    • POST /applications/{id}/addPassword (create client secret)
  3. What is the RU cost of each of these operations?

  4. Is addPassword intended to consume the full 70,000 RU tenant-wide budget?

  5. What is the recommended design pattern for automation that needs to create multiple applications, service principals, and secrets without hitting throttling?

Thanks in advance for clarification.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the /applications write-operation wording with the throttling documentation cited in the issue. Document whether the limit is requests or Resource Units, identify the scopes and costs for each listed operation, and describe the recommended automation pattern for avoiding throttling.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.