openapi: 3.1.0
info:
title: Microsoft Graph Admin Admin.admin users.user.Actions API
description: 'Microsoft Graph API for managing administrative resources in Microsoft Entra ID.
This API enables administrators to manage Microsoft Edge browser settings, Internet Explorer mode configurations,
site lists, shared browser sites, Microsoft 365 Apps installation options, people insights, service announcements,
SharePoint settings, Copilot administration, directory administrative units, and admin consent policies.'
version: 1.0.0
contact:
name: Microsoft Graph API Support
url: https://developer.microsoft.com/graph
servers:
- url: https://graph.microsoft.com/v1.0
description: Microsoft Graph API v1.0 endpoint
tags:
- name: users.user.Actions
x-ms-docs-toc-type: container
paths:
/users/{user-id}/assignLicense:
description: Provides operations to call the assignLicense method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action assignLicense
description: Add or remove licenses for the user to enable or disable their use of Microsoft cloud offerings that the company has licenses to. For example, an organization can have a Microsoft 365 Enterprise E3 subscription with 100 licenses, and this request assigns one of those licenses to a specific user. You can also enable and disable specific plans associated with a subscription. Direct user licensing method is an alternative to group-based licensing.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-assignlicense?view=graph-rest-1.0
operationId: users.user.assignLicense
requestBody:
$ref: '#/components/requestBodies/assignLicenseRequestBody'
responses:
2XX:
$ref: '#/components/responses/assignLicenseResponse'
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/changePassword:
description: Provides operations to call the changePassword method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action changePassword
description: "Update the signed-in user's password. Any user can update their password without belonging to any administrator role.\r\nTo update another user's password in either delegated or app-only scenarios, update the passwordProfile property of the user instead. See Example 3: Update the passwordProfile of a user and reset their password."
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-changepassword?view=graph-rest-1.0
operationId: users.user.changePassword
requestBody:
$ref: '#/components/requestBodies/changePasswordRequestBody'
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/checkMemberGroups:
description: Provides operations to call the checkMemberGroups method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action checkMemberGroups
description: "Check for membership in a specified list of group IDs, and return from that list the IDs of groups where a specified object is a member. The specified object can be of one of the following types:\r\n- user\r\n- group\r\n- service principal\r\n- organizational contact\r\n- device\r\n- directory object This function is transitive. You can check up to a maximum of 20 groups per request. This function supports all groups provisioned in Microsoft Entra ID. Because Microsoft 365 groups cannot contain other groups, membership in a Microsoft 365 group is always direct."
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/directoryobject-checkmembergroups?view=graph-rest-1.0
operationId: users.user.checkMemberGroups
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
groupIds:
type: array
items:
type: string
required: true
responses:
2XX:
description: Success
content:
application/json:
schema:
type: object
allOf:
- $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
- type: object
properties:
value:
type: array
items:
type: string
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
/users/{user-id}/checkMemberObjects:
description: Provides operations to call the checkMemberObjects method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action checkMemberObjects
operationId: users.user.checkMemberObjects
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
ids:
type: array
items:
type: string
required: true
responses:
2XX:
description: Success
content:
application/json:
schema:
type: object
allOf:
- $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
- type: object
properties:
value:
type: array
items:
type: string
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
/users/{user-id}/exportPersonalData:
description: Provides operations to call the exportPersonalData method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action exportPersonalData
description: Submit a data policy operation request from a company administrator or an application to export an organizational user's data. This data includes the user's data stored in OneDrive and their activity reports. For more information about exporting data while complying with regulations, see Data Subject Requests and the GDPR and CCPA.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-exportpersonaldata?view=graph-rest-1.0
operationId: users.user.exportPersonalData
requestBody:
$ref: '#/components/requestBodies/exportPersonalDataRequestBody'
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/findMeetingTimes:
description: Provides operations to call the findMeetingTimes method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action findMeetingTimes
description: "Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.\r\nBased on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time."
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-findmeetingtimes?view=graph-rest-1.0
operationId: users.user.findMeetingTimes
requestBody:
$ref: '#/components/requestBodies/findMeetingTimesRequestBody'
responses:
2XX:
$ref: '#/components/responses/findMeetingTimesResponse'
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/getMailTips:
description: Provides operations to call the getMailTips method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action getMailTips
description: "Get the MailTips of one or more recipients as available to the signed-in user. Note that by making a POST call to the getMailTips action, you can request specific types of MailTips to\r\nbe returned for more than one recipient at one time. The requested MailTips are returned in a mailTips collection."
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-getmailtips?view=graph-rest-1.0
operationId: users.user.getMailTips
requestBody:
$ref: '#/components/requestBodies/getMailTipsRequestBody'
responses:
2XX:
$ref: '#/components/responses/getMailTipsResponse'
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
/users/{user-id}/getMemberGroups:
description: Provides operations to call the getMemberGroups method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action getMemberGroups
description: Return all the group IDs for the groups that the specified user, group, service principal, organizational contact, device, or directory object is a member of. This function is transitive. This API returns up to 11,000 group IDs. If more than 11,000 results are available, it returns a 400 Bad Request error with the DirectoryResultSizeLimitExceeded error code. If you get the DirectoryResultSizeLimitExceeded error code, use the List group transitive memberOf API instead.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/directoryobject-getmembergroups?view=graph-rest-1.0
operationId: users.user.getMemberGroups
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
securityEnabledOnly:
type: boolean
default: false
nullable: true
required: true
responses:
2XX:
description: Success
content:
application/json:
schema:
type: object
allOf:
- $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
- type: object
properties:
value:
type: array
items:
type: string
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
/users/{user-id}/getMemberObjects:
description: Provides operations to call the getMemberObjects method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action getMemberObjects
description: "Return all IDs for the groups, administrative units, and directory roles that an object of one of the following types is a member of:\r\n- user\r\n- group\r\n- service principal\r\n- organizational contact\r\n- device\r\n- directory object This function is transitive. Only users and role-enabled groups can be members of directory roles."
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/directoryobject-getmemberobjects?view=graph-rest-1.0
operationId: users.user.getMemberObjects
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
securityEnabledOnly:
type: boolean
default: false
nullable: true
required: true
responses:
2XX:
description: Success
content:
application/json:
schema:
type: object
allOf:
- $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
- type: object
properties:
value:
type: array
items:
type: string
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
/users/{user-id}/removeAllDevicesFromManagement:
description: Provides operations to call the removeAllDevicesFromManagement method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action removeAllDevicesFromManagement
description: Retire all devices from management for this user
operationId: users.user.removeAllDevicesFromManagement
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/reprocessLicenseAssignment:
description: Provides operations to call the reprocessLicenseAssignment method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action reprocessLicenseAssignment
description: Reprocess all group-based license assignments for the user. To learn more about group-based licensing, see What is group-based licensing in Microsoft Entra ID. Also see Identify and resolve license assignment problems for a group in Microsoft Entra ID for more details.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-reprocesslicenseassignment?view=graph-rest-1.0
operationId: users.user.reprocessLicenseAssignment
responses:
2XX:
$ref: '#/components/responses/reprocessLicenseAssignmentResponse'
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/restore:
description: Provides operations to call the restore method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
x-ms-docs-grouped-path:
- /users/{user-id}/cloudPCs/{cloudPC-id}/restore
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action restore
description: "Restore a recently deleted application, group, servicePrincipal, administrative unit, or user object from deleted items. Restore a recently deleted directory object from deleted items. The following types are supported:\r\n- administrativeUnit\r\n- application\r\n- certificateBasedAuthPki\r\n- certificateAuthorityDetail\r\n- group\r\n- servicePrincipal\r\n- user If an item is accidentally deleted, you can fully restore the item. Additionally, restoring an application doesn't automatically restore the associated service principal automatically. You must call this API to explicitly restore the deleted service principal. A recently deleted item remains available for up to 30 days. After 30 days, the item is permanently deleted."
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/directory-deleteditems-restore?view=graph-rest-1.0
operationId: users.user.restore
responses:
2XX:
description: Success
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/microsoft.graph.directoryObject'
- type: object
nullable: true
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/retryServiceProvisioning:
description: Provides operations to call the retryServiceProvisioning method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action retryServiceProvisioning
description: Retry the provisioning of a user object in Microsoft Entra ID.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-retryserviceprovisioning?view=graph-rest-1.0
operationId: users.user.retryServiceProvisioning
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/revokeSignInSessions:
description: Provides operations to call the revokeSignInSessions method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action revokeSignInSessions
description: Invalidates all the refresh tokens issued to applications for a user (and session cookies in a user's browser), by resetting the signInSessionsValidFromDateTime user property to the current date-time. Typically, this operation is performed (by the user or an administrator) if the user has a lost or stolen device. This operation prevents access to the organization's data through applications on the device by requiring the user to sign in again to all applications that they consented to previously, independent of device.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-revokesigninsessions?view=graph-rest-1.0
operationId: users.user.revokeSignInSessions
responses:
2XX:
$ref: '#/components/responses/revokeSignInSessionsResponse'
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/sendMail:
description: Provides operations to call the sendMail method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action sendMail
description: 'Send the message specified in the request body using either JSON or MIME format. When using JSON format, you can include a file attachment in the same sendMail action call. When using MIME format: This method saves the message in the Sent Items folder. Alternatively, create a draft message to send later. To learn more about the steps involved in the backend before a mail is delivered to recipients, see here.'
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-sendmail?view=graph-rest-1.0
operationId: users.user.sendMail
requestBody:
$ref: '#/components/requestBodies/sendMailRequestBody'
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/{user-id}/translateExchangeIds:
description: Provides operations to call the translateExchangeIds method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action translateExchangeIds
description: Translate identifiers of Outlook-related resources between formats.
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/user-translateexchangeids?view=graph-rest-1.0
operationId: users.user.translateExchangeIds
requestBody:
$ref: '#/components/requestBodies/translateExchangeIdsRequestBody'
responses:
2XX:
$ref: '#/components/responses/translateExchangeIdsResponse'
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
/users/{user-id}/wipeManagedAppRegistrationsByDeviceTag:
description: Provides operations to call the wipeManagedAppRegistrationsByDeviceTag method.
parameters:
- name: user-id
in: path
description: The unique identifier of user
required: true
schema:
type: string
x-ms-docs-key-type: user
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action wipeManagedAppRegistrationsByDeviceTag
description: Issues a wipe operation on an app registration with specified device tag.
operationId: users.user.wipeManagedAppRegistrationsByDeviceTag
requestBody:
$ref: '#/components/requestBodies/wipeManagedAppRegistrationsByDeviceTagRequestBody'
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
/users/getAvailableExtensionProperties:
description: Provides operations to call the getAvailableExtensionProperties method.
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action getAvailableExtensionProperties
description: 'Return all directory extension definitions that are registered in a directory, including through multitenant apps. The following entities support extension properties:'
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/directoryobject-getavailableextensionproperties?view=graph-rest-1.0
operationId: users.getAvailableExtensionProperties
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
isSyncedFromOnPremises:
type: boolean
default: false
nullable: true
required: true
responses:
2XX:
description: Success
content:
application/json:
schema:
title: Collection of extensionProperty
type: object
allOf:
- $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
- type: object
properties:
value:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.extensionProperty'
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
/users/getByIds:
description: Provides operations to call the getByIds method.
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action getByIds
description: 'Return the directory objects specified in a list of IDs. Only a subset of user properties are returned by default in v1.0. Some common uses for this function are to:'
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/directoryobject-getbyids?view=graph-rest-1.0
operationId: users.getByIds
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
ids:
type: array
items:
type: string
types:
type: array
items:
type: string
nullable: true
required: true
responses:
2XX:
description: Success
content:
application/json:
schema:
title: Collection of directoryObject
type: object
allOf:
- $ref: '#/components/schemas/BaseCollectionPaginationCountResponse'
- type: object
properties:
value:
type: array
items:
$ref: '#/components/schemas/microsoft.graph.directoryObject'
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
x-ms-pageable:
nextLinkName: '@odata.nextLink'
operationName: listMore
/users/validateProperties:
description: Provides operations to call the validateProperties method.
post:
tags:
- users.user.Actions
summary: Microsoft Graph Invoke action validateProperties
description: "Validate that a Microsoft 365 group's display name or mail nickname complies with naming policies. Clients can use this API to determine whether a display name or mail nickname is valid before trying to create a Microsoft 365 group. To validate the properties of an existing group, use the group: validateProperties function. The following policy validations are performed for the display name and mail nickname properties:\r\n1. Validate the prefix and suffix naming policy\r\n2. Validate the custom banned words policy\r\n3. Validate that the mail nickname is unique This API only returns the first validation failure that is encountered. If the properties fail multiple validations, only the first validation failure is returned. However, you can validate both the mail nickname and the display name and receive a collection of validation errors if you're only validating the prefix and suffix naming policy. To learn more about configuring naming policies, see Configure naming policy."
externalDocs:
description: Find more info here
url: https://learn.microsoft.com/graph/api/directoryobject-validateproperties?view=graph-rest-1.0
operationId: users.validateProperties
requestBody:
description: Action parameters
content:
application/json:
schema:
type: object
properties:
entityType:
type: string
nullable: true
displayName:
type: string
nullable: true
mailNickname:
type: string
nullable: true
onBehalfOfUserId:
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
type: string
format: uuid
nullable: true
required: true
responses:
'204':
description: Success
4XX:
$ref: '#/components/responses/error'
5XX:
$ref: '#/components/responses/error'
x-ms-docs-operation-type: action
components:
schemas:
microsoft.graph.richLongRunningOperation:
allOf:
- $ref: '#/components/schemas/microsoft.graph.longRunningOperation'
- title: richLongRunningOperation
required:
- '@odata.type'
type: object
properties:
error:
anyOf:
- $ref: '#/components/schemas/microsoft.graph.publicError'
- type: object
nullable: true
description: Error that caused the operation to fail.
percentageComplete:
maximum: 2147483647
minimum: -2147483648
type: number
description: A value between 0 and 100 that indicates the progress of the operation.
format: int32
nullable: true
resourceId:
type: string
description: The unique identifier for the result.
nullable: true
type:
type: string
description: The type of the operation.
nullable: true
'@odata.type':
type: string
description: The status of a long-running operation.
x-ms-discriminator-value: '#microsoft.graph.richLongRunningOperation'
microsoft.graph.workbookWorksheet:
allOf:
- $ref: '#/components/schemas/microsoft.graph.entity'
- title: workbookWorksheet
required:
- '@odata.type'
# --- truncated at 32 KB (1043 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-graph/refs/heads/main/openapi/microsoft-graph-users-user-actions-api-openapi.yml