Update the properties of the currently authenticated organization. In this case, organization is defined as a collection of exactly one record, and so its ID must be specified in the request. The ID is also known as the tenantId of the organization.
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)
Organization.ReadWrite.All
Not available.
Delegated (personal Microsoft account)
Not supported.
Not supported.
Application
Organization.ReadWrite.All
Not available.
For delegated scenarios, the signed-in user must have at least one of the following Microsoft Entra roles.
AdHoc License Administrator
Application Administrator
Authentication Administrator
Azure Information Protection Administrator
Azure Information Protection Administrator
Billing Administrator
Cloud Application Administrator
Compliance Data Administrator
Customer LockBox Access Approver
Customer LockBox Access Approver
Desktop Analytics Administrator
Directory Readers
Directory Reviewer
Directory Writers
Dynamics 365 Administrator
Dynamics 365 Administrator
Global Reader
Guest User
Helpdesk Administrator
Insights Administrator
Kaizala Administrator
License Administrator
Mailbox Administrator
Microsoft Managed Desktop Administrator
Microsoft Store for Business User
Modern Commerce Administrator
Power BI Administrator
Power BI Administrator
Privileged Authentication Administrator
Privileged Role Administrator
Restricted Guest User
Security Administrator
Security Operator
Security Reader
Service Support Administrator
Teams Administrator
Teams Communications Administrator
Teams Communications Support Engineer
Teams Communications Support Specialist
User
User Administrator
Volume Licensing Business Center User
Volume Licensing Service Center User
Applications granted the User.Read permission are able to read only the id, displayName, and verifiedDomains properties of the organization. All other properties return with null values. To read all properties, use at least Organization.Read.All.
In the request body, supply the values for relevant fields that should be updated. Existing properties that are not included in the request body will maintain their previous values or be recalculated based on changes to other property values. For best performance, you shouldn't include existing values that haven't changed.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Organization
{
MarketingNotificationEmails = new List<string>
{
"marketing@contoso.com",
},
PrivacyProfile = new PrivacyProfile
{
ContactEmail = "alice@contoso.com",
StatementUrl = "https://contoso.com/privacyStatement",
},
SecurityComplianceNotificationMails = new List<string>
{
"security@contoso.com",
},
SecurityComplianceNotificationPhones = new List<string>
{
"(123) 456-7890",
},
TechnicalNotificationMails = new List<string>
{
"tech@contoso.com",
},
};
// To initialize your graphClient, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Organization["{organization-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Organization organization = new Organization();
LinkedList<String> marketingNotificationEmails = new LinkedList<String>();
marketingNotificationEmails.add("marketing@contoso.com");
organization.setMarketingNotificationEmails(marketingNotificationEmails);
PrivacyProfile privacyProfile = new PrivacyProfile();
privacyProfile.setContactEmail("alice@contoso.com");
privacyProfile.setStatementUrl("https://contoso.com/privacyStatement");
organization.setPrivacyProfile(privacyProfile);
LinkedList<String> securityComplianceNotificationMails = new LinkedList<String>();
securityComplianceNotificationMails.add("security@contoso.com");
organization.setSecurityComplianceNotificationMails(securityComplianceNotificationMails);
LinkedList<String> securityComplianceNotificationPhones = new LinkedList<String>();
securityComplianceNotificationPhones.add("(123) 456-7890");
organization.setSecurityComplianceNotificationPhones(securityComplianceNotificationPhones);
LinkedList<String> technicalNotificationMails = new LinkedList<String>();
technicalNotificationMails.add("tech@contoso.com");
organization.setTechnicalNotificationMails(technicalNotificationMails);
Organization result = graphClient.organization().byOrganizationId("{organization-id}").patch(organization);
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.