Create calendarPermission

Namespace: microsoft.graph

Create a calendarPermission resource to specify the identity and role of the user with whom the specified calendar is being shared or delegated.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Permissions

Depending on the type of calendar that the event is in and the permission type (delegated or application) requested, one of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Calendar Delegated (work or school account) Delegated (personal Microsoft account) Application
user calendar Calendars.Read, Calendars.ReadWrite Calendars.Read, Calendars.ReadWrite Calendars.Read, Calendars.ReadWrite
group calendar Group.Read.All, Group.ReadWrite.All Not supported. Not supported.

HTTP request

Create the specified permissions of a user's primary calendar:

POST /users/{id}/calendar/calendarPermissions

Create the specified permissions of a group calendar:

POST /groups/{id}/calendar/calendarPermissions

Create the specified permissions of the user calendar that contains the identified event:

POST /users/{id}/events/{id}/calendar/calendarPermissions

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about authentication and authorization.
Content-Type application/json. Required.

Request body

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

Response

If successful, this method returns a 200 OK response code and a collection of calendarPermission objects in the response body.

Examples

Request

The following example shows a request.

POST https://graph.microsoft.com/v1.0/me/calendar/calendarPermissions

{
    "emailAddress": {
        "name": "Samantha Booth",
        "address": "samanthab@contoso.com"
    },
    "isInsideOrganization": true,
    "isRemovable": true,
    "role": "read"
}

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('458d4c95-124e-49da-ba9d-1dd0387e682e')/calendar/calendarPermissions/$entity",
    "id": "RXhjaGFuZ2VQdWJsaXNoZWRVc2VyLnNhbWFudGhhYkBhZGF0dW0ub25taWNyb3NvZnQuY29t",
    "isRemovable": true,
    "isInsideOrganization": true,
    "role": "read",
    "allowedRoles": [
        "freeBusyRead",
        "limitedRead",
        "read"
    ],
    "emailAddress": {
        "name": "Samantha Booth",
        "address": "samanthab@contoso.com"
    }
}