Skip to content

Commit fa4e3a7

Browse files
authored
Update long-running-operations.md
1 parent c7c83ae commit fa4e3a7

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

graph/patterns/long-running-operations.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ There are some deviations from the base guidelines where Microsoft Graph API sta
5757
- The API response says the operation resource is being created at the URL provided in the Location header and indicates that the request is not completed by including a 202 status code.
5858
- Microsoft Graph doesn’t allow tenant-wide operation resources; therefore, stepwise operations are often modeled as a navigation property on the target resource.
5959

60-
- For most implementations of the LRO pattern, there will be 3 permissions necessary to comply with the principle of least privilege: `{operation}.ReadWrite.All` to create the operation entity, `{operation.Read.All}` to track the operation entity to completion, and `{resource}.Read.All` to retrieve the resource that was created as a result of the operation.
61-
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 `{resource}.Read.All` permission is necessary as long as creating the operation entity is "safe".
62-
Here, "safe" means that there are no side effects for creating the operation entity that would change the functioning of any entities outside of the resource being retrieved.
63-
This requirment is less strict than idempotence, and an idempotent API is suffucient to meet this requirement.
60+
- 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 operation entity, `ArchiveOperation.Read.All` to track the operation entity to completion, and `Archives.Read.All` to retrieve the resource that was created as a result of the operation.
61+
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".
62+
Here, "safe" means that there are no side effects for creating the `archiveOperation` entity that would change the functionality of any entities outside of the `archive` being retrieved.
63+
This requirment does not require the API to be idempotent, but an idempotent API is suffucient to meet this requirement.
6464

6565
## When to use this pattern
6666

0 commit comments

Comments
 (0)