Calendar
- OpenAPI Version:
3.1.1 - API Version:
2
The Calendar APIs allow developers to interface with Zoom Calendar features programmatically. These APIs enable applications to manage calendar events, automate scheduling, sync across platforms, and integrate Zoom Calendar with third-party apps for seamless event management.
Servers
- URL:
https://api.zoom.us/v2
Operations
List ACL rules of specified calendar
- Method:
GET - Path:
/calendars/{calId}/acl - Tags: acl
Returns the rules in the access control list for the calendar.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:list_acl,calendar:read:list_acl:admin
Rate Limit Label: MEDIUM
Responses
Status: 200 If successful, this method returns a response body with the following structure:
Content-Type: application/json
-
etagstring— The ETag of the collection. -
itemsarray— The list of rules for the access control list.Items:
-
role(required)string, possible values:"none", "freeBusyReader", "reader", "writer", "owner"— The role assigned to the scope. -
scope(required)object— The extent to which calendar access is granted by this ACL rule. -
etagstring— The ETag of the resource. -
idstring— The identifier of the ACL rule. -
kindstring, possible values:"calendar#aclRule"— The type of resource.
-
-
kindstring— The type of collection. -
nextPageTokenstring— The token that accesses the next page of this result.
Example:
{
"kind": "calendar#acl",
"etag": "\"00000000000000000000\"",
"nextPageToken": "user:abc@example.com!",
"items": [
{
"kind": "calendar#aclRule",
"etag": "\"00000000000000000000\"",
"id": "user:cba.fed@zoom.com",
"scope": {
"type": "default"
},
"role": "reader"
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Create a new ACL rule
- Method:
POST - Path:
/calendars/{calId}/acl - Tags: acl
Creates an access control list rule.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:write:acl,calendar:write:acl:admin
Rate Limit Label: HEAVY
Request Body
Content-Type: application/json
-
role(required)string, possible values:"none", "freeBusyReader", "reader", "writer", "owner"— The role assigned to the scope. -
scope(required)object— The extent to which calendar access is granted by this ACL rule.
Example:
{
"scope": {
"type": "default"
},
"role": "reader"
}
Responses
Status: 200 If successful, this method returns an ACL resource in the response body.
Content-Type: application/json
-
role(required)string, possible values:"none", "freeBusyReader", "reader", "writer", "owner"— The role assigned to the scope. -
scope(required)object— The extent to which calendar access is granted by this ACL rule. -
etagstring— The ETag of the resource. -
idstring— The identifier of the ACL rule. -
kindstring, possible values:"calendar#aclRule"— The type of resource.
Example:
{
"kind": "calendar#aclRule",
"etag": "\"00000000000000000000\"",
"id": "user:cba.fed@zoom.com",
"scope": {
"type": "default"
},
"role": "reader"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Get the specified ACL rule
- Method:
GET - Path:
/calendars/{calId}/acl/{aclId} - Tags: acl
Returns an access control list (ACL) rule.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:acl,calendar:read:acl:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns an ACL resource in the response body.
Content-Type: application/json
-
role(required)string, possible values:"none", "freeBusyReader", "reader", "writer", "owner"— The role assigned to the scope. -
scope(required)object— The extent to which calendar access is granted by this ACL rule. -
etagstring— The ETag of the resource. -
idstring— The identifier of the ACL rule. -
kindstring, possible values:"calendar#aclRule"— The type of resource.
Example:
{
"kind": "calendar#aclRule",
"etag": "\"00000000000000000000\"",
"id": "user:cba.fed@zoom.com",
"scope": {
"type": "default"
},
"role": "reader"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Delete an existing ACL rule
- Method:
DELETE - Path:
/calendars/{calId}/acl/{aclId} - Tags: acl
Deletes an access control list (ACL) rule.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:delete:acl,calendar:delete:acl:admin
Rate Limit Label: HEAVY
Responses
Status: 204 If successful, the specified ACL rule is deleted and this method returns an empty response body.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Update the specified ACL rule
- Method:
PATCH - Path:
/calendars/{calId}/acl/{aclId} - Tags: acl
Updates an access control list rule.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:update:acl,calendar:update:acl:admin
Rate Limit Label: HEAVY
Request Body
Content-Type: application/json
-
role(required)string, possible values:"none", "freeBusyReader", "reader", "writer", "owner"— The role assigned to the scope. -
scope(required)object— The extent to which calendar access is granted by this ACL rule.One of:
-
type(required)string, possible values:"default"— The type of the scope.
-
type(required)string, possible values:"domain"— The type of scope. -
valuestring, format:hostname— The name of a domain.
-
type(required)string, possible values:"group", "user"— The type of scope. -
valuestring, format:email— The email address of a user or group.
-
Example:
{
"scope": {
"type": "default"
},
"role": "reader"
}
Responses
Status: 200 If successful, this method returns an ACL resource in the response body.
Content-Type: application/json
-
role(required)string, possible values:"none", "freeBusyReader", "reader", "writer", "owner"— The role assigned to the scope. -
scope(required)object— The extent to which calendar access is granted by this ACL rule. -
etagstring— The ETag of the resource. -
idstring— The identifier of the ACL rule. -
kindstring, possible values:"calendar#aclRule"— The type of resource.
Example:
{
"kind": "calendar#aclRule",
"etag": "\"00000000000000000000\"",
"id": "user:cba.fed@zoom.com",
"scope": {
"type": "default"
},
"role": "reader"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
List the calendars in the user's own calendarList
- Method:
GET - Path:
/calendars/users/{userIdentifier}/calendarList - Tags: calendar list
Returns the calendars in the user's calendar list.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:list_calendar_lists
Rate Limit Label: HEAVY
Responses
Status: 200 If successful, this method returns a response body with the following structure:
Content-Type: application/json
-
etagstring— The ETag of the collection. -
itemsarray— The calendars in the user's calendar list.Items:
-
id(required)string, format:email— The identifier of the calendar. -
accessRolestring, possible values:"freeBusyReader", "reader", "writer", "owner"— The effective access role that the authenticated user has on the calendar. -
backgroundColorstring— The main color of the calendar in the hexadecimal format. -
colorIdstring— The color of the calendar. -
defaultAllDayRemindersarray— The default reminders for all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
defaultRemindersarray— The default reminders for non-all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
deletedboolean— Whether this calendar list entry has been deleted from the calendar list. -
descriptionstring— The description of the calendar. -
etagstring— The ETag of the resource. -
foregroundColorstring— The foreground color of the calendar in the hexadecimal format. -
hiddenboolean— Whether the calendar has been hidden from the list. -
kindstring— The type of the resource. -
locationstring— The geographic location of the calendar as free-form text. -
notificationSettingsobject— The notifications that the authenticated user is receiving for this calendar.-
notificationsarray— The list of notifications set for this calendar.Items:
-
methodstring, possible values:"email"— The method that delivers the notification. -
typestring, possible values:"eventCreation", "eventChange", "eventCancellation", "eventResponse", "agenda"— The type of notification.
-
-
-
primaryboolean— Whether the calendar is the primary calendar of the authenticated user. -
selectedboolean— Whether the calendar content shows up in the calendar UI. -
summarystring— The title of the calendar. -
summaryOverridestring— The summary that the authenticated user has set for this calendar. -
timeZonestring— The time zone of the calendar.
-
-
kindstring— The type of the collection. -
nextPageTokenstring— The token that accesses the next page of this result.
Example:
{
"kind": "calendar#calendarList",
"etag": "\"00000000000000000000\"",
"nextPageToken": "c_fn3h8xf6ce6ehefnclpp869700@group.calendar.zoom.us!",
"items": [
{
"kind": "calendar#calendarListEntry",
"etag": "\"00000000000000000000\"",
"id": "abc.def@zoom.com",
"summary": "My calendar",
"description": "Calendar description",
"location": "San Jose",
"timeZone": "America/Los_Angeles",
"colorId": "6",
"backgroundColor": "#0088aa",
"foregroundColor": "#ffffff",
"hidden": false,
"selected": false,
"accessRole": "freeBusyReader",
"defaultReminders": [
{
"method": "email",
"minutes": 5
}
],
"defaultAllDayReminders": [
{
"method": "email",
"minutes": 5
}
],
"notificationSettings": {
"notifications": [
{
"type": "eventCreation",
"method": "email"
}
]
},
"primary": false,
"deleted": false,
"summaryOverride": "new summary"
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Insert an existing calendar to the user's own calendarList
- Method:
POST - Path:
/calendars/users/{userIdentifier}/calendarList - Tags: calendar list
Inserts an existing calendar into the user's calendar list. The user can be me or a given calendar ID.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:write:calendar_list
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
id(required)string, format:email— The identifier of the calendar. -
accessRolestring, possible values:"freeBusyReader", "reader", "writer", "owner"— The effective access role that the authenticated user has on the calendar. -
backgroundColorstring— The main color of the calendar in the hexadecimal format. -
colorIdstring— The color of the calendar. -
defaultAllDayRemindersarray— The default reminders for all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
defaultRemindersarray— The default reminders for non-all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
deletedboolean— Whether this calendar list entry has been deleted from the calendar list. -
descriptionstring— The description of the calendar. -
foregroundColorstring— The foreground color of the calendar in the hexadecimal format. -
hiddenboolean— Whether the calendar has been hidden from the list. -
locationstring— The geographic location of the calendar as free-form text. -
notificationSettingsobject— The notifications that the authenticated user is receiving for this calendar.-
notificationsarray— The list of notifications set for this calendar.Items:
-
methodstring, possible values:"email"— The method that delivers the notification. -
typestring, possible values:"eventCreation", "eventChange", "eventCancellation", "eventResponse", "agenda"— The type of notification.
-
-
-
primaryboolean— Whether the calendar is the primary calendar of the authenticated user. -
selectedboolean— Whether the calendar content shows up in the calendar UI. -
summarystring— The title of the calendar. -
summaryOverridestring— The summary that the authenticated user has set for this calendar. -
timeZonestring— The time zone of the calendar.
Example:
{
"id": "abc.def@zoom.com",
"summary": "My calendar",
"description": "Calendar description",
"location": "San Jose",
"timeZone": "America/Los_Angeles",
"colorId": "6",
"backgroundColor": "#0088aa",
"foregroundColor": "#ffffff",
"hidden": false,
"selected": false,
"accessRole": "freeBusyReader",
"defaultReminders": [
{
"method": "email",
"minutes": 5
}
],
"defaultAllDayReminders": [
{
"method": "email",
"minutes": 5
}
],
"notificationSettings": {
"notifications": [
{
"type": "eventCreation",
"method": "email"
}
]
},
"primary": false,
"deleted": false,
"summaryOverride": "new summary"
}
Responses
Status: 200 If successful, this method returns a CalendarList resource in the response body.
Content-Type: application/json
-
id(required)string, format:email— The identifier of the calendar. -
accessRolestring, possible values:"freeBusyReader", "reader", "writer", "owner"— The effective access role that the authenticated user has on the calendar. -
backgroundColorstring— The main color of the calendar in the hexadecimal format. -
colorIdstring— The color of the calendar. -
defaultAllDayRemindersarray— The default reminders for all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method that this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
defaultRemindersarray— The default reminders for non-all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method that this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
deletedboolean— Whether this calendar list entry has been deleted from the calendar list. -
descriptionstring— The description of the calendar. -
etagstring— The ETag of the resource. -
foregroundColorstring— The foreground color of the calendar in the hexadecimal format -
hiddenboolean— Whether the calendar has been hidden from the list. -
kindstring— The type of the resource. -
locationstring— The geographic location of the calendar as free-form text. -
notificationSettingsobject— The notifications that the authenticated user is receiving for this calendar.-
notificationsarray— The list of notifications set for this calendar.Items:
-
methodstring, possible values:"email"— The method that delivers the notification. -
typestring, possible values:"eventCreation", "eventChange", "eventCancellation", "eventResponse", "agenda"— The type of notification.
-
-
-
primaryboolean— Whether the calendar is the primary calendar of the authenticated user. -
selectedboolean— Whether the calendar content shows up in the calendar UI. -
summarystring— The title of the calendar. -
summaryOverridestring— The summary that the authenticated user has set for this calendar. -
timeZonestring— The time zone of the calendar.
Example:
{
"kind": "calendar#calendarListEntry",
"etag": "\"00000000000000000000\"",
"id": "abc.def@zoom.com",
"summary": "My calendar",
"description": "Calendar description",
"location": "San Jose",
"timeZone": "America/Los_Angeles",
"colorId": "6",
"backgroundColor": "#0088aa",
"foregroundColor": "#ffffff",
"hidden": false,
"selected": false,
"accessRole": "freeBusyReader",
"defaultReminders": [
{
"method": "email",
"minutes": 5
}
],
"defaultAllDayReminders": [
{
"method": "email",
"minutes": 5
}
],
"notificationSettings": {
"notifications": [
{
"type": "eventCreation",
"method": "email"
}
]
},
"primary": false,
"deleted": false,
"summaryOverride": "new summary"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Get a specified calendar from the user's own calendarList
- Method:
GET - Path:
/calendars/users/{userIdentifier}/calendarList/{calendarId} - Tags: calendar list
Returns a calendar from the user's calendar list. The user can be me or a given calendar ID.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:calendar_list
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns a CalendarList resource in the response body.
Content-Type: application/json
-
id(required)string, format:email— The identifier of the calendar. -
accessRolestring, possible values:"freeBusyReader", "reader", "writer", "owner"— The effective access role that the authenticated user has on the calendar. -
backgroundColorstring— The main color of the calendar in the hexadecimal format. -
colorIdstring— The color of the calendar. -
defaultAllDayRemindersarray— The default reminders for all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
defaultRemindersarray— The default reminders for non-all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
deletedboolean— Whether this calendar list entry has been deleted from the calendar list. -
descriptionstring— The description of the calendar. -
etagstring— The ETag of the resource. -
foregroundColorstring— The foreground color of the calendar in the hexadecimal format. -
hiddenboolean— Whether the calendar has been hidden from the list. -
kindstring— The type of the resource. -
locationstring— The geographic location of the calendar as free-form text. -
notificationSettingsobject— The notifications that the authenticated user is receiving for this calendar.-
notificationsarray— The list of notifications set for this calendar.Items:
-
methodstring, possible values:"email"— The method that delivers the notification. -
typestring, possible values:"eventCreation", "eventChange", "eventCancellation", "eventResponse", "agenda"— The type of notification.
-
-
-
primaryboolean— Whether the calendar is the primary calendar of the authenticated user. -
selectedboolean— Whether the calendar content shows up in the calendar UI. -
summarystring— The title of the calendar. -
summaryOverridestring— The summary that the authenticated user has set for this calendar. -
timeZonestring— The time zone of the calendar.
Example:
{
"kind": "calendar#calendarListEntry",
"etag": "\"00000000000000000000\"",
"id": "abc.def@zoom.com",
"summary": "My calendar",
"description": "Calendar description",
"location": "San Jose",
"timeZone": "America/Los_Angeles",
"colorId": "6",
"backgroundColor": "#0088aa",
"foregroundColor": "#ffffff",
"hidden": false,
"selected": false,
"accessRole": "freeBusyReader",
"defaultReminders": [
{
"method": "email",
"minutes": 5
}
],
"defaultAllDayReminders": [
{
"method": "email",
"minutes": 5
}
],
"notificationSettings": {
"notifications": [
{
"type": "eventCreation",
"method": "email"
}
]
},
"primary": false,
"deleted": false,
"summaryOverride": "new summary"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Delete an existing calendar from the user's own calendarList
- Method:
DELETE - Path:
/calendars/users/{userIdentifier}/calendarList/{calendarId} - Tags: calendar list
Removes a calendar from the user's calendar list. The user can be me or a given calendar ID.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:delete:calendar_list
Rate Limit Label: LIGHT
Responses
Status: 204 If successful, the specified calendar is removed from the user's own calendarList. This method returns an empty response body.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Update an existing calendar in the user's own calendarList
- Method:
PATCH - Path:
/calendars/users/{userIdentifier}/calendarList/{calendarId} - Tags: calendar list
Updates an existing calendar on the user's calendar list.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:update:calendar_list
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
id(required)string, format:email— The identifier of the calendar. -
accessRolestring, possible values:"freeBusyReader", "reader", "writer", "owner"— The effective access role that the authenticated user has on the calendar. -
backgroundColorstring— The main color of the calendar in the hexadecimal format. -
colorIdstring— The color of the calendar. -
defaultAllDayRemindersarray— The default reminders for all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
defaultRemindersarray— The default reminders for non-all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method that this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
deletedboolean— Whether this calendar list entry has been deleted from the calendar list. -
descriptionstring— The description of the calendar. -
foregroundColorstring— The foreground color of the calendar in the hexadecimal format. -
hiddenboolean— Whether the calendar has been hidden from the list. -
locationstring— The geographic location of the calendar as free-form text. -
notificationSettingsobject— The notifications that the authenticated user is receiving for this calendar.-
notificationsarray— The list of notifications set for this calendar.Items:
-
methodstring, possible values:"email"— The method to deliver the notification. -
typestring, possible values:"eventCreation", "eventChange", "eventCancellation", "eventResponse", "agenda"— The type of notification.
-
-
-
primaryboolean— Whether the calendar is the primary calendar of the authenticated user. -
selectedboolean— Whether the calendar content shows up in the calendar UI. -
summarystring— The title of the calendar. -
summaryOverridestring— The summary that the authenticated user has set for this calendar. -
timeZonestring— The time zone of the calendar.
Example:
{
"id": "abc.def@zoom.com",
"summary": "My calendar",
"description": "Calendar description",
"location": "San Jose",
"timeZone": "America/Los_Angeles",
"colorId": "6",
"backgroundColor": "#0088aa",
"foregroundColor": "#ffffff",
"hidden": false,
"selected": false,
"accessRole": "freeBusyReader",
"defaultReminders": [
{
"method": "email",
"minutes": 5
}
],
"defaultAllDayReminders": [
{
"method": "email",
"minutes": 5
}
],
"notificationSettings": {
"notifications": [
{
"type": "eventCreation",
"method": "email"
}
]
},
"primary": false,
"deleted": false,
"summaryOverride": "new summary"
}
Responses
Status: 200 If successful, this method returns a CalendarList resource in the response body.
Content-Type: application/json
-
id(required)string, format:email— The identifier of the calendar. -
accessRolestring, possible values:"freeBusyReader", "reader", "writer", "owner"— The effective access role that the authenticated user has on the calendar. -
backgroundColorstring— The main color of the calendar in the hexadecimal format. -
colorIdstring— The color of the calendar. -
defaultAllDayRemindersarray— The default reminders for all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
defaultRemindersarray— The default reminders for non-all day events that the authenticated user has for this calendar.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
deletedboolean— Whether this calendar list entry has been deleted from the calendar list. -
descriptionstring— The description of the calendar. -
etagstring— The ETag of the resource. -
foregroundColorstring— The foreground color of the calendar in the hexadecimal format. -
hiddenboolean— Whether the calendar has been hidden from the list. -
kindstring— The type of the resource. -
locationstring— The geographic location of the calendar as free-form text. -
notificationSettingsobject— The notifications that the authenticated user is receiving for this calendar.-
notificationsarray— The list of notifications set for this calendar.Items:
-
methodstring, possible values:"email"— The method that delivers the notification. -
typestring, possible values:"eventCreation", "eventChange", "eventCancellation", "eventResponse", "agenda"— The type of notification.
-
-
-
primaryboolean— Whether the calendar is the primary calendar of the authenticated user. -
selectedboolean— Whether the calendar content shows up in the calendar UI. -
summarystring— The title of the calendar. -
summaryOverridestring— The summary that the authenticated user has set for this calendar. -
timeZonestring— The time zone of the calendar.
Example:
{
"kind": "calendar#calendarListEntry",
"etag": "\"00000000000000000000\"",
"id": "abc.def@zoom.com",
"summary": "My calendar",
"description": "Calendar description",
"location": "San Jose",
"timeZone": "America/Los_Angeles",
"colorId": "6",
"backgroundColor": "#0088aa",
"foregroundColor": "#ffffff",
"hidden": false,
"selected": false,
"accessRole": "freeBusyReader",
"defaultReminders": [
{
"method": "email",
"minutes": 5
}
],
"defaultAllDayReminders": [
{
"method": "email",
"minutes": 5
}
],
"notificationSettings": {
"notifications": [
{
"type": "eventCreation",
"method": "email"
}
]
},
"primary": false,
"deleted": false,
"summaryOverride": "new summary"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Create a new secondary calendar
- Method:
POST - Path:
/calendars - Tags: calendars
Creates a secondary calendar.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:write:calendar,calendar:write:calendar:admin
Rate Limit Label: HEAVY
Request Body
Content-Type: application/json
-
summary(required)string— The title of the calendar.
Example:
{
"summary": "my calendar"
}
Responses
Status: 200 If successful, this method returns a calendars resource in the response body.
Content-Type: application/json
-
descriptionstring— The description of the calendar. -
etagstring— The ETag of the resource. -
idstring, format:email— The identifier of the calendar. -
kindstring, possible values:"calendar#calendar"— The type of resource. -
locationstring— The geographic location of the calendar as free-form text. -
summarystring— The title of the calendar. -
timeZonestring— The time zone of the calendar.
Example:
{
"kind": "calendar#calendar",
"etag": "\"00000000000000000000\"",
"id": "abc.def@zoom.com",
"summary": "My calendar",
"timeZone": "America/Los_Angeles",
"description": "calendar description",
"location": "San Jose"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Get the specified calendar
- Method:
GET - Path:
/calendars/{calId} - Tags: calendars
Returns metadata for a calendar.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:calendar,calendar:read:calendar:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns a calendar's resource in the response body.
Content-Type: application/json
-
etag(required)string— The ETag of the resource. -
id(required)string, format:email— The identifier of the calendar. -
kind(required)string, possible values:"calendar#calendar"— The type of the resource. -
summary(required)string— The title of the calendar. -
timeZone(required)string— The time zone of the calendar. -
descriptionstring— The description of the calendar. -
locationstring— The geographic location of the calendar as free-form text.
Example:
{
"kind": "calendar#calendar",
"etag": "\"00000000000000000000\"",
"id": "abc.def@zoom.com",
"summary": "My calendar",
"timeZone": "America/Los_Angeles",
"description": "calendar description",
"location": "San Jose"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Delete a calendar owned by a user
- Method:
DELETE - Path:
/calendars/{calId} - Tags: calendars
Deletes a calendar
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:delete:calendar,calendar:delete:calendar:admin
Rate Limit Label: LIGHT
Responses
Status: 204 If successful, the specified calendar is deleted and this method returns an empty response body.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Update the specified calendar
- Method:
PATCH - Path:
/calendars/{calId} - Tags: calendars
Updates metadata for a calendar.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:update:calendar,calendar:update:calendar:admin
Rate Limit Label: HEAVY
Request Body
Content-Type: application/json
-
descriptionstring— The description of the calendar. -
locationstring— The geographic location of the calendar as free-form text. -
summarystring— The title of the calendar. -
timeZonestring— The time zone of the calendar.
Example:
{
"summary": "My calendar",
"timeZone": "America/Los_Angeles",
"description": "calendar description",
"location": "San Jose"
}
Responses
Status: 200 If successful, this method returns a Calendars resource in the response body.
Content-Type: application/json
-
descriptionstring— The description of the calendar. -
etagstring— The ETag of the resource. -
idstring, format:email— The identifier of the calendar. -
kindstring, possible values:"calendar#calendar"— The type of the resource. -
locationstring— The geographic location of the calendar as free-form text. -
summarystring— The title of the calendar. -
timeZonestring— The time zone of the calendar.
Example:
{
"kind": "calendar#calendar",
"etag": "\"00000000000000000000\"",
"id": "abc.def@zoom.com",
"summary": "My calendar",
"timeZone": "America/Los_Angeles",
"description": "calendar description",
"location": "San Jose"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Get the color definitions for calendars and events
- Method:
GET - Path:
/calendars/colors - Tags: colors
Returns the color definitions for calendars and events.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:color,calendar:read:color:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns a color's resource in the response body.
Content-Type: application/json
-
calendararray— A global palette of calendar colors, mapping from the color ID to its definition.Items:
-
color_idstring— The ID of the color. -
valueobject-
backgroundstring— The background color value. -
foregroundstring— The foreground color value.
-
-
-
eventarray— A global palette of event colors, mapping from the color ID to its definition.Items:
-
color_idstring— The ID of the color. -
valueobject-
backgroundstring— The background color value. -
foregroundstring— The foreground color value.
-
-
-
kindstring, possible values:"calendar#colors"— ThetType of the resource. -
updatedstring, format:date-time— The last modification time of the color palette.
Example:
{
"kind": "\"calendar#colors\"",
"updated": "2012-02-14T00:00:00Z",
"calendar": [
{
"color_id": "\"1\"",
"value": {
"foreground": "\"#FD3D4A\"",
"background": "\"#F7F9FA\""
}
}
],
"event": [
{
"color_id": "\"1\"",
"value": {
"foreground": "\"#FD3D4A\"",
"background": "\"#F7F9FA\""
}
}
]
}
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
List events on the specified calendar
- Method:
GET - Path:
/calendars/{calId}/events - Tags: events
Returns events on the specified calendar.
Scopes: calendar:read:admin,calendar:read
Granular Scopes: calendar:read:list_events,calendar:read:list_events:admin
Rate Limit Label: MEDIUM
Responses
Status: 200 If successful, this method returns a response body with the following structure:
Content-Type: application/json
-
accessRolestring, possible values:"none", "freeBusyReader", "reader", "writer", "owner"— **Read-only** The user's access role for this calendar. -
defaultRemindersarray— The default reminders on the calendar for the authenticated user.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
descriptionobject— **Read-only** The description of the calendar. -
etagstring— The ETag of the collection. -
itemsarray— The list of events on the calendar.Items:
-
end(required)object— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). We require a time zone offset unless you explicitly specify it in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events we require this field. It specifies the time zone used to expand the recurrence. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
start(required)object— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which there is a specified time. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events wwe require this field. It specifies the time zone used to expand the recurrence. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address. -
additionalGuestsinteger— **Optional** The number of additional guests. The default is 0. -
displayNamestring— The attendee's name, if available. -
optionalboolean— **Optional** Whether this is an optional attendee. The default is False. -
resourceboolean— Whether the attendee is a resource. It only sets when someone adds the attendee to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`) -
createdstring— The creation time of the event. -
creatorobject— The creator of the event.-
emailstring— The creator's email address.
-
-
descriptionstring— The description of the event. -
guestsCanInviteOthersboolean— **Optional** Whether attendees other than the organizer can invite others to the event. The default is True. -
guestsCanModifyboolean— **Optional** Whether attendees other than the organizer can modify the event. The default is False. -
guestsCanSeeOtherGuestsboolean— **Optional** Whether attendees other than the organizer can see who the event's attendees are. The default is True. -
idstring— The identifier of the event. -
kindstring— The type of the resource. -
locationstring— The geographic location of the event as free-form text. -
organizerobject— The organizer of the event.-
emailstring— The organizer's email address.
-
-
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring eventItems:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
updatedstring— The last modification time of the event. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
-
-
kindstring— The type of the collection ("calendar#events"). -
nextPageTokenstring— The token to access the next page of this result. -
nextSyncTokenstring -
summarystring— **Read-only** The title of the calendar. -
timeZonestring— **Read-only** The time zone of the calendar. -
updatedstring, format:date-time— The last modification time of the calendar (as a RFC3339 timestamp). Read-only.
Example:
{
"kind": "calendar#events",
"etag": "\"00000000000000000000\"",
"summary": "calendar summary",
"description": "calendar description",
"updated": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles",
"accessRole": "owner",
"defaultReminders": [
{
"method": "email",
"minutes": 5
}
],
"nextPageToken": "ffffffffa8b32bff_te7ldipj31fqfo3mw3jjzgz6c0!",
"items": [
{
"start": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default",
"id": "0lyk1qjjd8t8thnf5y1f02a6c0",
"created": "2020-01-01T00:00:00Z",
"creator": {
"email": "mark.joe@zoom.com"
},
"organizer": {
"email": "mark.joe@zoom.com"
},
"kind": "calendar#event",
"updated": "2020-01-01T00:00:00Z"
}
],
"nextSyncToken": "The next page token retrieves events changed after returning this result. This system omits it when you add the `nextPageToken`. Users need to retrieve all pages of result before getting the `nextSyncToken`."
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Insert a new event to the specified calendar
- Method:
POST - Path:
/calendars/{calId}/events - Tags: events
Creates an event.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:write:event,calendar:write:event:admin
Rate Limit Label: HEAVY
Request Body
Content-Type: application/json
-
end(required)object— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
start(required)object— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address. -
additionalGuestsinteger— The number of additional guests. Optional. The default is 0. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. Optional. The default is False. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (`use color.get`). -
descriptionstring— The description of the event. -
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. Optional. The default is True. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. Optional. The default is False. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. -
locationstring— The geographic location of the event as free-form text. -
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method that this reminder uses. -
minutesinteger— Number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"start": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default"
}
Responses
Status: 200 If successful, this method returns an events resource in the response body.
Content-Type: application/json
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address -
additionalGuestsinteger— The number of additional guests. Optional. The default is 0. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. Optional. The default is False. -
organizerboolean— Whether this is the organizer of this event. Optional. The default is False. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status. -
selfboolean— Whether this is the attendee sending this request. Optional. The default is False.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`) -
createdstring— The creation time of the event. -
creatorobject— The creator of the event.-
emailstring— The creator's email address.
-
-
descriptionstring— Description of the event. -
endobject— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. Optional. The default is True. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. Optional. The default is False. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. -
idstring— The identifier of the event. -
kindstring— The type of resource. -
locationstring— The geographic location of the event as free-form text. -
organizerobject— The organizer of the event.-
emailstring— The organizer's email address.
-
-
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method that this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
startobject— The (inclusive) start time of the event. For a recurring event, this field is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
updatedstring— The last modification time of the event. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"start": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"organizer": false,
"email": "mark.joe@zoom.com",
"optional": false,
"self": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default",
"id": "0lyk1qjjd8t8thnf5y1f02a6c0",
"created": "2020-01-01T00:00:00Z",
"creator": {
"email": "mark.joe@zoom.com"
},
"organizer": {
"email": "mark.joe@zoom.com"
},
"kind": "calendar#event",
"updated": "2020-01-01T00:00:00Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Import event to the specified calendar
- Method:
POST - Path:
/calendars/{calId}/events/import - Tags: events
Imports an event. This operation adds a private copy of an existing event to a calendar.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:write:import_event,calendar:write:import_event:admin
Rate Limit Label: HEAVY
Request Body
Content-Type: application/json
-
end(required)object— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
start(required)object— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address. -
additionalGuestsinteger— The number of additional guests. Optional. The default is 0. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. Optional. The default is false. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`). -
descriptionstring— Description of the event. -
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. Optional. The default is True. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. Optional. The default is False. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. -
locationstring— The geographic location of the event as free-form text. -
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not set, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method that this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"start": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default"
}
Responses
Status: 200 If successful, this method returns an Events resource in the response body.
Content-Type: application/json
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address -
additionalGuestsinteger— The number of additional guests. Optional. The default is 0. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. Optional. The default is False. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`). -
createdstring— The creation time of the event. -
creatorobject— The creator of the event.-
emailstring— The creator's email address.
-
-
descriptionstring— Description of the event. -
endobject— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. Optional. The default is True. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. Optional. The default is False. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. -
idstring— The identifier of the event. -
kindstring— The type of the resource. -
locationstring— The geographic location of the event as free-form text. -
organizerobject— The organizer of the event.-
emailstring— The organizer's email address.
-
-
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method that this reminder uses/ -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
startobject— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
updatedstring— The last modification time of the event. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"start": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default",
"id": "0lyk1qjjd8t8thnf5y1f02a6c0",
"created": "2020-01-01T00:00:00Z",
"creator": {
"email": "mark.joe@zoom.com"
},
"organizer": {
"email": "mark.joe@zoom.com"
},
"kind": "calendar#event",
"updated": "2020-01-01T00:00:00Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Quick add an event to the specified calendar
- Method:
POST - Path:
/calendars/{calId}/events/quickAdd - Tags: events
Creates an event based on a simple text string.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:write:quick_add_event,calendar:write:quick_add_event:admin
Rate Limit Label: HEAVY
Request Body
Content-Type: undefined
Example:
{}
Responses
Status: 200 If successful, this method returns an Events resource in the response body.
Content-Type: application/json
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address. -
additionalGuestsinteger— The number of additional guests. Optional. The default is 0. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. Optional. The default is False. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`). -
createdstring— The creation time of the event. -
creatorobject— The creator of the event.-
emailstring— The creator's email address.
-
-
descriptionstring— The description of the event. -
endobject— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. Optional. The default is True. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. Optional. The default is False. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. -
idstring— The identifier of the event. -
kindstring— The type of the resource. -
locationstring— The geographic location of the event as free-form text. -
organizerobject— The organizer of the event.-
emailstring— The organizer's email address
-
-
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this lists the reminders specific to the event. If not it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method that this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
startobject— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
updatedstring— The last modification time of the event. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"start": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default",
"id": "0lyk1qjjd8t8thnf5y1f02a6c0",
"created": "2020-01-01T00:00:00Z",
"creator": {
"email": "mark.joe@zoom.com"
},
"organizer": {
"email": "mark.joe@zoom.com"
},
"kind": "calendar#event",
"updated": "2020-01-01T00:00:00Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Get the specified event on the specified calendar
- Method:
GET - Path:
/calendars/{calId}/events/{eventId} - Tags: events
Returns a Zcalendar event.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:event,calendar:read:event:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns an event's resource in the response body.
Content-Type: application/json
-
attendeesarray— The attendees of the event.Items:
-
additionalGuestsinteger— The number of additional guests. Optional. The default is 0. -
displayNamestring— The attendee's name, if available. -
emailstring, format:email— The attendee's email address -
optionalboolean— Whether this is an optional attendee. Optional. The default is False. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`). -
createdstring— The creation time of the event. -
creatorobject— The creator of the event.-
emailstring— The creator's email address.
-
-
descriptionstring— The description of the event. -
endobject— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
-
-
etagstring— The Etag of the resource. -
eventTypestring— The type of the target event. -
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. Optional. The default is True. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. Optional. The default is False. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. -
iCalUIDstring— The iCalendar UID of the event. -
idstring— The identifier of the event. -
kindstring— The type of the resource. -
locationstring— The geographic location of the event as free-form text. -
organizerobject— The organizer of the event.-
emailstring— The organizer's email address
-
-
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
sequenceinteger— The sequence number of the target event. -
startobject— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events, this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start and end.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
updatedstring— The last modification time of the event. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"created": "2020-01-01T00:00:00Z",
"creator": {
"email": "mark.joe@zoom.com"
},
"description": "event description",
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"etag": "\"123456789\"",
"eventType": "default",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"iCalUID": "abc@zoom.us",
"id": "0lyk1qjjd8t8thnf5y1f02a6c0",
"kind": "calendar#event",
"location": "San Jose",
"organizer": {
"email": "mark.joe@zoom.com"
},
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"sequence": 1,
"start": {
"timeZone": "America/Los_Angeles",
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z"
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default",
"updated": "2020-01-01T00:00:00Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Delete an existing event from the specified calendar
- Method:
DELETE - Path:
/calendars/{calId}/events/{eventId} - Tags: events
Deletes an event.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:delete:event,calendar:delete:event:admin
Rate Limit Label: HEAVY
Responses
Status: 204 If successful, the specified event is deleted and this method returns an empty response body.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Update the specified event on the specified calendar
- Method:
PATCH - Path:
/calendars/{calId}/events/{eventId} - Tags: events
Updates an event.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:update:event,calendar:update:event:admin
Rate Limit Label: HEAVY
Request Body
Content-Type: application/json
-
end(required)object— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. -
start(required)object— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance. -
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address. -
additionalGuestsinteger— The number of additional guests. The default is 0. Optional. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. The default is False. Optional. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`). -
descriptionstring— The description of the event. -
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. The default is True. Optional. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. The default is False. Optional. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. The default is True. Optional. -
locationstring— The geographic location of the event as free-form text. -
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"start": {
"date": "2020-01-01",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default"
}
Responses
Status: 200 If successful, this method returns an event's resource in the response body.
Content-Type: application/json
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address. -
additionalGuestsinteger— The number of additional guests. The default is 0. Optional. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. The default is False. Optional. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`). -
createdstring— The creation time of the event. -
creatorobject— The creator of the event.-
emailstring— The creator's email address.
-
-
descriptionstring— The description of the event. -
endobject— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. The default is True. Optional. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. The default is False. Optional. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. The default is True. Optional. -
idstring— The identifier of the event. -
kindstring— The type of resource. -
locationstring— The geographic location of the event as free-form text. -
organizerobject— The organizer of the event.-
emailstring— The organizer's email address.
-
-
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
startobject— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
updatedstring— The last modification time of the event. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"start": {
"dateTime": "2020-01-01T00:00:00Z",
"date": "2020-01-01",
"timeZone": "America/Los_Angeles"
},
"end": {
"dateTime": "2020-01-01T01:00:00Z",
"date": "2020-01-02",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default",
"id": "0lyk1qjjd8t8thnf5y1f02a6c0",
"created": "2020-01-01T00:00:00Z",
"creator": {
"email": "mark.joe@zoom.com"
},
"organizer": {
"email": "mark.joe@zoom.com"
},
"kind": "calendar#event",
"updated": "2020-01-01T00:00:00Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
List all instances of the specified recurring event
- Method:
GET - Path:
/calendars/{calId}/events/{eventId}/instances - Tags: events
Returns instances of the specified recurring event.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:instance_event,calendar:read:instance_event:admin
Rate Limit Label: MEDIUM
Responses
Status: 200 If successful, this method returns a response body with the following structure:
Content-Type: application/json
-
accessRolestring, possible values:"none", "freeBusyReader", "reader", "writer", "owner"— The user's access role for this calendar. Read-only. -
defaultRemindersarray— The default reminders on the calendar for the authenticated user.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
descriptionstring— The description of the calendar. Read-only. -
etagstring— The ETag of the collection. -
itemsarray— The list of instances of the event on the calendar.Items:
-
end(required)object— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
-
-
start(required)object— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
-
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address. -
additionalGuestsinteger— The number of additional guests. Optional. The default is 0. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. Optional. The default is False. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use color.get) -
createdstring— The creation time of the event. -
creatorobject— The creator of the event.-
emailstring— The creator's email address.
-
-
descriptionstring— The description of the event. -
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. Optional. The default is True. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. Optional. The default is False. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. -
idstring— The identifier of the event. -
kindstring— The type of the resource. -
locationstring— The geographic location of the event as free-form text. -
organizerobject— The organizer of the event.-
emailstring— The organizer's email address
-
-
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— Information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method this reminder uses. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
updatedstring— The last modification time of the event. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
-
-
kindstring— The type of the collection ("calendar#events"). -
nextPageTokenstring— The token used to access the next page of this result. -
summarystring— The title of the calendar. Read-only. -
timeZonestring— The time zone of the calendar. Read-only. -
updatedstring, format:date-time— The last modification time of the calendar (as a RFC3339 timestamp). Read-only.
Example:
{
"kind": "calendar#events",
"etag": "\"00000000000000000000\"",
"summary": "calendar summary",
"description": "calendar description",
"updated": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles",
"accessRole": "owner",
"defaultReminders": [
{
"method": "email",
"minutes": 5
}
],
"nextPageToken": "ffffffffa8b32bff_te7ldipj31fqfo3mw3jjzgz6c0!",
"items": [
{
"start": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default",
"id": "0lyk1qjjd8t8thnf5y1f02a6c0",
"created": "2020-01-01T00:00:00Z",
"creator": {
"email": "mark.joe@zoom.com"
},
"organizer": {
"email": "mark.joe@zoom.com"
},
"kind": "calendar#event",
"updated": "2020-01-01T00:00:00Z"
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Move the specified event from a calendar to another specified calendar
- Method:
POST - Path:
/calendars/{calId}/events/{eventId}/move - Tags: events
Moves an event to another calendar, such as changing an event's organizer.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:write:move_event,calendar:write:move_event:admin
Rate Limit Label: HEAVY
Responses
Status: 200 If successful, this method returns an Events resource in the response body.
Content-Type: application/json
-
attendeesarray— The attendees of the event.Items:
-
email(required)string, format:email— The attendee's email address -
additionalGuestsinteger— The number of additional guests. Optional. The default is 0. -
displayNamestring— The attendee's name, if available. -
optionalboolean— Whether this is an optional attendee. Optional. The default is False. -
resourceboolean— Whether the attendee is a resource. It can only be set when the attendee is added to the event for the first time. -
responseStatusstring, possible values:"needsAction", "declined", "tentative", "accepted"— The attendee's response status.
-
-
colorIdstring— The color of the event. This is an ID referring to an entry in the event section of the colors definition (use `color.get`). -
createdstring— The creation time of the event. -
creatorobject— The creator of the event.-
emailstring— The creator's email address.
-
-
descriptionstring— Description of the event. -
endobject— The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
guestsCanInviteOthersboolean— Whether attendees other than the organizer can invite others to the event. Optional. The default is True. -
guestsCanModifyboolean— Whether attendees other than the organizer can modify the event. Optional. The default is False. -
guestsCanSeeOtherGuestsboolean— Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. -
idstring— The identifier of the event. -
kindstring— The type of the resource. -
locationstring— The geographic location of the event as free-form text. -
organizerobject— The organizer of the event.-
emailstring— The organizer's email address.
-
-
recurrencearray— The list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event.Items:
string— A recurring rule. -
remindersobject— The information about the event's reminders for the authenticated user.-
overridesarray— If the event doesn't use the default reminders, this field lists the reminders specific to the event. If not, it indicates that no reminders are set for this event.Items:
-
methodstring, possible values:"email", "popup"— The method used by this reminder. -
minutesinteger— The number of minutes before the start of the event when the reminder should trigger.
-
-
useDefaultboolean— Whether the default reminders of the calendar apply to the event.
-
-
startobject— The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.-
datestring, format:date— The date, in the format "yyyy-mm-dd", if this is an all-day event. -
dateTimestring, format:date-time— The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in `timeZone`. -
timeZonestring— The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event's start or end.
-
-
statusstring, possible values:"confirmed", "tentative", "cancelled"— The status of the event. -
summarystring— The title of the event. -
transparencystring, possible values:"opaque", "transparent"— Whether the event blocks time on the calendar. -
updatedstring— The last modification time of the event. -
visibilitystring, possible values:"default", "public", "private"— The visibility of the event.
Example:
{
"start": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"end": {
"date": "2020-01-01",
"dateTime": "2020-01-01T00:00:00Z",
"timeZone": "America/Los_Angeles"
},
"attendees": [
{
"additionalGuests": 1,
"displayName": "Mark Joe",
"email": "mark.joe@zoom.com",
"optional": false,
"resource": false,
"responseStatus": "needsAction"
}
],
"colorId": "5",
"description": "event description",
"guestsCanInviteOthers": true,
"guestsCanModify": false,
"guestsCanSeeOtherGuests": true,
"location": "San Jose",
"recurrence": [
"RRULE:FREQ=DAILY;COUNT=2;INTERVAL=3"
],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 5
}
]
},
"status": "confirmed",
"summary": "event title",
"transparency": "transparent",
"visibility": "default",
"id": "0lyk1qjjd8t8thnf5y1f02a6c0",
"created": "2020-01-01T00:00:00Z",
"creator": {
"email": "mark.joe@zoom.com"
},
"organizer": {
"email": "mark.joe@zoom.com"
},
"kind": "calendar#event",
"updated": "2020-01-01T00:00:00Z"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 403 **HTTP Status Code:** `403` <br> Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Query freebusy information for a set of calendars
- Method:
POST - Path:
/calendars/freeBusy - Tags: freebusy
Returns free or busy information for a set of calendars.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:list_events,calendar:read:list_events:admin
Rate Limit Label: MEDIUM
Request Body
Content-Type: application/json
-
timeMax(required)string, format:date-time— The end of the interval for the query. -
timeMin(required)string, format:date-time— The start of the interval for the query. -
calendarExpansionMaxinteger— The maximum number of calendars for which FreeBusy information is to be provided. -
groupExpansionMaxinteger— The maximum number of calendar identifiers to be provided for a single group. -
itemsarray— The list of calendars and/or groups to query.Items:
-
idstring, format:email— The identifier of a calendar or a group.
-
-
timeZonestring— The time zone in the response.
Example:
{
"timeZone": "America/Los_Angeles",
"timeMin": "2024-01-01T00:00:00Z",
"timeMax": "2024-02-01T00:00:00Z",
"calendarExpansionMax": 50,
"groupExpansionMax": 100,
"items": [
{
"id": "abc.def@zoom.com"
}
]
}
Responses
Status: 200 If successful, this method returns a response body with the following structure:
Content-Type: application/json
-
kind(required)string, possible values:"calendar#freeBusy"— The type of the resource. -
timeMax(required)string, format:date-time— The end of the interval. -
timeMin(required)string, format:date-time— The start of the interval. -
calendarsarray— The expansion of calendars.Items:
-
busyarray— The list of time ranges during which this calendar should be regarded as busy.Items:
-
endstring— The (exclusive) end of the time period. -
startstring— The (inclusive) start of the time period.
-
-
errorsarray— The optional errors.Items:
-
domainstring— The domain, or broad category, of the error. -
reasonstring— The specific reason for the error.
-
-
idstring— The calendar identifier.
-
-
groupsarray— The expansion of groups.Items:
-
calendarsarray— The list of calendars included in the group.Items:
string -
errorsobject-
domainstring— The domain, or broad category, of the error. -
reasonstring— The specific reason for the error.
-
-
idstring— The group identifier.
-
Example:
{
"kind": "calendar#freeBusy",
"timeMin": "2024-01-01T00:00:00Z",
"timeMax": "2024-02-01T00:00:00Z",
"calendars": [
{
"id": "abc.def@zoom.com",
"errors": [
{
"domain": "global",
"reason": "notFound"
}
],
"busy": [
{
"start": "2024-01-20T17:00:00Z",
"end": "2024-01-20T18:00:00Z"
}
]
}
],
"groups": [
{
"id": "abc.group@zoom.com",
"errors": {
"domain": "global",
"reason": "notFound"
},
"calendars": [
""
]
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
List all user calendar settings of the authenticated user
- Method:
GET - Path:
/calendars/users/{userIdentifier}/settings - Tags: settings
Returns all user settings for the authenticated user.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:list_settings
Rate Limit Label: MEDIUM
Responses
Status: 200 If successful, this method returns a response body with the following structure:
Content-Type: application/json
-
etagstring— The Etag of the collection. -
itemsarray— The list of user settings.Items:
-
idstring— The ID of the user setting. -
valuestring— The value of the user setting. The format of the value depends on the ID of the setting.
-
-
kindstring— The type of collection -
nextPageTokenstring— The token that accesses the next page of this result.
Example:
{
"kind": "calendar#settings",
"etag": "\"00000000000000000000\"",
"nextPageToken": "displaySecondaryTimezone",
"items": [
{
"id": "autoAddZoomMeeting",
"value": "false"
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Get the specified user calendar settings of the authenticated user
- Method:
GET - Path:
/calendars/users/{userIdentifier}/settings/{settingId} - Tags: settings
Returns a single setting.
Scopes: calendar:read,calendar:read:admin
Granular Scopes: calendar:read:setting
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns a setting's resource in the response body.
Content-Type: application/json
One of:
-
id(required)string, possible values:"autoAddZoomMeeting", "hideInvitations", "hideInvitationsFromOthers", "hideWeekends", "remindOnRespondedEventsOnly", "showDeclinedEvents", "useKeyboardShortcuts", "format24HourTime", "displaySecondaryTimezone" -
value(required)string, possible values:"true", "false"— The allowed values are `true` or `false`.
-
id(required)string, possible values:"defaultEventLength" -
value(required)string— The allowed values are positive numbers.
-
id(required)string, possible values:"defaultGuestPermissions"— The combinations of "Modify the event", "Invite others" and "See list of attendees" in an event. -
value(required)string, possible values:"0", "1", "2", "3", "7"— The allowed values are 0, 1, 2, 3, and 7. These values respesent as bitmap with three digits, from left to right are "Modify the event", "Invite others" and "See list of attendees."
-
id(required)string, possible values:"locale", "timezone" -
value(required)string
-
id(required)string, possible values:"secondaryTimezone" -
value(required)string
-
id(required)string, possible values:"weekStart"— Whether the week should start on Sunday (0), Monday (1), or Saturday (6). -
value(required)string, possible values:"0", "1", "6"— The allowed values are 0, 1, and 6.
-
id(required)string, possible values:"defaultAddOnType"— The default `addon` type in an event: 1 as Zoom meeting, 2 as phone, and 3 as offline. -
value(required)string, possible values:"1", "2", "3"— The allowed values are 1, 2, and 3.
-
id(required)string, possible values:"dateFieldOrder"— What should the order of day (D), month (M) and year (Y) be when displaying dates. -
value(required)string, possible values:"MDY", "DMY", "YMD"— The allowed values are ”MDY”, “DMY”,and “YMD”.
-
id(required)string, possible values:"dateViewSelected"— The view in the calendar: D as day, W as week, M as month, Y as year, A as schedule, X as 4 days, WW as work week, and N as no fix time. -
value(required)string, possible values:"D", "W", "M", "Y", "A", "X", "WW", "N"— The allowed values are D, W, M, Y, A, X, WW, and N.
Example:
{
"id": "autoAddZoomMeeting",
"value": "false"
}
Status: 404 **HTTP Status Code:** `404` <br> Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error
Patch the specified user calendar settings of the authenticated user
- Method:
PATCH - Path:
/calendars/users/{userIdentifier}/settings/{settingId} - Tags: settings
Patches a single setting.
Scopes: calendar:write,calendar:write:admin
Granular Scopes: calendar:update:setting,calendar:update:setting:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
id(required)string— The target setting ID to patch. -
value(required)string— The target setting value to patch.
Example:
{
"id": "timezone",
"value": "Asia/Shanghai"
}
Responses
Status: 200
Content-Type: application/json
-
idstring— The patched setting ID. -
valuestring— The patched setting value.
Example:
{
"id": "timezone",
"value": "Asia/Shanghai"
}