ESC
Type to search...

MailboxSettings.ReadWrite

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read/Write User Scope

Allows the app to create, read, update, and delete user's mailbox settings without a signed-in user. Does not include permission to send mail.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Read and write all user mailbox settings

Allows the app to create, read, update, and delete user's mailbox settings without a signed-in user. Does not include permission to send mail.

Delegated Permission User consent allowed

Read and write user mailbox settings

Allows the app to create, read, update, and delete user's mailbox settings. Does not include permission to send mail.

Properties

Microsoft Graph v1.0 exact-category-docs

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

Property Type Description
archiveFolder string Folder ID of an archive folder for the user.
automaticRepliesSetting automaticRepliesSetting Configuration settings to automatically notify the sender of an incoming email with a message from the signed-in user.
dateFormat string The date format for the user's mailbox.
delegateMeetingMessageDeliveryOptions delegateMeetingMessageDeliveryOptions If the user has a calendar delegate, this specifies whether the delegate, mailbox owner, or both receive meeting messages and meeting responses. The possible values are: sendToDelegateAndInformationToPrincipal, sendToDelegateAndPrincipal, sendToDelegateOnly.
language localeInfo The locale information for the user, including the preferred language and country/region.
timeFormat string The time format for the user's mailbox.
timeZone string The default time zone for the user's mailbox.
userPurpose userPurpose The purpose of the mailbox. Differentiates a mailbox for a single user from a shared mailbox and equipment mailbox in Exchange Online. The possible values are: user, linked, shared, room, equipment, others, unknownFutureValue. Read-only.
workingHours workingHours The days of the week and hours in a specific time zone that the user works.

JSON Representation

Microsoft Graph v1.0 exact-category-docs

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

JSON representation
{
  "archiveFolder": "string",
  "automaticRepliesSetting": {
    "@odata.type": "microsoft.graph.automaticRepliesSetting"
  },
  "dateFormat": "string",
  "delegateMeetingMessageDeliveryOptions": "String",
  "language": {
    "@odata.type": "microsoft.graph.localeInfo"
  },
  "timeFormat": "string",
  "timeZone": "string",
  "userPurpose": "String",
  "workingHours": {
    "@odata.type": "microsoft.graph.workingHours"
  }
}

Relationships

Relationships metadata is not available for this permission mapping.

View resource documentation

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.

Methods
GET /me/mailboxSettings
GET /me/mailboxSettings/automaticRepliesSetting
GET /me/mailboxSettings/dateFormat
GET /me/mailboxSettings/delegateMeetingMessageDeliveryOptions
GET /me/mailboxSettings/language
GET /me/mailboxSettings/timeFormat
GET /me/mailboxSettings/timeZone
GET /me/mailboxSettings/userPurpose
GET /me/mailboxSettings/workingHours
GET /me/settings/workHoursAndLocations
GET /users/{id | userPrincipalName}/settings/workHoursAndLocations
GET /users/{id|userPrincipalName}/mailboxSettings
GET /users/{id|userPrincipalName}/mailboxSettings/automaticRepliesSetting
GET /users/{id|userPrincipalName}/mailboxSettings/dateFormat
GET /users/{id|userPrincipalName}/mailboxSettings/delegateMeetingMessageDeliveryOptions
GET /users/{id|userPrincipalName}/mailboxSettings/language
GET /users/{id|userPrincipalName}/mailboxSettings/timeFormat
GET /users/{id|userPrincipalName}/mailboxSettings/timeZone
GET /users/{id|userPrincipalName}/mailboxSettings/userPurpose
GET /users/{id|userPrincipalName}/mailboxSettings/workingHours
POST /me/mailFolders/inbox/messageRules
POST /me/outlook/masterCategories
POST /users/{id | userPrincipalName}/mailFolders/inbox/messageRules
POST /users/{id|userPrincipalName}/outlook/masterCategories
PATCH /me/mailboxSettings
PATCH /me/mailFolders/inbox/messageRules/{id}
PATCH /me/outlook/masterCategories/{id}
PATCH /me/settings/workHoursAndLocations
PATCH /users/{id | userPrincipalName}/mailFolders/inbox/messageRules/{id}
PATCH /users/{id | userPrincipalName}/settings/workHoursAndLocations
PATCH /users/{id|userPrincipalName}/mailboxSettings
PATCH /users/{id|userPrincipalName}/outlook/masterCategories/{id}
DELETE /me/mailFolders/inbox/messageRules/{id}
DELETE /me/outlook/masterCategories/{id}
DELETE /users/{id | userPrincipalName}/mailFolders/inbox/messageRules/{id}
DELETE /users/{id|userPrincipalName}/outlook/masterCategories/{id}
Exact Microsoft Learn match

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

Methods
GET /me/mailboxSettings
GET /me/mailboxSettings/automaticRepliesSetting
GET /me/mailboxSettings/dateFormat
GET /me/mailboxSettings/delegateMeetingMessageDeliveryOptions
GET /me/mailboxSettings/language
GET /me/mailboxSettings/timeFormat
GET /me/mailboxSettings/timeZone
GET /me/mailboxSettings/userPurpose
GET /me/mailboxSettings/workingHours
GET /me/settings/workHoursAndLocations
GET /users/{id | userPrincipalName}/settings/workHoursAndLocations
GET /users/{id|userPrincipalName}/mailboxSettings
GET /users/{id|userPrincipalName}/mailboxSettings/automaticRepliesSetting
GET /users/{id|userPrincipalName}/mailboxSettings/dateFormat
GET /users/{id|userPrincipalName}/mailboxSettings/delegateMeetingMessageDeliveryOptions
GET /users/{id|userPrincipalName}/mailboxSettings/language
GET /users/{id|userPrincipalName}/mailboxSettings/timeFormat
GET /users/{id|userPrincipalName}/mailboxSettings/timeZone
GET /users/{id|userPrincipalName}/mailboxSettings/userPurpose
GET /users/{id|userPrincipalName}/mailboxSettings/workingHours
POST /me/mailFolders/inbox/messageRules
POST /me/outlook/masterCategories
POST /users/{id | userPrincipalName}/mailFolders/inbox/messageRules
POST /users/{id|userPrincipalName}/outlook/masterCategories
PATCH /me/mailboxSettings
PATCH /me/mailFolders/inbox/messageRules/{id}
PATCH /me/outlook/masterCategories/{id}
PATCH /me/settings/workHoursAndLocations
PATCH /users/{id | userPrincipalName}/mailFolders/inbox/messageRules/{id}
PATCH /users/{id | userPrincipalName}/settings/workHoursAndLocations
PATCH /users/{id|userPrincipalName}/mailboxSettings
PATCH /users/{id|userPrincipalName}/outlook/masterCategories/{id}
DELETE /me/mailFolders/inbox/messageRules/{id}
DELETE /me/outlook/masterCategories/{id}
DELETE /users/{id | userPrincipalName}/mailFolders/inbox/messageRules/{id}
DELETE /users/{id|userPrincipalName}/outlook/masterCategories/{id}
Exact Microsoft Learn PowerShell match

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

Commands
Get-MgUserMailboxSetting /me/mailboxSettings
Get user mailbox settings
Get-MgUserSettingWorkHourAndLocation /me/settings/workHoursAndLocations
Get workHoursAndLocationsSetting
New-MgUserMailFolderMessageRule /me/mailFolders/inbox/messageRules
Create rule
New-MgUserOutlookMasterCategory /me/outlook/masterCategories
Create Outlook category
Remove-MgUserMailFolderMessageRule /me/mailFolders/inbox/messageRules/{id}
Delete messageRule
Remove-MgUserOutlookMasterCategory /me/outlook/masterCategories/{id}
Delete outlookCategory
Update-MgUserMailboxSetting /me/mailboxSettings
Update user mailbox settings
Update-MgUserMailFolderMessageRule /me/mailFolders/inbox/messageRules/{id}
Update rule
Update-MgUserOutlookMasterCategory /me/outlook/masterCategories/{id}
Update outlookCategory
Update-MgUserSettingWorkHourAndLocation /me/settings/workHoursAndLocations
Update workHoursAndLocationsSetting
Exact Microsoft Learn PowerShell match

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

Commands
Get-MgBetaUserMailboxSetting /me/mailboxSettings
Get user mailbox settings
Get-MgBetaUserSettingWorkHourAndLocation /me/settings/workHoursAndLocations
Get workHoursAndLocationsSetting
New-MgBetaUserMailFolderMessageRule /me/mailFolders/inbox/messageRules
Create rule
New-MgBetaUserOutlookMasterCategory /me/outlook/masterCategories
Create Outlook category
Remove-MgBetaUserMailFolderMessageRule /me/mailFolders/inbox/messageRules/{id}
Delete messageRule
Remove-MgBetaUserOutlookMasterCategory /me/outlook/masterCategories/{id}
Delete outlookCategory
Update-MgBetaUserMailboxSetting /me/mailboxSettings
Update user mailbox settings
Update-MgBetaUserMailFolderMessageRule /me/mailFolders/inbox/messageRules/{id}
Update rule
Update-MgBetaUserOutlookMasterCategory /me/outlook/masterCategories/{id}
Update outlookCategory
Update-MgBetaUserSettingWorkHourAndLocation /me/settings/workHoursAndLocations
Update workHoursAndLocationsSetting

Code Examples

C# / .NET SDK
Create Outlook category
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Models;

var requestBody = new OutlookCategory
{
	DisplayName = "Project expenses",
	Color = CategoryColor.Preset9,
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Outlook.MasterCategories.PostAsync(requestBody);
JavaScript
Create Outlook category
const options = {
	authProvider,
};

const client = Client.init(options);

const outlookCategory = {
   displayName: 'Project expenses',
   color: 'preset9'
};

await client.api('/me/outlook/masterCategories')
	.post(outlookCategory);
PowerShell
Create Outlook category
Import-Module Microsoft.Graph.Users

$params = @{
	displayName = "Project expenses"
	color = "preset9"
}
# A UPN can also be used as -UserId.
New-MgUserOutlookMasterCategory -UserId $userId -BodyParameter $params
Python
Create Outlook category
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.outlook_category import OutlookCategory
from msgraph.generated.models.category_color import CategoryColor
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = OutlookCategory(
	display_name = "Project expenses",
	color = CategoryColor.Preset9,
)

result = await graph_client.me.outlook.master_categories.post(request_body)

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 MailboxSettings.ReadWrite

4

Grant Admin Consent

Application permissions always require admin consent.