Microsoft Entra ID (formerly Azure AD) · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Users.user Settings API
51 actions
51 updates
phrasing
extends
openapi/azure-ad-users-usersettings-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Microsoft Entra ID (formerly Azure AD)'s API. It is a proposal applied on top of the contract, not a document Microsoft Entra ID (formerly Azure AD) publishes.
What the actions change
x-apievangelist-phrasing
Targets 51 · first 16 shown; the file carries all of them
$.info
$.paths['/users/{user-id}/settings'].get
$.paths['/users/{user-id}/settings'].delete
$.paths['/users/{user-id}/settings'].patch
$.paths['/users/{user-id}/settings/exchange'].get
$.paths['/users/{user-id}/settings/itemInsights'].get
$.paths['/users/{user-id}/settings/itemInsights'].delete
$.paths['/users/{user-id}/settings/itemInsights'].patch
$.paths['/users/{user-id}/settings/shiftPreferences'].get
$.paths['/users/{user-id}/settings/shiftPreferences'].delete
$.paths['/users/{user-id}/settings/shiftPreferences'].patch
$.paths['/users/{user-id}/settings/storage'].get
$.paths['/users/{user-id}/settings/storage'].delete
$.paths['/users/{user-id}/settings/storage'].patch
$.paths['/users/{user-id}/settings/storage/quota'].get
$.paths['/users/{user-id}/settings/storage/quota'].delete
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Users.user Settings API
version: 1.0.0
extends: openapi/azure-ad-users-usersettings-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 50
- target: $.paths['/users/{user-id}/settings'].get
update:
x-apievangelist-phrasing:
intent: Get a user's settings
effect: read
questions:
- 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?
instructions:
- text: Get the settings object for user {user_id}.
slots:
user_id: path.user-id
- text: Show {user_id}'s top-level settings, expanding {expand}.
slots:
user_id: path.user-id
expand: query.$expand
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings'].delete
update:
x-apievangelist-phrasing:
intent: Delete a user's settings object
effect: destructive
questions:
- Can I remove the whole settings object from a user account?
- What wipes every stored setting for one user at once?
instructions:
- text: Delete the entire settings object for user {user_id}.
slots:
user_id: path.user-id
- text: Wipe all settings on {user_id} if the ETag is {etag}.
slots:
user_id: path.user-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's settings
effect: write
questions:
- 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?
instructions:
- text: Set contributionToContentDiscoveryDisabled to {disabled} for user {user_id}.
slots:
disabled: requestBody.contributionToContentDiscoveryDisabled
user_id: path.user-id
- text: Update the settings for {user_id} so content discovery as organization is disabled ({org_disabled}).
slots:
user_id: path.user-id
org_disabled: requestBody.contributionToContentDiscoveryAsOrganizationDisabled
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/exchange'].get
update:
x-apievangelist-phrasing:
intent: List a user's Exchange mailboxes
effect: read
questions:
- Which Exchange mailboxes belong to a user, including shared ones?
- Can I see a person's primary mailbox alongside the shared mailboxes they have?
instructions:
- text: List the Exchange mailboxes for user {user_id}.
slots:
user_id: path.user-id
- text: Show the primary and shared mailboxes that {user_id} has.
slots:
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/itemInsights'].get
update:
x-apievangelist-phrasing:
intent: Get a user's item insights privacy setting
effect: read
questions:
- Is item insights turned on for this user?
- Are meeting hour insights visible for a given person, or disabled?
instructions:
- text: Get the item insights privacy setting for user {user_id}.
slots:
user_id: path.user-id
- text: Tell me whether insights are enabled for {user_id}.
slots:
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/itemInsights'].delete
update:
x-apievangelist-phrasing:
intent: Delete a user's item insights setting
effect: destructive
questions:
- Can I remove the item insights settings object from someone's account?
- What deletes a user's userInsightsSettings entirely?
instructions:
- text: Delete the item insights setting for user {user_id}.
slots:
user_id: path.user-id
- text: Remove {user_id}'s insights privacy object with ETag {etag}.
slots:
user_id: path.user-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/itemInsights'].patch
update:
x-apievangelist-phrasing:
intent: Turn a user's item insights on or off
effect: write
questions:
- 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?
instructions:
- text: Set item insights isEnabled to {enabled} for user {user_id}.
slots:
enabled: requestBody.isEnabled
user_id: path.user-id
- text: Turn off item and meeting hour insights for {user_id}.
slots:
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/shiftPreferences'].get
update:
x-apievangelist-phrasing:
intent: Get a user's shift availability preferences
effect: read
questions:
- When is a shift worker available according to their shift preferences?
- Can I read someone's stated availability for scheduling shifts?
instructions:
- text: Get the shift preferences for user {user_id}.
slots:
user_id: path.user-id
- text: Show when {user_id} says they're available for shifts.
slots:
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/shiftPreferences'].delete
update:
x-apievangelist-phrasing:
intent: Delete a user's shift preferences
effect: destructive
questions:
- Can I clear a worker's saved shift availability?
- What removes the shiftPreferences object for one user?
instructions:
- text: Delete the shift preferences for user {user_id}.
slots:
user_id: path.user-id
- text: Clear {user_id}'s shift availability with ETag {etag}.
slots:
user_id: path.user-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/shiftPreferences'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's shift availability
effect: write
questions:
- How do I record that an employee is only available certain days for shifts?
- Can I change a shift worker's availability windows?
instructions:
- text: Set the shift availability for user {user_id} to {availability}.
slots:
user_id: path.user-id
availability: requestBody.availability
- text: Update {user_id}'s shift preferences with availability {availability}.
slots:
user_id: path.user-id
availability: requestBody.availability
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage'].get
update:
x-apievangelist-phrasing:
intent: Get a user's storage settings
effect: read
questions:
- Where can I see a user's storage settings, including their quota?
- Can I read the storage settings object for one person?
instructions:
- text: Get the storage settings for user {user_id}.
slots:
user_id: path.user-id
- text: Show {user_id}'s storage settings with the quota expanded via {expand}.
slots:
user_id: path.user-id
expand: query.$expand
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage'].delete
update:
x-apievangelist-phrasing:
intent: Delete a user's storage settings
effect: destructive
questions:
- Can I remove the storage settings object from a user?
- What deletes someone's storage settings node entirely?
instructions:
- text: Delete the storage settings for user {user_id}.
slots:
user_id: path.user-id
- text: Remove {user_id}'s storage settings if the ETag matches {etag}.
slots:
user_id: path.user-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's storage settings
effect: write
questions:
- Can I replace the quota inside a user's storage settings?
- Which storage setting fields are writable for a user?
instructions:
- text: Update the storage settings for user {user_id} with quota {quota}.
slots:
user_id: path.user-id
quota: requestBody.quota
- text: Patch {user_id}'s storage settings node.
slots:
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota'].get
update:
x-apievangelist-phrasing:
intent: Check a user's storage quota usage
effect: read
questions:
- How much of their storage quota has a user used, and how much remains?
- Is someone close to running out of Microsoft 365 storage?
instructions:
- text: Show the storage quota used, remaining and total for user {user_id}.
slots:
user_id: path.user-id
- text: Check whether {user_id}'s storage quota state is near full.
slots:
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota'].delete
update:
x-apievangelist-phrasing:
intent: Delete a user's storage quota record
effect: destructive
questions:
- Can I remove the quota object from a user's storage settings?
- What deletes someone's stored quota details?
instructions:
- text: Delete the storage quota record for user {user_id}.
slots:
user_id: path.user-id
- text: Remove the quota from {user_id}'s storage with ETag {etag}.
slots:
user_id: path.user-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's storage quota values
effect: write
questions:
- 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?
instructions:
- text: Set the storage quota total for user {user_id} to {total}.
slots:
user_id: path.user-id
total: requestBody.total
- text: Update {user_id}'s quota state to {state} and manage URL to {manage_url}.
slots:
user_id: path.user-id
state: requestBody.state
manage_url: requestBody.manageWebUrl
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota/services'].get
update:
x-apievangelist-phrasing:
intent: Break down a user's storage use by service
effect: read
questions:
- 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?
instructions:
- text: List the per-service storage breakdown for user {user_id}.
slots:
user_id: path.user-id
- text: Show {user_id}'s storage by service sorted by {orderby}.
slots:
user_id: path.user-id
orderby: query.$orderby
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota/services'].post
update:
x-apievangelist-phrasing:
intent: Add a service storage breakdown entry
effect: write
questions:
- Can I add a new service entry to a user's storage quota breakdown?
- What creates a serviceStorageQuotaBreakdown record for someone?
instructions:
- text: Create a new service storage breakdown entry for user {user_id}.
slots:
user_id: path.user-id
- text: Add a per-service quota record under {user_id}'s storage.
slots:
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota/services/{serviceStorageQuotaBreakdown-id}'].get
update:
x-apievangelist-phrasing:
intent: Get one service's storage use for a user
effect: read
questions:
- How much storage does one specific service consume for a user?
- Can I read a single entry from someone's per-service quota breakdown?
instructions:
- text: Get service breakdown {service_id} from user {user_id}'s storage quota.
slots:
service_id: path.serviceStorageQuotaBreakdown-id
user_id: path.user-id
- text: Show how much storage service {service_id} uses for {user_id}.
slots:
service_id: path.serviceStorageQuotaBreakdown-id
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota/services/{serviceStorageQuotaBreakdown-id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a service storage breakdown entry
effect: destructive
questions:
- Can I remove one service's line from a user's quota breakdown?
- What deletes a specific serviceStorageQuotaBreakdown record?
instructions:
- text: Delete service breakdown {service_id} from user {user_id}'s quota.
slots:
service_id: path.serviceStorageQuotaBreakdown-id
user_id: path.user-id
- text: Remove the {service_id} storage entry for {user_id}.
slots:
service_id: path.serviceStorageQuotaBreakdown-id
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota/services/{serviceStorageQuotaBreakdown-id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a service storage breakdown entry
effect: write
questions:
- Can I edit one service's entry in a user's storage quota breakdown?
- What changes an existing serviceStorageQuotaBreakdown record?
instructions:
- text: Update service breakdown {service_id} in user {user_id}'s quota.
slots:
service_id: path.serviceStorageQuotaBreakdown-id
user_id: path.user-id
- text: Patch the {service_id} per-service storage record for {user_id}.
slots:
service_id: path.serviceStorageQuotaBreakdown-id
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/storage/quota/services/$count'].get
update:
x-apievangelist-phrasing:
intent: Count services in a user's storage breakdown
effect: read
questions:
- How many services appear in a user's storage quota breakdown?
- What's the count of per-service storage entries matching a filter?
instructions:
- text: Count the service storage entries for user {user_id}.
slots:
user_id: path.user-id
- text: Count {user_id}'s storage services where {filter}.
slots:
user_id: path.user-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows'].get
update:
x-apievangelist-phrasing:
intent: List a user's cloud-stored Windows settings
effect: read
questions:
- Which Windows settings does a user have backed up in the cloud?
- Can I filter someone's roamed Windows settings by device?
instructions:
- text: List the Windows settings stored in the cloud for user {user_id}.
slots:
user_id: path.user-id
- text: List {user_id}'s Windows settings matching {filter}.
slots:
user_id: path.user-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows'].post
update:
x-apievangelist-phrasing:
intent: Add a Windows setting for a user
effect: write
questions:
- 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?
instructions:
- text: Create a Windows setting of type {setting_type} for user {user_id} on device {device_id}.
slots:
setting_type: requestBody.settingType
user_id: path.user-id
device_id: requestBody.windowsDeviceId
- text: Add a Windows setting for {user_id} with payload type {payload_type}.
slots:
user_id: path.user-id
payload_type: requestBody.payloadType
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}'].get
update:
x-apievangelist-phrasing:
intent: Get one of a user's Windows settings
effect: read
questions:
- What device and setting type does a particular cloud Windows setting belong to?
- Can I read a single windowsSetting by its id?
instructions:
- text: Get Windows setting {setting_id} for user {user_id}.
slots:
setting_id: path.windowsSetting-id
user_id: path.user-id
- text: Show the details of {user_id}'s Windows setting {setting_id}.
slots:
setting_id: path.windowsSetting-id
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one of a user's Windows settings
effect: destructive
questions:
- Can I delete a Windows setting a user has roamed to the cloud?
- What removes a single windowsSetting from someone's account?
instructions:
- text: Delete Windows setting {setting_id} for user {user_id}.
slots:
setting_id: path.windowsSetting-id
user_id: path.user-id
- text: Remove cloud Windows setting {setting_id} from {user_id}.
slots:
setting_id: path.windowsSetting-id
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}'].patch
update:
x-apievangelist-phrasing:
intent: Update one of a user's Windows settings
effect: write
questions:
- Can I reassign a stored Windows setting to a different device id?
- Which fields of an existing windowsSetting can be changed?
instructions:
- text: Set the device on Windows setting {setting_id} for user {user_id} to {device_id}.
slots:
setting_id: path.windowsSetting-id
user_id: path.user-id
device_id: requestBody.windowsDeviceId
- text: Change the setting type of {user_id}'s Windows setting {setting_id} to {setting_type}.
slots:
user_id: path.user-id
setting_id: path.windowsSetting-id
setting_type: requestBody.settingType
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}/instances'].get
update:
x-apievangelist-phrasing:
intent: List values stored for a Windows setting
effect: read
questions:
- Which setting values are stored under one of a user's Windows settings?
- Can I see when each instance of a Windows setting expires?
instructions:
- text: List the instances of Windows setting {setting_id} for user {user_id}.
slots:
setting_id: path.windowsSetting-id
user_id: path.user-id
- text: Show the stored values under {user_id}'s Windows setting {setting_id} sorted by {orderby}.
slots:
user_id: path.user-id
setting_id: path.windowsSetting-id
orderby: query.$orderby
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}/instances'].post
update:
x-apievangelist-phrasing:
intent: Add a value to a Windows setting
effect: write
questions:
- 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?
instructions:
- text: Add an instance with payload {payload} to Windows setting {setting_id} for user {user_id}.
slots:
payload: requestBody.payload
setting_id: path.windowsSetting-id
user_id: path.user-id
- text: Create a value under {user_id}'s Windows setting {setting_id} that expires at {expires}.
slots:
user_id: path.user-id
setting_id: path.windowsSetting-id
expires: requestBody.expirationDateTime
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}/instances/{windowsSettingInstance-id}'].get
update:
x-apievangelist-phrasing:
intent: Get one value of a Windows setting
effect: read
questions:
- What payload does a single instance of a user's Windows setting hold?
- When was one specific Windows setting value last modified?
instructions:
- text: Get instance {instance_id} of Windows setting {setting_id} for user {user_id}.
slots:
instance_id: path.windowsSettingInstance-id
setting_id: path.windowsSetting-id
user_id: path.user-id
- text: Show the payload of value {instance_id} in {user_id}'s Windows setting {setting_id}.
slots:
instance_id: path.windowsSettingInstance-id
user_id: path.user-id
setting_id: path.windowsSetting-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}/instances/{windowsSettingInstance-id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one value of a Windows setting
effect: destructive
questions:
- Can I remove a single stored value from a user's Windows setting?
- What deletes one windowsSettingInstance by id?
instructions:
- text: Delete instance {instance_id} from Windows setting {setting_id} for user {user_id}.
slots:
instance_id: path.windowsSettingInstance-id
setting_id: path.windowsSetting-id
user_id: path.user-id
- text: Remove value {instance_id} under {user_id}'s Windows setting {setting_id}.
slots:
instance_id: path.windowsSettingInstance-id
user_id: path.user-id
setting_id: path.windowsSetting-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}/instances/{windowsSettingInstance-id}'].patch
update:
x-apievangelist-phrasing:
intent: Update one value of a Windows setting
effect: write
questions:
- Can I change the payload of an existing Windows setting value?
- How would I push out the expiration on one stored Windows setting instance?
instructions:
- text: Set the payload of instance {instance_id} in Windows setting {setting_id} for user {user_id} to {payload}.
slots:
instance_id: path.windowsSettingInstance-id
setting_id: path.windowsSetting-id
user_id: path.user-id
payload: requestBody.payload
- text: Extend value {instance_id} of {user_id}'s Windows setting {setting_id} to expire at {expires}.
slots:
instance_id: path.windowsSettingInstance-id
user_id: path.user-id
setting_id: path.windowsSetting-id
expires: requestBody.expirationDateTime
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/{windowsSetting-id}/instances/$count'].get
update:
x-apievangelist-phrasing:
intent: Count values stored for a Windows setting
effect: read
questions:
- 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?
instructions:
- text: Count the instances of Windows setting {setting_id} for user {user_id}.
slots:
setting_id: path.windowsSetting-id
user_id: path.user-id
- text: Count values in {user_id}'s Windows setting {setting_id} where {filter}.
slots:
user_id: path.user-id
setting_id: path.windowsSetting-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/windows/$count'].get
update:
x-apievangelist-phrasing:
intent: Count a user's cloud-stored Windows settings
effect: read
questions:
- How many Windows settings does a user have stored in the cloud?
- What's the count of someone's Windows settings for one device?
instructions:
- text: Count the Windows settings for user {user_id}.
slots:
user_id: path.user-id
- text: Count {user_id}'s Windows settings where {filter}.
slots:
user_id: path.user-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/workHoursAndLocations'].get
update:
x-apievangelist-phrasing:
intent: Get a user's work hours and location settings
effect: read
questions:
- 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?
instructions:
- text: Get the work hours and location settings for user {user_id}.
slots:
user_id: path.user-id
- text: Show {user_id}'s work plan settings with {expand} expanded.
slots:
user_id: path.user-id
expand: query.$expand
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/workHoursAndLocations'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's work hours and location settings
effect: write
questions:
- 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?
instructions:
- text: Set maxSharedWorkLocationDetails to {max_shared} for user {user_id}.
slots:
max_shared: requestBody.maxSharedWorkLocationDetails
user_id: path.user-id
- text: Update the work hours and location settings for {user_id}.
slots:
user_id: path.user-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/workHoursAndLocations/microsoft.graph.occurrencesView(startDateTime=\'{startDateTime}\',endDateTime=\'{endDateTime}\')'].get
update:
x-apievangelist-phrasing:
intent: View work plan occurrences in a date range
effect: read
questions:
- 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?
instructions:
- text: Show the work plan for user {user_id} from {start} to {end}.
slots:
user_id: path.user-id
start: path.startDateTime
end: path.endDateTime
- text: Get {user_id}'s work location occurrences between {start} and {end}, top {top}.
slots:
user_id: path.user-id
start: path.startDateTime
end: path.endDateTime
top: query.$top
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/workHoursAndLocations/occurrences'].get
update:
x-apievangelist-phrasing:
intent: List all of a user's work plan occurrences
effect: read
questions:
- 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?
instructions:
- text: List all work plan occurrences for user {user_id}.
slots:
user_id: path.user-id
- text: List {user_id}'s work plan occurrences matching {filter}.
slots:
user_id: path.user-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/workHoursAndLocations/occurrences'].post
update:
x-apievangelist-phrasing:
intent: Add a one-off work plan occurrence
effect: write
questions:
- 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?
instructions:
- text: Add a work plan occurrence for user {user_id} from {start} to {end} at location type {location_type}.
slots:
user_id: path.user-id
start: requestBody.start
end: requestBody.end
location_type: requestBody.workLocationType
- text: Create a time-off occurrence for {user_id} from {start} to {end} with details {time_off}.
slots:
user_id: path.user-id
start: requestBody.start
end: requestBody.end
time_off: requestBody.timeOffDetails
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/workHoursAndLocations/occurrences/{workPlanOccurrence-id}'].get
update:
x-apievangelist-phrasing:
intent: Get one work plan occurrence
effect: read
questions:
- 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?
instructions:
- text: Get work plan occurrence {occurrence_id} for user {user_id}.
slots:
occurrence_id: path.workPlanOccurrence-id
user_id: path.user-id
- text: Show where {user_id} works during occurrence {occurrence_id}.
slots:
user_id: path.user-id
occurrence_id: path.workPlanOccurrence-id
method: generated
generated: '2026-10-01'
- target: $.paths['/users/{user-id}/settings/workHoursAndLocations/occurrences/{workPlanOccurrence-id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a work plan occurrence
effect: write
questions:
- 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?
instructions:
- text: Replace work plan occurrence {occurrence_id} for user {user_id} with start {start} and end {end}.
slots:
occurrence_id: path.workPlanOccurrence-id
user_id: path.user-id
start: requestBody.start
end: requestBody.end
- text: Move {user_id}'s occurrence {occurrence_id} to place {place_id}.
slots:
user_id: path.user-id
occurrence_id: path.workPlanOccurrence-id
place_id: requestBody.placeId
method: generated
generated: '2026-10-01'
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/azure-ad/refs/heads/main/overlays/azure-ad-users-usersettings-api-phrasing-overlay.yaml