Microsoft Entra ID (formerly Azure AD) Users.user Settings API

The users.userSettings API from Microsoft Entra ID (formerly Azure AD) — 24 operation(s) for users.usersettings.

Operations 50

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /users/{user-id}/settings Get a user's settings · Get settings from users #
Ask an LLM
“How do I see all of a user's settings, like content discovery and work hours, in one place?”
“Has this user opted out of contributing to content discovery?”
Tell an agent
Get the settings object for user {user_id}.
Show {user_id}'s top-level settings, expanding {expand}.
PATCH /users/{user-id}/settings Update a user's settings · Update the navigation property settings in users #
Ask an LLM
“Can I stop a user's activity from feeding content discovery in Microsoft 365?”
“Which top-level user settings can I change in a single update?”
Tell an agent
Set contributionToContentDiscoveryDisabled to {disabled} for user {user_id}.
Update the settings for {user_id} so content discovery as organization is disabled ({org_disabled}).
DELETE /users/{user-id}/settings Delete a user's settings object · Delete navigation property settings for users #
Ask an LLM
“Can I remove the whole settings object from a user account?”
“What wipes every stored setting for one user at once?”
Tell an agent destructive · confirm first
Delete the entire settings object for user {user_id}.
Wipe all settings on {user_id} if the ETag is {etag}.
GET /users/{user-id}/settings/exchange List a user's Exchange mailboxes · List Exchange settings #
Ask an LLM
“Which Exchange mailboxes belong to a user, including shared ones?”
“Can I see a person's primary mailbox alongside the shared mailboxes they have?”
Tell an agent
List the Exchange mailboxes for user {user_id}.
Show the primary and shared mailboxes that {user_id} has.
GET /users/{user-id}/settings/itemInsights Get a user's item insights privacy setting · Get itemInsights from users #
Ask an LLM
“Is item insights turned on for this user?”
“Are meeting hour insights visible for a given person, or disabled?”
Tell an agent
Get the item insights privacy setting for user {user_id}.
Tell me whether insights are enabled for {user_id}.
PATCH /users/{user-id}/settings/itemInsights Turn a user's item insights on or off · Update userInsightsSettings #
Ask an LLM
“How do I disable item and meeting hour insights for a privacy-sensitive user?”
“Can I re-enable insights for someone who had them switched off?”
Tell an agent
Set item insights isEnabled to {enabled} for user {user_id}.
Turn off item and meeting hour insights for {user_id}.
DELETE /users/{user-id}/settings/itemInsights Delete a user's item insights setting · Delete navigation property itemInsights for users #
Ask an LLM
“Can I remove the item insights settings object from someone's account?”
“What deletes a user's userInsightsSettings entirely?”
Tell an agent destructive · confirm first
Delete the item insights setting for user {user_id}.
Remove {user_id}'s insights privacy object with ETag {etag}.
GET /users/{user-id}/settings/shiftPreferences Get a user's shift availability preferences · Get shiftPreferences #
Ask an LLM
“When is a shift worker available according to their shift preferences?”
“Can I read someone's stated availability for scheduling shifts?”
Tell an agent
Get the shift preferences for user {user_id}.
Show when {user_id} says they're available for shifts.
PATCH /users/{user-id}/settings/shiftPreferences Update a user's shift availability · Update shiftPreferences #
Ask an LLM
“How do I record that an employee is only available certain days for shifts?”
“Can I change a shift worker's availability windows?”
Tell an agent
Set the shift availability for user {user_id} to {availability}.
Update {user_id}'s shift preferences with availability {availability}.
DELETE /users/{user-id}/settings/shiftPreferences Delete a user's shift preferences · Delete navigation property shiftPreferences for users #
Ask an LLM
“Can I clear a worker's saved shift availability?”
“What removes the shiftPreferences object for one user?”
Tell an agent destructive · confirm first
Delete the shift preferences for user {user_id}.
Clear {user_id}'s shift availability with ETag {etag}.
GET /users/{user-id}/settings/storage Get a user's storage settings · Get storage from users #
Ask an LLM
“Where can I see a user's storage settings, including their quota?”
“Can I read the storage settings object for one person?”
Tell an agent
Get the storage settings for user {user_id}.
Show {user_id}'s storage settings with the quota expanded via {expand}.
PATCH /users/{user-id}/settings/storage Update a user's storage settings · Update the navigation property storage in users #
Ask an LLM
“Can I replace the quota inside a user's storage settings?”
“Which storage setting fields are writable for a user?”
Tell an agent
Update the storage settings for user {user_id} with quota {quota}.
Patch {user_id}'s storage settings node.
DELETE /users/{user-id}/settings/storage Delete a user's storage settings · Delete navigation property storage for users #
Ask an LLM
“Can I remove the storage settings object from a user?”
“What deletes someone's storage settings node entirely?”
Tell an agent destructive · confirm first
Delete the storage settings for user {user_id}.
Remove {user_id}'s storage settings if the ETag matches {etag}.
GET /users/{user-id}/settings/storage/quota Check a user's storage quota usage · Get quota from users #
Ask an LLM
“How much of their storage quota has a user used, and how much remains?”
“Is someone close to running out of Microsoft 365 storage?”
Tell an agent
Show the storage quota used, remaining and total for user {user_id}.
Check whether {user_id}'s storage quota state is near full.
PATCH /users/{user-id}/settings/storage/quota Update a user's storage quota values · Update the navigation property quota in users #
Ask an LLM
“Can I set the total or used figures on a user's storage quota record?”
“Which quota fields, like state or manage URL, are editable?”
Tell an agent
Set the storage quota total for user {user_id} to {total}.
Update {user_id}'s quota state to {state} and manage URL to {manage_url}.
DELETE /users/{user-id}/settings/storage/quota Delete a user's storage quota record · Delete navigation property quota for users #
Ask an LLM
“Can I remove the quota object from a user's storage settings?”
“What deletes someone's stored quota details?”
Tell an agent destructive · confirm first
Delete the storage quota record for user {user_id}.
Remove the quota from {user_id}'s storage with ETag {etag}.
GET /users/{user-id}/settings/storage/quota/services Break down a user's storage use by service · Get services from users #
Ask an LLM
“Which services are using up a user's storage, like mail versus files?”
“Can I see a per-service breakdown of someone's quota consumption?”
Tell an agent
List the per-service storage breakdown for user {user_id}.
Show {user_id}'s storage by service sorted by {orderby}.
POST /users/{user-id}/settings/storage/quota/services Add a service storage breakdown entry · Create new navigation property to services for users #
Ask an LLM
“Can I add a new service entry to a user's storage quota breakdown?”
“What creates a serviceStorageQuotaBreakdown record for someone?”
Tell an agent
Create a new service storage breakdown entry for user {user_id}.
Add a per-service quota record under {user_id}'s storage.
GET /users/{user-id}/settings/storage/quota/services/{serviceStorageQuotaBreakdown-id} Get one service's storage use for a user · Get services from users #
Ask an LLM
“How much storage does one specific service consume for a user?”
“Can I read a single entry from someone's per-service quota breakdown?”
Tell an agent
Get service breakdown {service_id} from user {user_id}'s storage quota.
Show how much storage service {service_id} uses for {user_id}.
PATCH /users/{user-id}/settings/storage/quota/services/{serviceStorageQuotaBreakdown-id} Update a service storage breakdown entry · Update the navigation property services in users #
Ask an LLM
“Can I edit one service's entry in a user's storage quota breakdown?”
“What changes an existing serviceStorageQuotaBreakdown record?”
Tell an agent
Update service breakdown {service_id} in user {user_id}'s quota.
Patch the {service_id} per-service storage record for {user_id}.
DELETE /users/{user-id}/settings/storage/quota/services/{serviceStorageQuotaBreakdown-id} Delete a service storage breakdown entry · Delete navigation property services for users #
Ask an LLM
“Can I remove one service's line from a user's quota breakdown?”
“What deletes a specific serviceStorageQuotaBreakdown record?”
Tell an agent destructive · confirm first
Delete service breakdown {service_id} from user {user_id}'s quota.
Remove the {service_id} storage entry for {user_id}.
GET /users/{user-id}/settings/storage/quota/services/$count Count services in a user's storage breakdown · Get the number of the resource #
Ask an LLM
“How many services appear in a user's storage quota breakdown?”
“What's the count of per-service storage entries matching a filter?”
Tell an agent
Count the service storage entries for user {user_id}.
Count {user_id}'s storage services where {filter}.
GET /users/{user-id}/settings/windows List a user's cloud-stored Windows settings · Get windows from users #
Ask an LLM
“Which Windows settings does a user have backed up in the cloud?”
“Can I filter someone's roamed Windows settings by device?”
Tell an agent
List the Windows settings stored in the cloud for user {user_id}.
List {user_id}'s Windows settings matching {filter}.
POST /users/{user-id}/settings/windows Add a Windows setting for a user · Create new navigation property to windows for users #
Ask an LLM
“Can I store a new Windows setting for a user tied to a specific device?”
“What goes into a new windowsSetting, like its setting type and payload type?”
Tell an agent
Create a Windows setting of type {setting_type} for user {user_id} on device {device_id}.
Add a Windows setting for {user_id} with payload type {payload_type}.
GET /users/{user-id}/settings/windows/{windowsSetting-id} Get one of a user's Windows settings · Get windows from users #
Ask an LLM
“What device and setting type does a particular cloud Windows setting belong to?”
“Can I read a single windowsSetting by its id?”
Tell an agent
Get Windows setting {setting_id} for user {user_id}.
Show the details of {user_id}'s Windows setting {setting_id}.
PATCH /users/{user-id}/settings/windows/{windowsSetting-id} Update one of a user's Windows settings · Update the navigation property windows in users #
Ask an LLM
“Can I reassign a stored Windows setting to a different device id?”
“Which fields of an existing windowsSetting can be changed?”
Tell an agent
Set the device on Windows setting {setting_id} for user {user_id} to {device_id}.
Change the setting type of {user_id}'s Windows setting {setting_id} to {setting_type}.
DELETE /users/{user-id}/settings/windows/{windowsSetting-id} Delete one of a user's Windows settings · Delete navigation property windows for users #
Ask an LLM
“Can I delete a Windows setting a user has roamed to the cloud?”
“What removes a single windowsSetting from someone's account?”
Tell an agent destructive · confirm first
Delete Windows setting {setting_id} for user {user_id}.
Remove cloud Windows setting {setting_id} from {user_id}.
GET /users/{user-id}/settings/windows/{windowsSetting-id}/instances List values stored for a Windows setting · Get instances from users #
Ask an LLM
“Which setting values are stored under one of a user's Windows settings?”
“Can I see when each instance of a Windows setting expires?”
Tell an agent
List the instances of Windows setting {setting_id} for user {user_id}.
Show the stored values under {user_id}'s Windows setting {setting_id} sorted by {orderby}.
POST /users/{user-id}/settings/windows/{windowsSetting-id}/instances Add a value to a Windows setting · Create new navigation property to instances for users #
Ask an LLM
“Can I store a new setting value with an expiration under a user's Windows setting?”
“What does a new windowsSettingInstance need, such as its payload?”
Tell an agent
Add an instance with payload {payload} to Windows setting {setting_id} for user {user_id}.
Create a value under {user_id}'s Windows setting {setting_id} that expires at {expires}.
GET /users/{user-id}/settings/windows/{windowsSetting-id}/instances/{windowsSettingInstance-id} Get one value of a Windows setting · Get instances from users #
Ask an LLM
“What payload does a single instance of a user's Windows setting hold?”
“When was one specific Windows setting value last modified?”
Tell an agent
Get instance {instance_id} of Windows setting {setting_id} for user {user_id}.
Show the payload of value {instance_id} in {user_id}'s Windows setting {setting_id}.
PATCH /users/{user-id}/settings/windows/{windowsSetting-id}/instances/{windowsSettingInstance-id} Update one value of a Windows setting · Update the navigation property instances in users #
Ask an LLM
“Can I change the payload of an existing Windows setting value?”
“How would I push out the expiration on one stored Windows setting instance?”
Tell an agent
Set the payload of instance {instance_id} in Windows setting {setting_id} for user {user_id} to {payload}.
Extend value {instance_id} of {user_id}'s Windows setting {setting_id} to expire at {expires}.
DELETE /users/{user-id}/settings/windows/{windowsSetting-id}/instances/{windowsSettingInstance-id} Delete one value of a Windows setting · Delete navigation property instances for users #
Ask an LLM
“Can I remove a single stored value from a user's Windows setting?”
“What deletes one windowsSettingInstance by id?”
Tell an agent destructive · confirm first
Delete instance {instance_id} from Windows setting {setting_id} for user {user_id}.
Remove value {instance_id} under {user_id}'s Windows setting {setting_id}.
GET /users/{user-id}/settings/windows/{windowsSetting-id}/instances/$count Count values stored for a Windows setting · Get the number of the resource #
Ask an LLM
“How many values are stored under one of a user's Windows settings?”
“What's the number of Windows setting instances that match a filter?”
Tell an agent
Count the instances of Windows setting {setting_id} for user {user_id}.
Count values in {user_id}'s Windows setting {setting_id} where {filter}.
GET /users/{user-id}/settings/windows/$count Count a user's cloud-stored Windows settings · Get the number of the resource #
Ask an LLM
“How many Windows settings does a user have stored in the cloud?”
“What's the count of someone's Windows settings for one device?”
Tell an agent
Count the Windows settings for user {user_id}.
Count {user_id}'s Windows settings where {filter}.
GET /users/{user-id}/settings/workHoursAndLocations Get a user's work hours and location settings · Get workHoursAndLocations from users #
Ask an LLM
“What are a user's work hours and location preferences for scheduling?”
“Can I see how much of someone's work location detail they share with others?”
Tell an agent
Get the work hours and location settings for user {user_id}.
Show {user_id}'s work plan settings with {expand} expanded.
PATCH /users/{user-id}/settings/workHoursAndLocations Update a user's work hours and location settings · Update the navigation property workHoursAndLocations in users #
Ask an LLM
“Can I limit how much work location detail a user shares with colleagues?”
“Which work hours and location settings can be changed in one update?”
Tell an agent
Set maxSharedWorkLocationDetails to {max_shared} for user {user_id}.
Update the work hours and location settings for {user_id}.
GET /users/{user-id}/settings/workHoursAndLocations/microsoft.graph.occurrencesView(startDateTime='{startDateTime}',endDateTime='{endDateTime}') View work plan occurrences in a date range · Invoke function occurrencesView #
Ask an LLM
“Where is a user planning to work between two dates?”
“Can I get someone's work plan for next week only, with start and end dates?”
Tell an agent
Show the work plan for user {user_id} from {start} to {end}.
Get {user_id}'s work location occurrences between {start} and {end}, top {top}.
GET /users/{user-id}/settings/workHoursAndLocations/occurrences List all of a user's work plan occurrences · Get occurrences from users #
Ask an LLM
“Which work plan occurrences, like office days and time off, does a user have?”
“Can I list every work plan occurrence with a filter instead of a date window?”
Tell an agent
List all work plan occurrences for user {user_id}.
List {user_id}'s work plan occurrences matching {filter}.
POST /users/{user-id}/settings/workHoursAndLocations/occurrences Add a one-off work plan occurrence · Create new navigation property to occurrences for users #
Ask an LLM
“How do I record that someone will work from the office on one particular day?”
“Can I add a single time-off block to a user's work plan?”
Tell an agent
Add a work plan occurrence for user {user_id} from {start} to {end} at location type {location_type}.
Create a time-off occurrence for {user_id} from {start} to {end} with details {time_off}.
GET /users/{user-id}/settings/workHoursAndLocations/occurrences/{workPlanOccurrence-id} Get one work plan occurrence · Get occurrences from users #
Ask an LLM
“What location and times does a specific work plan occurrence cover?”
“Can I look up one occurrence from a user's work plan by id?”
Tell an agent
Get work plan occurrence {occurrence_id} for user {user_id}.
Show where {user_id} works during occurrence {occurrence_id}.
PUT /users/{user-id}/settings/workHoursAndLocations/occurrences/{workPlanOccurrence-id} Replace a work plan occurrence · Update the navigation property occurrences in users #
Ask an LLM
“Can I change the place or hours on an existing work plan occurrence?”
“What replaces a single day's entry in someone's work plan?”
Tell an agent
Replace work plan occurrence {occurrence_id} for user {user_id} with start {start} and end {end}.
Move {user_id}'s occurrence {occurrence_id} to place {place_id}.
DELETE /users/{user-id}/settings/workHoursAndLocations/occurrences/{workPlanOccurrence-id} Delete a work plan occurrence · Delete navigation property occurrences for users #
Ask an LLM
“Can I remove one day's entry from a user's work plan?”
“What cancels a single scheduled work plan occurrence?”
Tell an agent destructive · confirm first
Delete work plan occurrence {occurrence_id} for user {user_id}.
Remove occurrence {occurrence_id} from {user_id}'s work plan.
GET /users/{user-id}/settings/workHoursAndLocations/occurrences/$count Count a user's work plan occurrences · Get the number of the resource #
Ask an LLM
“How many work plan occurrences does a user have scheduled?”
“What's the number of someone's occurrences that match a filter?”
Tell an agent
Count the work plan occurrences for user {user_id}.
Count {user_id}'s work plan occurrences where {filter}.
POST /users/{user-id}/settings/workHoursAndLocations/occurrences/microsoft.graph.setCurrentLocation Set a user's work location for today · Invoke action setCurrentLocation #
Ask an LLM
“How do I quickly mark that I'm working remotely today without editing my work plan?”
“Can I update just the current segment's work location instead of the whole day?”
Tell an agent
Set today's work location for user {user_id} to {location_type}.
Change {user_id}'s current work location to place {place_id} for scope {update_scope}.
GET /users/{user-id}/settings/workHoursAndLocations/recurrences List a user's recurring work plans · Get recurrences from users #
Ask an LLM
“Which recurring weekly work patterns has a user defined?”
“Does this person have a standing office day every week?”
Tell an agent
List the recurring work plans for user {user_id}.
Show {user_id}'s repeating work schedules matching {filter}.
POST /users/{user-id}/settings/workHoursAndLocations/recurrences Add a recurring work plan · Create new navigation property to recurrences for users #
Ask an LLM
“How do I set up a repeating schedule, like office every Tuesday, for a user?”
“Can I create a recurring remote-work pattern with a location type?”
Tell an agent
Create a recurring work plan for user {user_id} with pattern {recurrence} at location type {location_type}.
Add a repeating schedule for {user_id} from {start} to {end} following {recurrence}.
GET /users/{user-id}/settings/workHoursAndLocations/recurrences/{workPlanRecurrence-id} Get one recurring work plan · Get recurrences from users #
Ask an LLM
“What pattern and location does a particular recurring work plan follow?”
“Can I read one of a user's repeating schedules by id?”
Tell an agent
Get recurring work plan {recurrence_id} for user {user_id}.
Show the repeat pattern of {user_id}'s recurrence {recurrence_id}.
PUT /users/{user-id}/settings/workHoursAndLocations/recurrences/{workPlanRecurrence-id} Replace a recurring work plan · Update the navigation property recurrences in users #
Ask an LLM
“Can I change the repeat pattern of an existing recurring work plan?”
“What replaces a standing weekly schedule with a new location?”
Tell an agent
Replace recurring work plan {recurrence_id} for user {user_id} with pattern {recurrence}.
Switch {user_id}'s recurrence {recurrence_id} to location type {location_type}.
DELETE /users/{user-id}/settings/workHoursAndLocations/recurrences/{workPlanRecurrence-id} Delete a recurring work plan · Delete navigation property recurrences for users #
Ask an LLM
“Can I stop a repeating work schedule by deleting it?”
“What removes one recurring work plan from a user?”
Tell an agent destructive · confirm first
Delete recurring work plan {recurrence_id} for user {user_id}.
Remove the repeating schedule {recurrence_id} from {user_id}.
GET /users/{user-id}/settings/workHoursAndLocations/recurrences/$count Count a user's recurring work plans · Get the number of the resource #
Ask an LLM
“How many recurring work plans does a user have?”
“What's the count of someone's repeating schedules matching a filter?”
Tell an agent
Count the recurring work plans for user {user_id}.
Count {user_id}'s recurring work plans where {filter}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/azure-ad:azure-ad-users-usersettings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

azure-ad-users-usersettings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Users.user Settings API
  version: v1.0
servers:
- url: https://graph.microsoft.com/v1.0/
  description: Core
security:
- azureaadv2: []
tags:


# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/azure-ad/refs/heads/main/openapi/azure-ad-users-usersettings-api-openapi.yml