Create invitation

Important: APIs under the /beta version in Microsoft Graph are in preview and are subject to change. Use of these APIs in production applications is not supported.

Use this API to create a new invitation. Invitation adds an external user to the organization.

When creating a new invitation you have several options available:

  1. On invitation creation, Microsoft Graph can automatically send an invitation email directly to the invited user, or your app can use the inviteRedeemUrl returned in the creation response to craft your own invitation (through your communication mechanism of choice) to the invited user. If you decide to have Microsoft Graph send an invitation email automatically, you can control the content and language of the email using invitedUserMessageInfo.
  2. When the user is invited, a user entity (of userType Guest) is created and can now be used to control access to resources. The invited user has to go through the redemption process to access any resources he has been invited to.


One of the following scopes is required to execute this API: User.Invite.All or User.ReadWrite.All or Directory.ReadWrite.All

HTTP request

POST /invitations

Request headers

Header Value
Authorization Bearer {token}. Required.
Content-Type application/json

Request body

In the request body, supply a JSON representation of an invitation object.

The following table shows the properties that are required when you create a invitation.

Parameter Type Description
invitedUserEmailAddress string The email address of the user you are inviting.
inviteRedirectUrl string The URL that the user will be redirected to after redemption.


If successful, this method returns 201, Created response code and invitation object in the response body.



Here is an example of the request.

Content-type: application/json
Content-length: 551

  "invitedUserEmailAddress": "",
  "inviteRedirectUrl": ""

Here is an example of the response. Note: The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call.

HTTP/1.1 201 OK
Content-type: application/json
Content-length: 551

  "id": "7b92124c-9fa9-406f-8b8e-225df8376ba9",
  "inviteRedeemUrl": "",
  "invitedUserDisplayName": "yyy",
  "invitedUserEmailAddress": "",
  "sendInvitationMessage": false,
  "invitedUserMessageInfo": {
     "messageLanguage": null,
     "ccRecipients": [
             "emailAddress": {
                 "name": null,
                 "address": null
     "customizedMessageBody": null
  "inviteRedirectUrl": "",
  "status": "Completed",
  "invitedUser":  [ {  "id": "243b1de4-ad9f-421c-a933-d55305fb165d" } ]