calendarPermission resource type

Namespace: microsoft.graph

Important

APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

The permissions of a user with whom the calendar has been shared or delegated in an Outlook client.

List, create, get, update, and delete of calendar permissions is supported on behalf of only the calendar owner.

Getting the calendar permissions of a calendar on behalf of a sharee or delegate returns an empty calendar permissions collection.

Once a sharee or delegate has been set up for a calendar, you can update only the role property to change the permissions of a sharee or delegate. You cannot update the allowedRoles, emailAddress, isInsideOrganization, or isRemovable property. To change these properties, you should delete the corresponding calendarPermission object and create another sharee or delegate in an Outlook client.

Methods

Method Return Type Description
List calendarPermission Get a collection of calendarPermission objects that describe the identity and roles of users with whom the specified calendar has been shared or delegated.
Create calendarPermission Create calendarPermission object.
Get calendarPermission calendarPermission Read properties and relationships of calendarPermission object.
Update calendarPermission Update calendarPermission object.
Delete None Delete calendarPermission object.

Properties

Property Type Description
allowedRoles calendarRoleType collection List of allowed sharing or delegating permission levels for the calendar. Possible values are: none, freeBusyRead, limitedRead, read, write, delegateWithoutPrivateEventAccess, delegateWithPrivateEventAccess, custom.
emailAddress emailAddress Represents a sharee or delegate who has access to the calendar. For the "My Organization" sharee, the address property is null. Read-only.
id String The unique identifier of the user (sharee or delegate) with whom the calendar has been shared. Read-only.
isInsideOrganization Boolean True if the user in context (sharee or delegate) is inside the same organization as the calendar owner.
isRemovable Boolean True if the user can be removed from the list of sharees or delegates for the specified calendar, false otherwise. The "My organization" user determines the permissions other people within your organization have to the given calendar. You cannot remove "My organization" as a sharee to a calendar.
role calendarRoleType Current permission level of the calendar sharee or delegate.

calendarRoleType values

Member Description
none Calendar is not shared with the user.
freeBusyRead User is a sharee who can view free/busy status of the owner on the calendar.
limitedRead User is a sharee who can view free/busy status, and titles and locations of the events on the calendar.
read User is a sharee who can view all the details of the events on the calendar, except for the owner's private events.
write User is a sharee who can view all the details (except for private events) and edit events on the calendar.
delegateWithoutPrivateEventAccess User is a delegate who has write access but cannot view information of the owner's private events on the calendar.
delegateWithPrivateEventAccess User is a delegate who has write access and can view information of the owner's private events on the calendar.
custom User has custom permissions to the calendar.

JSON representation

The following is a JSON representation of the resource.

{
  "allowedRoles": ["string"],
  "emailAddress": {"@odata.type": "microsoft.graph.emailAddress"},
  "id": "String (identifier)",
  "isInsideOrganization": "boolean",
  "isRemovable": "boolean",
  "role": "string"
}