| title | tenantProtectionScopeContainer: compute |
|---|---|
| toc.title | tenantProtectionScopeContainer: compute |
| description | Compute the tenant-wide data protection policies and actions, including user or group scoping. |
| author | kylemar |
| ms.date | 02/06/2026 |
| ms.localizationpriority | medium |
| ms.subservice | security |
| doc_type | apiPageType |
Namespace: microsoft.graph
Compute the tenant-wide data protection policies and actions, including user/group scoping.
[!INCLUDE national-cloud-support]
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
[!INCLUDE permissions-table]
POST /security/dataSecurityAndGovernance/protectionScopes/compute| Name | Description |
|---|---|
| Authorization | Bearer {token}. Required. Learn more about authentication and authorization. |
| Content-Type | application/json. Required. |
| Client-Request-Id | String (GUID recommended). Optional. Unique identifier for this request, which is used for tracing and debugging in logs and support interactions. If an ID is not provided, one may be generated automatically. We recommend that you specify the ID to make tracing and debugging easier. The same ID that was sent in the request will be returned in the response. |
In the request body, provide JSON object with the following parameters.
| Parameter | Type | Description |
|---|---|---|
| activities | microsoft.graph.security.userActivityTypes | Optional. Flags specifying the user activities the calling application supports or is interested. Possible values are none, uploadText, uploadFile, downloadText, downloadFile, unknownFutureValue. This object is a multi-valued enumeration. |
| deviceMetadata | deviceMetadata | Optional. Information about the device context (type, OS) used for contextual policy evaluation. Not expected to be used when computing tenant protection scopes |
| integratedAppMetadata | integratedApplicationMetadata | Optional. Information about the calling application (name, version) integrating with Microsoft Purview. |
| locations | policyLocation collection | Optional. List of specific locations the application is interested in. If provided, results are trimmed to policies covering these locations. Use policy location application for application locations, policy location domain for domain locations, or policy location URL for URL locations. You must specify the @odata.type property to declare the type of policyLocation. For example, "@odata.type": "microsoft.graph.policyLocationApplication". |
| pivotOn | microsoft.graph.policyPivotProperty | Optional. Specifies how the results should be aggregated. If omitted or none, results might be less aggregated. Possible values are activity,location, none. |
If successful, this action returns a 200 OK response code and a collection of policyTenantScope objects in the response body. Each object represents a set of locations and activities governed by a common set of policy actions and execution mode, along with the user/group bindings for that specific policy configuration.
The following example computes the tenant-wide protection scope for text uploads and downloads, interested in a specific application.
POST https://graph.microsoft.com/v1.0/security/dataSecurityAndGovernance/protectionScopes/compute
Content-type: application/json
{
"activities": "uploadText,downloadText",
"locations": [
{
"@odata.type": "microsoft.graph.policyLocationApplication",
"value": "be121c8f-ecd8-4026-b699-669e0ce1bcbf"
}
]
}The following example shows the response. It indicates that uploadText or downloadText activities "All" users (tenant scope) with no exclusions require inline evaluation.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.policyTenantScope)",
"value": [
{
"activities": "uploadText,downloadText",
"executionMode": "evaluateOffline",
"policyScope": {
"inclusions": [
{
"identity": "All"
}
],
"exclusions": [
]
},
"locations": [
{
"value": "be121c8f-ecd8-4026-b699-669e0ce1bcbf"
}
],
"policyActions": [
]
}
]
}