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.
Permission type
Least privileged permissions
Higher privileged permissions
Delegated (work or school account)
IdentityRiskEvent.Read.All
Not available.
Delegated (personal Microsoft account)
Not supported.
Not supported.
Application
IdentityRiskEvent.Read.All
Not available.
Important
In delegated scenarios with work or school accounts, the signed-in user must be assigned a supported Microsoft Entra role or a custom role with a supported role permission. The following least privileged roles are supported for this operation.
Global Reader
Security Operator
Security Reader
Security Administrator
HTTP request
GET /identityProtection/servicePrincipalRiskDetections
Optional query parameters
This method supports the $filter and $select OData query parameters to help customize the response. For general information, see OData query parameters.
GET https://graph.microsoft.com/v1.0/identityProtection/servicePrincipalRiskDetections
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityProtection.ServicePrincipalRiskDetections.GetAsync();
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
servicePrincipalRiskDetections, err := graphClient.IdentityProtection().ServicePrincipalRiskDetections().Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ServicePrincipalRiskDetectionCollectionResponse result = graphClient.identityProtection().servicePrincipalRiskDetections().get();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.identity_protection.service_principal_risk_detections.get()
Example 2: List risk detections and filter the results
Request
The following example shows how to use $filter to get the collection of service principal risk detections where the risk level is medium or the risk event type is investigationsThreatIntelligence.
GET https://graph.microsoft.com/v1.0/identityProtection/servicePrincipalRiskDetections?$filter=riskEventType eq 'investigationsThreatIntelligence' or riskLevel eq 'medium'
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityProtection.ServicePrincipalRiskDetections.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Filter = "riskEventType eq 'investigationsThreatIntelligence' or riskLevel eq 'medium'";
});
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphidentityprotection "github.com/microsoftgraph/msgraph-sdk-go/identityprotection"
//other-imports
)
requestFilter := "riskEventType eq 'investigationsThreatIntelligence' or riskLevel eq 'medium'"
requestParameters := &graphidentityprotection.IdentityProtectionServicePrincipalRiskDetectionsRequestBuilderGetQueryParameters{
Filter: &requestFilter,
}
configuration := &graphidentityprotection.IdentityProtectionServicePrincipalRiskDetectionsRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
servicePrincipalRiskDetections, err := graphClient.IdentityProtection().ServicePrincipalRiskDetections().Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ServicePrincipalRiskDetectionCollectionResponse result = graphClient.identityProtection().servicePrincipalRiskDetections().get(requestConfiguration -> {
requestConfiguration.queryParameters.filter = "riskEventType eq 'investigationsThreatIntelligence' or riskLevel eq 'medium'";
});
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.identity_protection.service_principal_risk_detections.service_principal_risk_detections_request_builder import ServicePrincipalRiskDetectionsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = ServicePrincipalRiskDetectionsRequestBuilder.ServicePrincipalRiskDetectionsRequestBuilderGetQueryParameters(
filter = "riskEventType eq 'investigationsThreatIntelligence' or riskLevel eq 'medium'",
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.identity_protection.service_principal_risk_detections.get(request_configuration = request_configuration)