List calendarView

Namespace: microsoft.graph

Get the occurrences, exceptions, and single instances of events in a calendar view defined by a time range, from the user's default calendar, or from some other calendar of the user's.


One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Calendars.Read, Calendars.ReadWrite
Delegated (personal Microsoft account) Calendars.Read, Calendars.ReadWrite
Application Calendars.Read, Calendars.ReadWrite

HTTP request

A user's default calendar.

GET /me/calendar/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}
GET /users/{id | userPrincipalName}/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}

A user's calendar in the default calendarGroup.

GET /me/calendars/{id}/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}
GET /users/{id | userPrincipalName}/calendars/{id}/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}

A user's calendar in a specific calendarGroup.

GET /me/calendarGroups/{id}/calendars/{id}/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}
GET /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}

Query parameters

In the request URL, provide the following required query parameters with values.

Parameter Type Description
startDateTime String The start date and time of the time range, represented in ISO 8601 format. For example, "2019-11-08T19:00:00-08:00".
endDateTime String The end date and time of the time range, represented in ISO 8601 format. For example, "2019-11-08T20:00:00-08:00".

The values of startDateTime and endDateTime are interpreted using the timezone offset specified in the value and are not impacted by the value of the Prefer: outlook.timezone header if present. If no timezone offset is included in the value, it is interpreted as UTC.

This method also supports some of the OData Query Parameters to help customize the response.


The createdDateTime and lastModifiedDateTime properties of event do not support $select. To get their values, simply query on calendarView without applying $select.

Request headers

Name Type Description
Authorization string Bearer {token}. Required.
Prefer: outlook.timezone string Use this to specify the time zone for start and end times in the response. If not specified, those time values are returned in UTC. Optional.
Prefer: outlook.body-content-type string The format of the body property to be returned in. Values can be "text" or "html". A Preference-Applied header is returned as confirmation if this Prefer header is specified. If the header is not specified, the body property is returned in HTML format. Optional.

Request body

Do not supply a request body for this method.


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



Here is an example of the request.



Here is an example of the response. Note: The response object shown here might be shortened for readability.

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

  "value": [
      "originalStartTimeZone": "Pacific Standard Time",
      "originalEndTimeZone": "Pacific Standard Time",
      "responseStatus": {
        "response": "accepted",
        "time": "2016-10-19T10:37:00Z"
      "iCalUId": "040000008200E00074C5B7101A82E00800000000D3D70B8A6A17D70100000000000000001000000074665914A06C3F49BB4B7D7EEE4304DA",
      "reminderMinutesBeforeStart": 15,
      "isReminderOn": true