ESC
Type to search...

DirectoryRecommendations.ReadWrite.All

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read/Write All Resources

Allows the app to read and update all Azure AD recommendations, without a signed-in user.

In short

DirectoryRecommendations.ReadWrite.All is available as both an application permission and a delegated permission in the Microsoft Graph API, grouped under the DirectoryRecommendations category. Allows the app to read and update all Azure AD recommendations, without a signed-in user. It grants read and write access to resources. Application permissions always require admin consent.

Permission data: October 3, 2026 at 3:19 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Read and update all Azure AD recommendations

Allows the app to read and update all Azure AD recommendations, without a signed-in user.

Delegated Permission Admin consent required

Read and update Azure AD recommendations

Allows the app to read and update Azure AD recommendations, on behalf of the signed-in user.

Properties

Microsoft Graph v1.0 endpoint-derived-docs

Properties is shown from stable Microsoft Graph v1.0 metadata.

Property Type Description
id String A unique identifier for the object; for example, 12345678-9abc-def0-1234-56789abcde. Key. Not nullable. Read-only. Inherited from entity.
administrativeUnits administrativeUnit collection Conceptual container for user and group directory objects.
attributeSets attributeSet collection Group of related custom security attribute definitions.
customSecurityAttributeDefinitions customSecurityAttributeDefinition collection Schema of a custom security attributes (key-value pairs).
deletedItems directoryObject collection Recently deleted items. Read-only. Nullable.
deviceLocalCredentials deviceLocalCredentialInfo collection The credentials of the device's local administrator account backed up to Microsoft Entra ID.
federationConfigurations identityProviderBase collection Configure domain federation with organizations whose identity provider (IdP) supports either the SAML or WS-Fed protocol.
onPremisesSynchronization onPremisesDirectorySynchronization collection A container for on-premises directory synchronization functionalities that are available for the organization.
publicKeyInfrastructure object The collection of public key infrastructure instances for the certificate-based authentication feature for users in a Microsoft Entra tenant.
recovery object
remoteTenantGroups remoteTenantGroup collection Collection of groups in remote Microsoft Entra tenants that are available in the directory.
subscriptions companySubscription collection List of commercial subscriptions that an organization acquired.
tenantGovernance object

JSON Representation

Microsoft Graph v1.0 endpoint-derived-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "@odata.type": "#microsoft.graph.directory"
}

Relationships

Microsoft Graph v1.0 endpoint-derived-docs

Relationships is shown from stable Microsoft Graph v1.0 metadata.

Relationship Type Description
administrativeUnits administrativeUnit collection Conceptual container for user and group directory objects.
attributeSets attributeSet collection Group of related custom security attribute definitions.
customSecurityAttributeDefinitions customSecurityAttributeDefinition collection Schema of a custom security attributes (key-value pairs).
deletedItems directoryObject collection Recently deleted items. Read-only. Nullable.
deviceLocalCredentials deviceLocalCredential collection The credentials of the device's local administrator account backed up to Microsoft Entra ID.
federationConfigurations identityProviderBase collection Configure domain federation with organizations whose identity provider (IdP) supports either the SAML or WS-Fed protocol.
onPremisesSynchronization onPremisesDirectorySynchronization A container for on-premises directory synchronization functionalities that are available for the organization.
publicKeyInfrastructure publicKeyInfrastructureRoot The collection of public key infrastructure instances for the certificate-based authentication feature for users in a Microsoft Entra tenant.
remoteTenantGroups remoteTenantGroup collection Collection of groups in remote Microsoft Entra tenants that are available in the directory.
subscriptions companySubscription collection List of commercial subscriptions that an organization acquired.
externalUserProfiles externalUserProfile collection Collection of external user profiles that represent collaborators in the directory.
featureRolloutPolicies featureRolloutPolicy collection Related featureRolloutPolicies data exposed by this resource.
impactedResources impactedResource collection Related impactedResources data exposed by this resource.
inboundSharedUserProfiles inboundSharedUserProfile collection A collection of external users whose profile data is shared with the Microsoft Entra tenant. Nullable.
outboundSharedUserProfiles outboundSharedUserProfile collection Related outboundSharedUserProfiles data exposed by this resource.
pendingExternalUserProfiles pendingExternalUserProfile collection Collection of pending external user profiles representing collaborators in the directory that are unredeemed.
recommendations recommendation collection List of recommended improvements to improve tenant posture.
sharedEmailDomains sharedEmailDomain collection Related sharedEmailDomains data exposed by this resource.

Graph Methods

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

No API methods available for this version.

Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /directory/recommendations
GET /directory/recommendations/{recommendationId}
GET /directory/recommendations/{recommendationId}/impactedResources
GET /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}
GET /directory/recommendations/tenantSecureScores
POST /directory/recommendations/{recommendationId}/complete
POST /directory/recommendations/{recommendationId}/dismiss
POST /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}/complete
POST /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}/dismiss
POST /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}/postpone
POST /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}/reactivate
POST /directory/recommendations/{recommendationId}/postpone
POST /directory/recommendations/{recommendationId}/reactivate
PATCH /directory/recommendationConfiguration
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

No deterministic PowerShell command map is available for this permission.

Browse PowerShell docs
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgBetaDirectoryRecommendation /directory/recommendations
List recommendations
Get-MgBetaDirectoryRecommendation /directory/recommendations/{recommendationId}
Get recommendation
Get-MgBetaDirectoryRecommendation /directory/recommendations/tenantSecureScores
recommendation: tenantSecureScores
Get-MgBetaDirectoryRecommendationImpactedResource /directory/recommendations/{recommendationId}/impactedResources
List impactedResources
Get-MgBetaDirectoryRecommendationImpactedResource /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}
Get impactedResource
Invoke-MgBetaDismissDirectoryRecommendation /directory/recommendations/{recommendationId}/dismiss
recommendation: dismiss
Invoke-MgBetaDismissDirectoryRecommendationImpactedResource /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}/dismiss
impactedResource: dismiss
Invoke-MgBetaPostponeDirectoryRecommendation /directory/recommendations/{recommendationId}/postpone
recommendation: postpone
Invoke-MgBetaPostponeDirectoryRecommendationImpactedResource /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}/postpone
impactedResource: postpone
Invoke-MgBetaReactivateDirectoryRecommendation /directory/recommendations/{recommendationId}/reactivate
recommendation: reactivate
Invoke-MgBetaReactivateDirectoryRecommendationImpactedResource /directory/recommendations/{recommendationId}/impactedResources/{impactedResourceId}/reactivate
impactedResource: reactivate
Update-MgBetaDirectoryRecommendationConfiguration /directory/recommendationConfiguration
Update recommendationConfiguration

Code Examples

C# / .NET SDK
impactedResource: complete
// 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.Directory.Recommendations["{recommendation-id}"].ImpactedResources["{impactedResource-id}"].Complete.PostAsync();
JavaScript
impactedResource: complete
const options = {
	authProvider,
};

const client = Client.init(options);

await client.api('/directory/recommendations/0cb31920-84b9-471f-a6fb-468c1a847088_Microsoft.Identity.IAM.Insights.ApplicationCredentialExpiry/impactedResources/dbd9935e-15b7-4800-9049-8d8704c23ad2/complete')
	.version('beta')
	.post();
PowerShell
impactedResource: complete
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement

Complete-MgBetaDirectoryRecommendationImpactedResource -RecommendationId $recommendationId -ImpactedResourceId $impactedResourceId
Python
impactedResource: complete
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta 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.directory.recommendations.by_recommendation_id('recommendation-id').impacted_resources.by_impacted_resource_id('impactedResource-id').complete.post()

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Application permissions or delegated permissions and search for DirectoryRecommendations.ReadWrite.All

4

Grant Admin Consent

Application permissions always require admin consent.

Frequently asked questions

What is the DirectoryRecommendations.ReadWrite.All Microsoft Graph permission?

DirectoryRecommendations.ReadWrite.All is available as both an application permission and a delegated permission in the Microsoft Graph API, grouped under the DirectoryRecommendations category. Allows the app to read and update all Azure AD recommendations, without a signed-in user. It grants read and write access to resources. Application permissions always require admin consent. It is mapped to the Microsoft Graph directory resource type. 14 documented Microsoft Graph REST methods require it. 12 Microsoft Graph PowerShell commands are documented for it.

Is DirectoryRecommendations.ReadWrite.All an application or a delegated permission?

DirectoryRecommendations.ReadWrite.All is available as both an application permission (app-only access, no signed-in user) and a delegated permission (access on behalf of a signed-in user).

Does DirectoryRecommendations.ReadWrite.All require admin consent?

Application permissions always require admin consent.

What is the permission ID (GUID) for DirectoryRecommendations.ReadWrite.All?

For DirectoryRecommendations.ReadWrite.All, the application (app role) ID is 0e9eea12-4f01-45f6-9b8d-3ea4c8144158, and the delegated (OAuth2 scope) ID is f37235e8-90a0-4189-93e2-e55b53867ccd. These are the real Microsoft Graph identifiers and can be used directly in an app registration manifest.