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 share recipient or delegate returns an empty calendar permissions collection.

Once a share recipient or delegate has been set up for a calendar, you can update only the role property to change the permissions of a share recipient or delegate. You can't update the allowedRoles, emailAddress, isInsideOrganization, or isRemovable property. To change these properties, you should delete the corresponding calendarPermission object and create another share recipient 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 share recipient or delegate who has access to the calendar. For the "My Organization" share recipient, the address property is null. Read-only.
id String The unique identifier of the user (share recipient or delegate) with whom the calendar has been shared. Read-only.
isInsideOrganization Boolean True if the user in context (share recipient or delegate) is inside the same organization as the calendar owner.
isRemovable Boolean True if the user can be removed from the list of recipients 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 can't remove "My organization" as a recipient to a calendar.
role calendarRoleType Current permission level of the calendar share recipient or delegate.

calendarRoleType values

Member Description
none Calendar isn't shared with the user.
freeBusyRead User is a share recipient who can view free/busy status of the owner on the calendar.
limitedRead User is a share recipient who can view free/busy status, and titles and locations of the events on the calendar.
read User is a share recipient who can view all the details of the events on the calendar, except for the owner's private events.
write User is a share recipient 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 can't 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 JSON representation shows the resource type.

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