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.
Important
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 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.
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 Synchronization Accounts - for Microsoft Entra Connect and Microsoft Entra Cloud Sync services
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://learn.microsoft.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);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.organization import Organization
from msgraph.generated.models.privacy_profile import PrivacyProfile
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Organization(
marketing_notification_emails = [
"marketing@contoso.com",
],
privacy_profile = PrivacyProfile(
contact_email = "alice@contoso.com",
statement_url = "https://contoso.com/privacyStatement",
),
security_compliance_notification_mails = [
"security@contoso.com",
],
security_compliance_notification_phones = [
"(123) 456-7890",
],
technical_notification_mails = [
"tech@contoso.com",
],
)
result = await graph_client.organization.by_organization_id('organization-id').patch(request_body)