Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion graph/patterns/long-running-operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ presentation makes things simpler for our users and tooling chain.
- For most implementations of the LRO pattern (like the example above), there will be 3 permissions necessary to comply with the principle of least privilege: `ArchiveOperation.ReadWrite.All` to create the `archiveOperation` entity, `ArchiveOperation.Read.All` to track the `archiveOperation` entity to completion, and `Archives.Read.All` to retrieve the `archive` that was created as a result of the operation.
For APIs that would have been modeled as a simple `GET` on the resource URL, but that are modeled as long-running operations due to MSGraph performance requirements, only the `Archive.Read.All` permission is necessary as long as creating the `archiveOperation` entity is "safe".
Here, "safe" means that there are no side effects of creating the `archiveOperation` entity that would change the functionality of any entities outside of the `archive` being retrieved.
This requirment does not mean that the API must be idempotent, but an idempotent API is suffucient to meet this requirement.
This requirement does not mean that the API must be idempotent, but an idempotent API is sufficient to meet this requirement.
Comment on lines 56 to +59
Copy link

Copilot AI Apr 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The permission name in this paragraph is inconsistent: the previous bullet uses Archives.Read.All, but this sentence says Archive.Read.All. Please verify the correct permission name and make it consistent, since readers may copy/paste these scopes.

Copilot uses AI. Check for mistakes.

## When to use this pattern

Expand Down
Loading