Scheduler
- OpenAPI Version:
3.1.1 - API Version:
2
The Scheduler APIs let you programmatically interact with Zoom Scheduler features. They allow you to schedule, manage, and retrieve details about meetings, webinars, and other events on the Zoom platform. With powerful tools for integration, these APIs streamline event management and automate workflows in external applications.
Servers
- URL:
https://api.zoom.us/v2
Operations
get routing response
- Method:
GET - Path:
/scheduler/routing/forms/{formId}/response/{responseId} - Tags: Routing Forms
Returns the response submitted for a routing form.
Scopes: scheduler:read,scheduler:read:admin
Granular Scopes: scheduler:read:routing,scheduler:read:routing:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If succeeded, this method returns the routing response details in the response body. The response body will include basic routing form information, the questions in the form and the corresponding awnsers, and the final results after submitting the response, which could be one of the following: a URL, a text or a booking link.
Content-Type: application/json
-
bookedboolean— Indicating whether a final booking was made after submitting the response -
booking_linkstring— The booking link that the returned as the result of submitting the form. It could be empty because result type could be URL or text. -
created_timestring— The time that the response was submitted. -
creator_emailstring— The creator of the response. -
form_idstring— The form ID. -
questions_and_answersarray— The questions and answers in the response.Items:
-
answersarray— This field could be text, email address, single choice or multiple choices, depending on questions types. All values are stored as string.Items:
string -
question_contentstring— The question content asked in the form. -
question_idstring— The question ID.
-
-
result_typestring, possible values:"event", "text", "url"— The type of result returned after submitting the response. -
result_valuestring— The value of result returned after submitting this response. Itcould be a booking schedule or a URL or a text.
Example:
{
"booked": false,
"booking_link": "https://xyz.com/d/0bedzp07/roundrobin",
"created_time": "2025-05-01T16:49:55.801Z",
"creator_email": "abc@def.com",
"form_id": "s91lg8lb3mhuj4itgtjnd3f440",
"questions_and_answers": [
{
"answers": [
"50"
],
"question_id": "17y6gve91og6ftr8qo86vlfz70",
"question_content": "such as \"hobbit\", \"email\", \"age\""
}
],
"result_type": "could be one of \"event\", \"text\" or \"url\"",
"result_value": "{\"appointmentId\":\"h7z59a55xmkamethclg2huhja0\",\"user\":\"d/0bedzp07\"}"
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized
Status: 404 **HTTP Status Code:** `404` <br> Not Found NotFound
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error InternalErr
list account routing response
- Method:
GET - Path:
/scheduler/routing/responses - Tags: Routing Forms
Returns a list of routing responses across all routing forms under the account.
Scopes: scheduler:read,scheduler:read:admin
Granular Scopes: scheduler:read:routing,scheduler:read:routing:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If succeeded, this method returns a list of routing responses across all routing forms under the account.
Content-Type: application/json
-
next_page_tokenstring— The token to retrieve the next page of results. If empty, no more results are available. -
responsesarray— The list of routing responses across all routing forms under the account.Items:
-
bookedboolean— Indicating whether a final booking was made after submitting the response. -
booking_linkstring— The booking link that the returned as the result of submitting the form. It could be empty because result type could be URL or text. -
created_timestring— The time that the response was submitted. -
creator_emailstring— The creator of the response. -
form_idstring— The routing form ID that this response belongs to. -
form_namestring— The name of routing form. -
questions_and_answersarray— The questions and answers in the response.Items:
-
answersarray— This field could be text, email address, single choice or multiple choices, depending on questions types. All values are stored as string.Items:
string -
question_contentstring— The question content asked in the form. -
question_idstring— The question ID.
-
-
response_idstring— The response ID. -
result_typestring, possible values:"event", "text", "url"— The type of result returned after submitting the response. -
result_valuestring— The value of result returned after submitting this response. It could be a booking schedule or a URL or a text.
-
Example:
{
"responses": [
{
"booked": false,
"booking_link": "https://xyz.com/d/0bedzp07/roundrobin",
"created_time": "2025-05-01T16:49:55.801Z",
"creator_email": "abc@def.com",
"form_id": "9eafbbgl5lfsmw11wh8vcxoqc0",
"response_id": "s91lg8lb3mhuj4itgtjnd3f440",
"questions_and_answers": [
{
"answers": [
"50"
],
"question_id": "17y6gve91og6ftr8qo86vlfz70",
"question_content": "such as \"hobbit\", \"email\", \"age\""
}
],
"result_type": "event",
"result_value": "{\"appointmentId\":\"h7z59a55xmkamethclg2huhja0\",\"user\":\"d/0bedzp07\"}",
"form_name": "Height information statistics"
}
],
"next_page_token": "MTc0NjEyMzQ1NjAwMA=="
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized
Status: 404 **HTTP Status Code:** `404` <br> Not Found NotFound
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error InternalErr
Report analytics
- Method:
GET - Path:
/scheduler/analytics - Tags: analytics
Generates the scheduler analytics report.
Scopes: scheduler:read,scheduler:read:admin
Granular Scopes: scheduler:read:analytics,scheduler:read:analytics:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns the scheduler analytics or the user ID or account ID provided.
Content-Type: application/json
-
event_distribution_by_durationarray— The event distribution by duration.Items:
-
last_n_daysobject— The stats of the last N days.-
all_host_availableinteger— The number of "all host available" type schedules. -
any_host_availableinteger— The number of "any host available" type schedules. -
meeting_pollinteger— The number of "meeting poll" type schedules. -
one_off_meetinginteger— The number of "one-off" type schedules. -
one_to_manyinteger— The number of "one to many" type schedules. -
one_to_oneinteger— The number of "one to one" type schedules. -
scheduled_events_canceledinteger— The number of cancelled scheduled events. -
scheduled_events_completedinteger— The number of completed scheduled events. -
scheduled_events_createdinteger— The number of created scheduled events. -
scheduled_events_rescheduledinteger— The number of rescheduled scheduled events. -
schedules_canceledinteger— The number of cancelled schedules. -
schedules_createdinteger— The number of created schedules.
-
-
popular_schedulesarray— The most popular schedules in the given time range.Items:
-
popular_time_of_dayarray— The distribution of number of events scheduled in a day.Items:
-
popular_time_of_weekarray— The distribution of number of events scheduled in a week.Items:
-
previous_periodobject— the stats of the previous period with a length of also N. Last N day is counting from today and backtrace N days. Previous period is counting from N days ago and back tracking another N days-
all_host_availableinteger— The number of "all host available" type schedules. -
any_host_availableinteger— The number of "any host available" type schedules. -
meeting_pollinteger— The number of "meeting poll" type schedules. -
one_off_meetinginteger— The number of "one-off" type schedules. -
one_to_manyinteger— The number of "one to many" type schedules. -
one_to_oneinteger— The number of "one to one" type schedules. -
scheduled_events_canceledinteger— The number of cancelled scheduled events. -
scheduled_events_completedinteger— The number of completed scheduled events. -
scheduled_events_createdinteger— The number of created scheduled events. -
scheduled_events_rescheduledinteger— The number of rescheduled scheduled events. -
schedules_canceledinteger— The number of cancelled schedules. -
schedules_createdinteger— The number of created schedules.
-
-
users_with_least_eventsarray— The users with the least scheduled events.Items:
-
users_with_most_eventsarray— The users with the most scheduled events.Items:
Example:
{
"event_distribution_by_duration": [
{
"Event distribution by duration": [
{
"30": 65
},
{
"45": 15
},
{
"60": 35
}
]
}
],
"last_n_days": "\"last_n_days\":{{\"created_scheduled_events\":65},{\"completed_scheduled_events\":34},{\"created_schedules\":20},{\"cancelled_scheduled_events\":14},{\"rescheduled_scheduled_events\":8},{\"cancelled_schedules\":3},{\"one_to_one\":10},{\"any_host_available\":5},{\"one_off_meeting\":2},{\"all_host_available\":1},{\"meeting_poll\":1},{\"one_to_many\":1}}",
"popular_schedules": {
"Popular schedules": [
{
"Test 1-1": 5
},
{
"Test 1-to-many": 4
},
{
"Test any host available": 3
}
]
},
"popular_time_of_week": {
"Popular times (day of week)": [
{
"Fri": 20
},
{
"Wed": 16
},
{
"Thu": 11
},
{
"Tue": 8
},
{
"Mon": 6
},
{
"Sat": 3
},
{
"Sun": 1
}
]
},
"popular_time_of_day": {
"Popular times (hour of day)": [
{
"11": 16
},
{
"12": 6
},
{
"16": 3
}
]
},
"previous_period": "\"previous_period\":{{\"created_scheduled_events\":65},{\"completed_scheduled_events\":34},{\"created_schedules\":20},{\"cancelled_scheduled_events\":14},{\"rescheduled_scheduled_events\":8},{\"cancelled_schedules\":3},{\"one_to_one\":10},{\"any_host_available\":5},{\"one_off_meeting\":2},{\"all_host_available\":1},{\"meeting_poll\":1},{\"one_to_many\":1}}",
"users_with_least_events": {
"Users with the least events": [
{
"Dan Smith": 5
},
{
"Allan Swift": 10
}
]
},
"users_with_most_events": {
"Users with the most events": [
{
"Dan Smith": 65
},
{
"Allan Swift": 20
}
]
}
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> invalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> notFound <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `409` <br> conflict <br>
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 **Error Code:** `500` <br> internalErr <br>
List availability
- Method:
GET - Path:
/scheduler/availability - Tags: availability
Returns the availability schedules of the given user.
Scopes: scheduler:read:admin,scheduler:read
Granular Scopes: scheduler:read:list_availability,scheduler:read:list_availability:admin
Rate Limit Label: LIGHT
Responses
Status: 200 Successful availability of the schedule query result of given user.
Content-Type: application/json
-
itemsarray— array[User Availability Schedule]Items:
-
availability_idstring -
defaultboolean -
namestring -
ownerstring— The owner's ID. -
segments_recurrenceobject-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
time_zonestring
-
-
next_page_tokenstring— The token for a later to retrieve only the entries that have changed since this result was returned. It's omitted if further results are available, in which case `nextPageToken` is provided.
Example:
{
"next_page_token": "Cj8KLwotCgsI3ujvqgYQgIXUGxIeChwKGjBzNzAyZWVtbjBzOTdlZXFhNXE1NWg4ZWJtGgwIzIPVrAYQwM3WrAPAPgE=",
"items": [
{
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"default": true,
"name": "The working hours.",
"owner": "easonfsxsysks3lgchitiw@scheudler.zoom.us",
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai"
}
]
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> notFound <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `409` <br> conflict <br>
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 **Error Code:** `500` <br> internalErr <br>
Insert availability
- Method:
POST - Path:
/scheduler/availability - Tags: availability
Inserts a user availability schedule.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:write:availability,scheduler:write:availability:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
name(required)string— The name of this availability schedule. -
time_zone(required)string— The timezone for which this availability schedule originates. -
availability_idstring— The unique ID of availability. -
defaultboolean— The default availability schedule in use. -
ownerstring— the owner's ID. -
segmentsarray— The date on which the rule needs to be applied outside of the availability rule.Items:
-
end(required)string— This field indicates the end date to override. -
start(required)string— This field indicates the start date to override.
-
-
segments_recurrenceobject— The rules of this availability schedule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
Example:
{
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"default": true,
"owner": "easonfsxsysks3lgchitiw@scheudler.zoom.us",
"name": "Working hours",
"time_zone": "Asia/Shanghai",
"segments": [
{
"end": "2024-01-08T09:00:00Z",
"start": "2024-01-07T09:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
}
}
Responses
Status: 201 If successful, this method returns a availability resource in the response body.
Content-Type: application/json
-
availability_idstring— The unique ID of the availability. -
defaultboolean— The default availability schedule in use. -
namestring— The name of this availability schedule. -
ownerstring— An URI reference to a user. -
segmentsarray— The date on which the rule needs to be applied outside of the availability rule.Items:
-
segments_recurrenceobject— The rules of this availability schedule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
time_zonestring— The timezone for which this availability schedule originates.
Example:
{
"default": false,
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"name": "Working hours",
"owner": "easonfsxsysks3lgchitiw",
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"segments": [
{}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> invalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> unauthorized <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `409` <br> conflict <br>
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 **Error Code:** `500` <br> internalErr <br>
Get availability
- Method:
GET - Path:
/scheduler/availability/{availabilityId} - Tags: availability
Returns the availability schedule of the given UUID.
Scopes: scheduler:read:admin,scheduler:read
Granular Scopes: scheduler:read:availability,scheduler:read:availability:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns an availability resource in the response body.
Content-Type: application/json
-
availability_idstring— The unique ID of availability. -
defaultboolean— The default availability schedule in use. -
namestring— The name of this availability schedule. -
ownerstring— The owner's ID. -
segments_recurrenceobject— The rules of this availability schedule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
time_zonestring— The timezone for which this availability schedule originates.
Example:
{
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"default": true,
"name": "Working hours",
"owner": "easonfsxsysks3lgchitiw@scheudler.zoom.us",
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> invalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> notFound <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `409` <br> conflict <br>
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 **Error Code:** `500` <br> internalErr <br>
Delete availability
- Method:
DELETE - Path:
/scheduler/availability/{availabilityId} - Tags: availability
Removes a user's availability.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:delete:availability,scheduler:delete:availability:admin
Rate Limit Label: LIGHT
Responses
Status: 204 If successful, this method returns an empty response body.
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> notFound <br>
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 **Error Code:** `500` <br> internalErr <br>
Patch availability
- Method:
PATCH - Path:
/scheduler/availability/{availabilityId} - Tags: availability
Adjusts the availability schedule content of the given UUID.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:update:availability,scheduler:update:availability:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
name(required)string— The name of this availability schedule. -
time_zone(required)string— The timezone for which this availability schedule originates. -
defaultboolean— The default availability schedule in use. -
segmentsarray— The date on which the rule needs to be applied outside of the availability rule.Items:
-
end(required)string— The end date to override. -
start(required)string— The start date to override.
-
-
segments_recurrenceobject— The rules of this availability schedule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
Example:
{
"default": true,
"name": "Working hours",
"time_zone": "Asia/Shanghai",
"segments": [
{
"end": "2024-01-08T09:00:00Z",
"start": "2024-01-07T09:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
}
}
Responses
Status: 204 If successful, this method returns an empty response body.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> invalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> notFound <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `409` <br> conflict <br>
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 **Error Code:** `500` <br> internalErr <br>
List scheduled events
- Method:
GET - Path:
/scheduler/events - Tags: scheduled events
Returns a list of all scheduled events.
Scopes: scheduler:read:admin,scheduler:read
Granular Scopes: scheduler:read:list_scheduled_events,scheduler:read:list_scheduled_events:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns a response body with the following structure:
Content-Type: application/json
-
itemsarray— The event collection.Items:
-
attendeesarray— The attendees of the event.Items:
-
attendee_idstring— The ID of attendee. -
bookerboolean— Whether the attendee is the booker. -
createdstring— This field indicates when the attendee attended this event. -
display_namestring— The attendee's name. -
emailstring— The attendee's email. -
first_namestring— The attendee's first name. -
last_namestring— The attendee's last name. -
no_showboolean— Whether to show events or not. -
time_zonestring— The attendee's time zone.
-
-
descriptionstring— The event's description. -
end_date_timestring— The scheduled event end date time. -
event_idstring— The unique identifier of event. -
event_typestring, possible values:"default", "pending"— This field indicates the type is default(scheduled) or pending event. -
external_locationobject— The meeting details for when users have scheduled appointments. -
guestsarray— The guest's collection.Items:
string— The guest's email. -
locationstring— The information for a custom location. -
meeting_notesstring— The meeting notes of the event. -
schedule_idstring— The unique identifier of schedule. -
start_date_timestring— The scheduled event start date time. -
statusstring, possible values:"confirmed", "cancelled"— The status of event: confirmed or cancelled. -
summarystring— The event's summary. -
tracking_paramsarray— The information to track the source of invitee. This occurs when you add UTM parameters in schedule links.Items:
-
keystring— The UTM parameters in the schedule links. -
labelstring— The scheduler tags that correspond to UTM parameters one by one. -
valuestring— The value of UTM parameters set in schedule links by host.
-
-
updatedstring— The moment the event was updated.
-
-
next_page_tokenstring— The token to access the next page of this result.
Example:
{
"next_page_token": "ffffffff97c5b97f_53slvrhet2n0xkxurl5ybgde40",
"items": [
{
"event_id": "woft7torlatbw8ek24bmit5k60",
"schedule_id": "ygfx661g9x8dwcgeusdqhsplc0_20231220T160000Z",
"attendees": [
{
"booker": true,
"created": "2023-12-21T06:19:23.899Z",
"display_name": "bob",
"email": "abc@zoom.us",
"first_name": "green",
"attendee_id": "z7q0q2962w8iyj87249zbi7t10",
"last_name": "tom",
"time_zone": "Asia/Shanghai",
"no_show": false
}
],
"description": "15 Minute Meeting",
"end_date_time": "2023-12-21T16:30:00+08:00",
"guests": [
"tom@zoom.us"
],
"location": "AAA office",
"start_date_time": "2023-12-21T16:00:00+08:00",
"status": "confirmed",
"summary": "daily meeting",
"updated": "2023-12-21T06:19:28.309Z",
"meeting_notes": "meeting notes",
"event_type": "default",
"external_location": {
"kind": "zoom",
"meeting_id": "94777886776",
"personal_meeting_id": "98656786887",
"meeting_passcode": "958000",
"meeting_description": "Invite you to meeting",
"meeting_join_url": "https://zoom.us/j/7427752805"
},
"tracking_params": [
{
"key": "utm_source",
"label": "UTM_Source",
"value": "zoom"
}
]
}
]
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
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 **Error Code:** `500` <br> InternalErr <br>
Get scheduled events
- Method:
GET - Path:
/scheduler/events/{eventId} - Tags: scheduled events
Returns a scheduled event.
Scopes: scheduler:read:admin,scheduler:read
Granular Scopes: scheduler:read:scheduled_event,scheduler:read:scheduled_event:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns the scheduled event resource in the response body.
Content-Type: application/json
-
attendeesarray— The attendees of the event.Items:
-
attendee_idstring— The ID of attendee. -
bookerboolean— Whether the attendee is the booker. -
createdstring— This field indicates when the attendee attended this event. -
display_namestring— The attendee's name. -
emailstring— The attendee's email. -
first_namestring— The attendee's first name. -
last_namestring— The attendee's last name. -
no_showboolean— Whether or not to show the event. -
time_zonestring— The attendee's time zone.
-
-
descriptionstring— The event's description. -
end_date_timestring— The scheduled event's end date time. -
event_idstring— The unique identifier of event. -
event_typestring, possible values:"default", "pending"— This field indicates whether the type is default(scheduled) or a pending event. -
external_locationobject— The meeting details for when users have scheduled appointments. -
guestsarray— The guest's collection.Items:
string— The guest's email. -
locationstring— The information for a custom location. -
meeting_notesstring— The meeting notes of the event. -
schedule_idstring— The unique identifier of schedule. -
start_date_timestring— The scheduled event's start date time. -
statusstring, possible values:"confirmed", "cancelled"— The status of event: confirmed or cancelled. -
summarystring— The event's summary. -
tracking_paramsarray— The information to track the source of invitee. Only use this setting you add UTM parameters in schedule links.Items:
-
keystring— The UTM parameters in schedule links. -
labelstring— The scheduler tags that correspond to UTM parameters one by one. -
valuestring— The value of UTM parameters set in schedule links by host.
-
-
updatedstring— The moment the event was updated.
Example:
{
"event_id": "woft7torlatbw8ek24bmit5k60",
"schedule_id": "ygfx661g9x8dwcgeusdqhsplc0_20231220T160000Z",
"attendees": [
{
"booker": true,
"created": "2023-12-21T06:19:23.899Z",
"display_name": "bob",
"email": "abc@zoom.us",
"first_name": "green",
"attendee_id": "z7q0q2962w8iyj87249zbi7t10",
"last_name": "tom",
"time_zone": "Asia/Shanghai",
"no_show": false
}
],
"description": "15 Minute Meeting",
"end_date_time": "2023-12-21T16:30:00+08:00",
"guests": [
"tom@zoom.us"
],
"location": "AAA office",
"start_date_time": "2023-12-21T16:00:00+08:00",
"status": "confirmed",
"summary": "daily meeting",
"updated": "2023-12-21T06:19:28.309Z",
"meeting_notes": "meeting notes",
"event_type": "default",
"external_location": {
"kind": "zoom",
"meeting_id": "94777886776",
"personal_meeting_id": "98656786887",
"meeting_passcode": "958000",
"meeting_description": "Invite you to meeting",
"meeting_join_url": "https://zoom.us/j/7427752805"
},
"tracking_params": [
{
"key": "utm_source",
"label": "UTM_Source",
"value": "zoom"
}
]
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> NotFound <br>
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 **Error Code:** `500` <br> InternalErr <br>
Delete scheduled events
- Method:
DELETE - Path:
/scheduler/events/{eventId} - Tags: scheduled events
Deletes a scheduled event.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:delete:scheduled_event,scheduler:delete:scheduled_event:admin
Rate Limit Label: LIGHT
Responses
Status: 204 If successful, this method returns an empty response body.
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> NotFound <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `409` <br> Conflict <br>
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 **Error Code:** `500` <br> IntenralErr <br>
Patch scheduled events
- Method:
PATCH - Path:
/scheduler/events/{eventId} - Tags: scheduled events
Patches a scheduled event.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:update:scheduled_event,scheduler:update:scheduled_event:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
attendeesarrayItems:
-
attendee_idstring— The ID of attendee. -
emailstring— The attendee's email. -
no_showboolean— This field inidcates the attendee if shown in the scheduled event
-
-
meeting_notesstring— The meeting notes of the event. -
statusstring, possible values:"confirmed", "cancelled"— The status of event: confirmed or cancelled.
Example:
{
"attendees": [
{
"attendee_id": "z7q0q2962w8iyj87249zbi7t10",
"no_show": false,
"email": "abc@zoom.us"
}
],
"status": "confirmed",
"meeting_notes": "meeting notes"
}
Responses
Status: 204 If successful, this method returns an event resource in the response body.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> InvalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
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 **Error Code:** `500` <br> InternalErr <br>
Get scheduled event attendee
- Method:
GET - Path:
/scheduler/events/{eventId}/attendees/{attendeeId} - Tags: scheduled events
Returns information about a specified attendee (person invited to an event).
Scopes: scheduler:read,scheduler:read:admin
Granular Scopes: scheduler:read:scheduled_event_attendee,scheduler:read:scheduled_event_attendee:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns the scheduled event attendee resource in the response body.
Content-Type: application/json
-
attendee_idstring— The ID of attendee. -
createdstring— This field indicates when the attendee created this event. -
custom_valuesarray— The answer of the booking page questions.Items:
-
namestring— The name of question. -
positioninteger— The position of question. -
valuesarray— The answers of question.Items:
string
-
-
display_namestring— The attendee's name. -
emailstring— The attendee's email. -
event_idstring— The unique identifier of event. -
first_namestring— The attendee's first name. -
last_namestring— The attendee's last name. -
no_showboolean— Whether an attendee did not attend an event. -
schedule_idstring— The unique identifier of schedule. -
time_zonestring— The attendee's time zone.
Example:
{
"attendee_id": "z7q0q2962w8iyj87249zbi7t10",
"event_id": "woft7torlatbw8ek24bmit5k60",
"schedule_id": "woft7torlatbw8ek24bmit5k60",
"created": "2023-12-21T06:19:23.899Z",
"display_name": "bob",
"email": "abc@zoom.us",
"first_name": "green",
"last_name": "tom",
"time_zone": "Asia/Shanghai",
"no_show": false,
"custom_values": [
{
"name": "question1",
"position": 1,
"values": [
""
]
}
]
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401 ` <br> Unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> NotFound <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `500` <br> InternalErr <br>
List schedules
- Method:
GET - Path:
/scheduler/schedules - Tags: schedules
Returns a list of all schedules.
Scopes: scheduler:read:admin,scheduler:read
Granular Scopes: scheduler:read:list_schedule,scheduler:read:list_schedule:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns a response body with this structure.
Content-Type: application/json
-
itemsarrayItems:
-
activeboolean— This field indicates if the schedule is active -
add_on_typestring, possible values:"zoomMeeting", "zoomPhone", "offline"— The method of the type of `addOn`, such as Zoom meeting, Zoom phone, or offline. -
availability_overrideboolean— This field indicates the use of the availability rule. -
availability_rulesarray— The availability of the time rule.Items:
-
availability_idstring— The ID of this availability rule. -
emailstring— The owner of this availability rule. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
time_zonestring— The timezone of this availability rule. -
use_customboolean— This field indicates the use of custom availability instead of the rule.
-
-
booking_limitnumber— This field sets the maximum events allowed per day. -
bufferobject— This field indicates the extra time before or after the booked schedule.-
afternumber— This field adds the time before the booked schedule. -
beforenumber— This field adds the time after the booked schedule.
-
-
capacitynumber— This field indicates the maximum invitees per event. -
colorstring— The hexadecimal color value of the event type's scheduling page. -
createdstring— The moment the schedule type was created. -
creatorobject— The creator of the schedule. This field is read-only.-
display_namestring— This field indicates the creator of the display name. -
emailstring— This field indicates the creator's email address. -
selfboolean— This field indicates if you created the schedule. The field is read-only.
-
-
cushionnumber— This field indicates the minimum time before a schedule starts when the attendees can book. -
custom_fieldsarray— This field contains the custom question.Items:
-
enabled(required)boolean— This field is true if the question the host creates is ON and visible on the event booking page. This field is false if it's OFF and invisible on the event booking page. -
format(required)string, possible values:"text", "string", "phone_number", "choices_one", "choices_many", "select"— The type of response that the invitee provides to the custom question. It can be one or multiple lines of text, a phone number, or single- or multiple-select.[`string text phone_number single_select multi_select`] -
include_other(required)boolean— This field is true if the custom question allows invitees to record a written response in addition to single-select or multiple-select type of responses. This field is false if the custom question does not allow invitees to record a written response. -
name(required)string— The custom question the host created for the event type. -
position(required)number— The position of this question. -
required(required)boolean— This field is true if a response to the question created by the host is required for invitees to book the event type. This field is false if a response to the question created by the host is not required for invitees to book the event type. -
answer_choicesarray— The invitee's option(s) for single_select or multi_select type of responses.Items:
string— The invitee's option for single_select or multi_select type of responses. -
custom_field_idstring— The ID of this question.
-
-
descriptionstring— The schedule's description. -
durationnumber— This field indicates the duration of the meeting in minutes, range: [1, 1440]. -
end_datestring— The schedule's end date. -
interval_typestring, possible values:"unlimited", "fixed"— The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`. -
locationstring— The information for a custom location. -
organizerobject— The organizer of the schedule. This field is read-only.-
display_namestring— The organizer's display name. -
emailstring— The organizer's email address. -
selfboolean— This field indicates if this user is the organizer. This field is read-only.
-
-
schedule_idstring— The unique identifier of the schedule. -
schedule_typestring, possible values:"one", "multiple"— This field indicates if the schedule type is "one" (belongs to an individual user) or "multiple". -
scheduling_urlstring— The URL of the user's scheduling site where invitees book this event type. -
secretboolean— This field indicates if the event type is hidden on the owner's main scheduling page. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
slugstring— The event portion of the event's URL that identifies a specific web page. -
start_datestring— The schedule's start date. -
start_time_incrementnumber— This field sets the frequency of available time slots for invitees. -
statusstring, possible values:"confirmed", "cancelled"— The status of schedule: confirmed or cancelled. -
summarystring— The event's summary. -
time_zonestring— the timezone of this availability rule. -
updatedstring— The moment the schedule type was updated.
-
-
next_page_tokenstring— The token that accesses the next page of this result.
Example:
{
"next_page_token": "aec369a4fce6ae655749b00fc7260bfd",
"items": [
{
"schedule_id": "ygfx661g9x8dwcgeusdqhsplc0",
"add_on_type": "zoomMeeting",
"availability_override": false,
"availability_rules": [
{
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"use_custom": false
}
],
"booking_limit": 0,
"buffer": {
"after": 0,
"before": 0
},
"capacity": 1,
"color": "#fff200",
"creator": {
"display_name": "name",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"self": true
},
"cushion": 0,
"custom_fields": [
{
"custom_field_id": "0l6imf50il8jchyapni3p5ckc0",
"enabled": true,
"format": "text",
"include_other": false,
"name": "Please share anything that will help prepare for our meeting.",
"position": 0,
"required": false,
"answer_choices": [
"At home"
]
}
],
"description": "15 Minute Meeting",
"duration": 30,
"end_date": "2023-12-28",
"location": "AAA office",
"organizer": {
"display_name": "name",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"self": true
},
"secret": false,
"slug": "sales",
"scheduling_url": "https://scheduler.zoom.us/zoom_us/sales",
"start_date": "2023-12-21",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"start_time_increment": 30,
"status": "confirmed",
"interval_type": "fixed",
"summary": "daily meeting",
"schedule_type": "one",
"updated": "2023-12-21T06:18:32.087Z",
"active": true,
"created": "2023-12-21T06:18:32.087Z"
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> InvalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
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 **Error Code:** `500` <br> InternalErr <br>
Insert schedules
- Method:
POST - Path:
/scheduler/schedules - Tags: schedules
Creates a schedule.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:write:insert_schedule,scheduler:write:insert_schedule:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
availability_override(required)boolean— This field indicates the use of the availability rule. -
availability_rules(required)array— The availability of the time rule.Items:
-
availability_idstring— The ID of this availability rule. -
emailstring— The owner of this availability rule. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
time_zonestring— the timezone of this availability rule. -
use_customboolean— This field indicates the use of custom availability instead of the rule.
-
-
capacity(required)number— This field indicates the maximum invitees per event. -
activeboolean— This field indicates if the schedule is active. -
add_on_typestring, possible values:"zoomMeeting", "zoomPhone", "offline"— The method of the type of `addOn`, such as Zoom meeting, Zoom phone, or offline. -
booking_limitnumber— This field sets the maximum events allowed per day. -
bufferobject— This field indicates the extra time before or after the booked schedule.-
afternumber— This field adds the time before the booked schedule. -
beforenumber— This field adds the time after the booked schedule.
-
-
colorstring— The hexadecimal color value of the event type's scheduling page. -
cushionnumber— This field indicates the minimum time before a schedule starts when the attendees can book. -
custom_fieldsarray— This field contains the custom question.Items:
-
enabled(required)boolean— This field is true if the question the host creates is ON and visible on the event booking page. This field is false if it's OFF and invisible on the event booking page. -
format(required)string, possible values:"text", "string", "phone_number", "choices_one", "choices_many", "select"— The type of response that the invitee provides to the custom question. It can be one or multiple lines of text, a phone number, or single- or multiple-select.[`string text phone_number single_select multi_select`] -
include_other(required)boolean— This field is true if the custom question allows invitees to record a written response in addition to single-select or multiple-select type of responses. This field is false if the custom question does not allow invitees to record a written response. -
name(required)string— The custom question the host created for the event type. -
position(required)number— The position of this question. -
required(required)boolean— This field is true if a response to the question created by the host is required for invitees to book the event type. This field is false if a response to the question created by the host is not required for invitees to book the event type. -
answer_choicesarray— The invitee's option(s) for `single_select` or `multi_select` type of responses.Items:
string— The invitee's option for `single_select` or `multi_select` type of responses. -
custom_field_idstring— The ID of this question.
-
-
descriptionstring— The schedule's description. -
durationnumber— This field indicates the duration of the meeting in minutes, range: [1, 1440]. -
end_datestring— The schedule's end date. -
interval_typestring, possible values:"unlimited", "fixed"— The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`. -
locationstring— The information for a custom location. -
schedule_typestring, possible values:"one", "multiple"— This field indicates if the schedule type is "one" (belongs to an individual user) or "multiple". -
secretboolean— This field indicates if the event type is hidden on the owner's main scheduling page. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
slugstring— The event portion of the event's URL that identifies a specific web page. -
start_datestring— The schedule's start date. -
start_time_incrementnumber— This field sets the frequency of available time slots for invitees. -
summarystring— The event's summary. -
time_zonestring— The timezone of this availability rule.
Example:
{
"add_on_type": "zoomMeeting",
"availability_override": false,
"availability_rules": [
{
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"use_custom": false
}
],
"booking_limit": 0,
"buffer": {
"after": 0,
"before": 0
},
"capacity": 1,
"color": "#fff200",
"cushion": 0,
"custom_fields": [
{
"custom_field_id": "0l6imf50il8jchyapni3p5ckc0",
"enabled": true,
"format": "text",
"include_other": false,
"name": "Please share anything that will help prepare for our meeting.",
"position": 0,
"required": false,
"answer_choices": [
"At home"
]
}
],
"description": "15 Minute Meeting",
"duration": 30,
"end_date": "2023-12-28",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"location": "AAA office",
"interval_type": "fixed",
"secret": false,
"slug": "sales",
"start_date": "2023-12-21",
"start_time_increment": 30,
"summary": "daily meeting",
"schedule_type": "one",
"active": true
}
Responses
Status: 201 If successful, this method returns an schedule resource in the response body.
Content-Type: application/json
-
activeboolean— This field indicates if the schedule is active. -
add_on_typestring, possible values:"zoomMeeting", "zoomPhone", "offline"— The method of the type of `addOn`, such as Zoom meeting, Zoom phone, or offline. -
availability_overrideboolean— This field indicates the use of the availability rule. -
availability_rulesarray— The availability of the time rule.Items:
-
availability_idstring— The ID of this availability rule. -
emailstring— The owner of this availability rule. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
time_zonestring— The timezone of this availability rule. -
use_customboolean— This field indicates the use of custom availability instead of the rule.
-
-
booking_limitnumber— This field sets the maximum events allowed per day. -
bufferobject— This field indicates the extra time before or after the booked schedule.-
afternumber— This field adds the time before the booked schedule. -
beforenumber— This field adds the time after the booked schedule.
-
-
capacitynumber— This field indicates the maximum invitees per event. -
colorstring— The hexadecimal color value of the event type's scheduling page. -
creatorobject— The creator of the schedule. The field is read-only.-
display_namestring— This field indicates the creator of the display name. -
emailstring— This field indicates the creator's email address. -
selfboolean— This field indicates if you created the schedule. The field is read-only.
-
-
cushionnumber— This field indicates the minimum time before a schedule starts when the attendees can book. -
custom_fieldsarray— This field contains the custom question.Items:
-
enabled(required)boolean— This field is true if the question the host creates is ON and visible on the event booking page. This field is false if it's OFF and invisible on the event booking page. -
format(required)string, possible values:"text", "string", "phone_number", "choices_one", "choices_many", "select"— The type of response that the invitee provides to the custom question. It can be one or multiple lines of text, a phone number, or single- or multiple-select.[`string text phone_number single_select multi_select`] -
include_other(required)boolean— This field is true if the custom question allows invitees to record a written response in addition to single-select or multiple-select type of responses. This field is false if the custom question does not allow invitees to record a written response. -
name(required)string— The custom question the host created for the event type. -
position(required)number— The position of this question. -
required(required)boolean— This field is true if a response to the question created by the host is required for invitees to book the event type. This field is false if a response to the question created by the host is not required for invitees to book the event type. -
answer_choicesarray— The invitee's option(s) for single_select or multi_select type of responses.Items:
string— The invitee's option for single_select or multi_select type of responses. -
custom_field_idstring— The ID of this question.
-
-
descriptionstring— The schedule's description. -
durationnumber— This field indicates the duration of the meeting in minutes, range: [1, 1440]. -
end_datestring— The schedule's end date. -
interval_typestring, possible values:"unlimited", "fixed"— The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`. -
locationstring— The information for a custom location. -
organizerobject— The organizer of the schedule. This field is read-only.-
display_namestring— The organizer's display name. -
emailstring— The organizer's email address. -
selfboolean— This field indicates if this user is the organizer. This field is read-only.
-
-
schedule_idstring— The unique identifier of schedule. -
schedule_typestring, possible values:"one", "multiple"— This field indicates if the schedule type is "one" (belongs to an individual user) or "multiple". -
scheduling_urlstring— The URL of the user’s scheduling site where invitees book this event type. -
secretboolean— This field indicates if the event type is hidden on the owner's main scheduling page. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
slugstring— The event portion of the event's URL that identifies a specific web page. -
start_datestring— The schedule's start date. -
start_time_incrementnumber— This field sets the frequency of available time slots for invitees. -
statusstring, possible values:"confirmed", "cancelled"— The status of schedule: confirmed or cancelled. -
summarystring— The event's summary. -
time_zonestring— the timezone of this availability rule. -
updatedstring— The moment the schedule type was updated.
Example:
{
"schedule_id": "ygfx661g9x8dwcgeusdqhsplc0",
"add_on_type": "zoomMeeting",
"availability_override": false,
"availability_rules": [
{
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"use_custom": false
}
],
"booking_limit": 0,
"buffer": {
"after": 0,
"before": 0
},
"capacity": 1,
"color": "#fff200",
"creator": {
"display_name": "name",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"self": true
},
"cushion": 0,
"custom_fields": [
{
"custom_field_id": "0l6imf50il8jchyapni3p5ckc0",
"enabled": true,
"format": "text",
"include_other": false,
"name": "Please share anything that will help prepare for our meeting.",
"position": 0,
"required": false,
"answer_choices": [
"At home"
]
}
],
"description": "15 Minute Meeting",
"duration": 30,
"end_date": "2023-12-20",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"location": "AAA office",
"organizer": {
"display_name": "name",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"self": true
},
"secret": false,
"slug": "sales",
"scheduling_url": "https://scheduler.zoom.us/zoom_us/sales",
"start_date": "2023-12-21",
"start_time_increment": 30,
"status": "confirmed",
"interval_type": "fixed",
"summary": "daily meeting",
"schedule_type": "one",
"updated": "2023-12-21T06:18:32.087Z",
"active": true
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> InvalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
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 **Error Code:** `500` <br> InternalErr <br>
Get schedules
- Method:
GET - Path:
/scheduler/schedules/{scheduleId} - Tags: schedules
Returns a schedule.
Scopes: scheduler:read:admin,scheduler:read
Granular Scopes: scheduler:read:get_schedule,scheduler:read:get_schedule:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns an schedule resource in the response body.
Content-Type: application/json
-
activeboolean— This field indicates if the schedule is active. -
add_on_typestring, possible values:"zoomMeeting", "zoomPhone", "offline"— The method of the type of `addOn`, such as Zoom meeting, Zoom phone, or offline. -
availability_overrideboolean— This field indicates the use of the availability rule. -
availability_rulesarray— The availability of the time rule.Items:
-
availability_idstring— The ID of this availability rule. -
emailstring— The owner of this availability rule. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
time_zonestring— The timezone of this availability rule. -
use_customboolean— This field indicates the use of custom availability instead of the rule.
-
-
booking_limitnumber— This field sets the maximum events allowed per day. -
bufferobject— This field indicates the extra time before or after the booked schedule.-
afternumber— This field adds the time before the booked schedule. -
beforenumber— This field adds the time after the booked schedule.
-
-
capacitynumber— This field indicates the maximum invitees per event. -
colorstring— The hexadecimal color value of the event type's scheduling page. -
creatorobject— The creator of the schedule. The field is read-only.-
display_namestring— This field indicates the creator of the display name. -
emailstring— This field indicates the creator's email address. -
selfboolean— This field indicates if you created the schedule. The field is read-only.
-
-
cushionnumber— This field indicates the minimum time before a schedule starts when the attendees can book. -
custom_fieldsarray— This field contains the custom question.Items:
-
enabled(required)boolean— This field is true if the question the host creates is ON and visible on the event booking page. This field is false if it's OFF and invisible on the event booking page. -
format(required)string, possible values:"text", "string", "phone_number", "choices_one", "choices_many", "select"— The type of response that the invitee provides to the custom question. It can be one or multiple lines of text, a phone number, or single- or multiple-select.[`string text phone_number single_select multi_select`] -
include_other(required)boolean— This field is true if the custom question allows invitees to record a written response in addition to single-select or multiple-select type of responses. This field is false if the custom question does not allow invitees to record a written response. -
name(required)string— The custom question the host created for the event type. -
position(required)number— The position of this question. -
required(required)boolean— This field is true if a response to the question created by the host is required for invitees to book the event type. This field is false if a response to the question created by the host is not required for invitees to book the event type. -
answer_choicesarray— The invitee's option(s) for single_select or multi_select type of responses.Items:
string— The invitee's option for single_select or multi_select type of responses. -
custom_field_idstring— The ID of this question.
-
-
descriptionstring— The schedule's description. -
durationnumber— This field indicates the duration of the meeting in minutes, range: [1, 1440]. -
end_datestring— The schedule's end date. -
interval_typestring, possible values:"unlimited", "fixed"— The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`. -
locationstring— The information for a custom location. -
organizerobject— The organizer of the schedule. This field is read-only.-
display_namestring— The organizer's display name. -
emailstring— The organizer's email address. -
selfboolean— This field indicates if this user is the organizer. This field is read-only.
-
-
schedule_idstring— The unique identifier of a schedule. -
schedule_typestring, possible values:"one", "multiple"— This field indicates if the schedule type is **one** (belongs to an individual user) or **multiple**. -
scheduling_urlstring— The URL of the user's scheduling site where invitees book this event type. -
secretboolean— This field indicates if the event type is hidden on the owner's main scheduling page. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
slugstring— The event portion of the event's URL that identifies a specific web page. -
start_datestring— The schedule's start date. -
start_time_incrementnumber— This field sets the frequency of available time slots for invitees. -
statusstring, possible values:"confirmed", "cancelled"— The status of schedule: confirmed or cancelled. -
summarystring— The event's summary. -
time_zonestring— the timezone of this availability rule. -
updatedstring— The moment the schedule type was updated.
Example:
{
"schedule_id": "ygfx661g9x8dwcgeusdqhsplc0",
"add_on_type": "zoomMeeting",
"availability_override": false,
"availability_rules": [
{
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"use_custom": false
}
],
"booking_limit": 0,
"buffer": {
"after": 0,
"before": 0
},
"capacity": 1,
"color": "#fff200",
"creator": {
"display_name": "name",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"self": true
},
"cushion": 0,
"custom_fields": [
{
"custom_field_id": "0l6imf50il8jchyapni3p5ckc0",
"enabled": true,
"format": "text",
"include_other": false,
"name": "Please share anything that will help prepare for our meeting.",
"position": 0,
"required": false,
"answer_choices": [
"At home"
]
}
],
"description": "15 Minute Meeting",
"duration": 30,
"end_date": "2023-12-28",
"location": "AAA office",
"organizer": {
"display_name": "name",
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"self": true
},
"secret": false,
"slug": "sales",
"scheduling_url": "https://scheduler.zoom.us/zoom_us/sales",
"start_date": "2023-12-21",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"start_time_increment": 30,
"status": "confirmed",
"interval_type": "fixed",
"summary": "daily meeting",
"schedule_type": "one",
"updated": "2023-12-21T06:18:32.087Z",
"active": true
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> NotFound <br>
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 **Error Code:** `500` <br> InternalErr <br>
Delete schedules
- Method:
DELETE - Path:
/scheduler/schedules/{scheduleId} - Tags: schedules
Deletes a schedule.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:delete:delete_schedule,scheduler:delete:delete_schedule:admin
Rate Limit Label: LIGHT
Responses
Status: 204 If successful, this method returns an empty response body.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> invalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401 ` <br> unauthorized <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `409` <br> conflict <br>
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 **Error Code:** `500` <br> internalErr <br>
Patch schedules
- Method:
PATCH - Path:
/scheduler/schedules/{scheduleId} - Tags: schedules
Patches a schedule.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:update:patch_schedule,scheduler:update:patch_schedule:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
activeboolean— This field indicates if the schedule is active. -
add_on_typestring, possible values:"zoomMeeting", "zoomPhone", "offline"— The method of `addOn`, such as Zoom meeting, Zoom phone, and offline. -
availability_overrideboolean— This field indicates the use of the availability rule. -
availability_rulesarray— The availability time rule.Items:
-
availability_idstring— The ID of this availability rule. -
emailstring— The owner of this availability rule. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date-time of the segment. -
startstring— The start date-time of the segment.
-
-
segments_recurrenceobject— The week of available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
time_zonestring— The timezone of this availability rule. -
use_customboolean— This field indicates whether to use the custom availability instead of the rule.
-
-
booking_limitnumber— This field sets the maximum events allowed per day. -
bufferobject— The extra time before or after booked schedule.-
afternumber— This field adds time before the booked schedule. -
beforenumber— This field adds time after the booked schedule.
-
-
capacitynumber— The maximum invitees per event. -
colorstring— The hexadecimal color value of the event type's scheduling page. -
cushionnumber— The minimum time before a schedule starts that attendees can book. -
custom_fieldsarray— The custom question.Items:
-
enabled(required)boolean— If the question created by the host is turned ON and visible on the event booking page, then it's true. If it's turned OFF and invisible on the event booking page, then it's false. -
format(required)string, possible values:"text", "string", "phone_number", "choices_one", "choices_many", "select"— The type of response that the invitee provides to the custom question. It can be one or multiple lines of text, a phone number, or single- or multiple-select.[`string text phone_number single_select multi_select`] -
include_other(required)boolean— If the custom question lets invitees record a written response, in addition to single-select or multiple-select type of responses, then it's true. Otherwise, it's false. -
name(required)string— The custom question that the host created for the event type. -
position(required)number— The position of this question. -
required(required)boolean— If a response to the question, created by the host, is required for invitees to book the event type, then it's true. If it's not required, it's false. -
answer_choicesarray— The invitee's option(s) for single_select or multi_select type of responses.Items:
string— The invitee's option for single_select or multi_select type of responses. -
custom_field_idstring— The ID of this question
-
-
descriptionstring— The schedule's description -
durationnumber— The duration of meeting in minutes, range: [1, 1440]. -
end_datestring— The schedule's end date. -
interval_typestring, possible values:"unlimited", "fixed"— The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`. -
locationstring— The information for a custom location. -
secretboolean— This field indicates if the event type is hidden on the owner's main scheduling page. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
slugstring— The event portion of the event's URL that identifies a specific web page. -
start_datestring— The schedule's start date. -
start_time_incrementnumber— This field sets the frequency of available time slots for invitees. -
statusstring, possible values:"confirmed", "cancelled"— The status of schedule, confirmed or cancelled. -
summarystring— The event's summary. -
time_zonestring— the timezone of this availability rule.
Example:
{
"add_on_type": "zoomMeeting",
"availability_override": false,
"availability_rules": [
{
"email": "easonfsxsysks3lgchitiw@scheduler.zoom.us",
"availability_id": "x3h1u4id4liffdyszsp8kpxl80",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"use_custom": false
}
],
"booking_limit": 0,
"buffer": {
"after": 0,
"before": 0
},
"capacity": 1,
"color": "#fff200",
"cushion": 0,
"custom_fields": [
{
"enabled": true,
"format": "text",
"custom_field_id": "0l6imf50il8jchyapni3p5ckc0",
"include_other": false,
"name": "Please share anything that will help prepare for our meeting.",
"position": 0,
"required": false,
"answer_choices": [
"At home"
]
}
],
"description": "15 Minute Meeting",
"duration": 30,
"end_date": "2023-12-28",
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
],
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"time_zone": "Asia/Shanghai",
"location": "AAA office",
"secret": false,
"slug": "sales",
"start_date": "2023-12-21",
"start_time_increment": 30,
"status": "confirmed",
"interval_type": "fixed",
"summary": "daily meeting",
"active": true
}
Responses
Status: 204 If successful, this method returns an empty response body.
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> InvaildArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `404` <br> NotFound <br>
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 **Error Code:** `500` <br> InternalErr <br>
Single use link
- Method:
POST - Path:
/scheduler/schedules/single_use_link - Tags: scheduling links
Creates a single-use scheduling link.
Scopes: scheduler:write:admin,scheduler:write
Granular Scopes: scheduler:write:single_use_link,scheduler:write:single_use_link:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
schedule_id(required)string— The unique identifier of a schedule.
Example:
{
"schedule_id": "kb1i8qrplqn7r3zmmhphz4uxd0"
}
Responses
Status: 201 If successful, this method returns a scheduling link URL in the response body.
Content-Type: application/json
-
scheduling_url(required)string— The scheduling link URL.
Example:
{
"scheduling_url": "https://scheduler.zoomdev.us/manage/xu3o9skk6ygg8gk5hjvokjm2c0"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> invalidArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> unauthorized <br>
Status: 409 **HTTP Status Code:** `409` <br> Conflict **Error Code:** `409` <br> conflict <br>
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 **Error Code:** `500` <br> internalErr <br>
Create shares
- Method:
POST - Path:
/scheduler/shares - Tags: shares
Creates an endpoint for our Customize Once and Share feature. This API allows you to customize schedule for a specific attendee without needing to make an entirely new schedules.
Scopes: scheduler:write,scheduler:write:admin
Granular Scopes: scheduler:write:share,scheduler:write:share:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
schedule_id(required)string— The unique identifier of a schedule. -
durationnumber— This field indicates the duration of the meeting in minutes, range: [1, 1440]. -
end_datestring— The schedule's end date. -
interval_typestring, possible values:"unlimited", "fixed"— The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`. -
segmentsarray— The available time segments of the event.Items:
-
endstring— The end date and time of the segment. -
startstring— The start date and time of the segment.
-
-
segments_recurrenceobject— The week of the available time rule.-
friarray— FridayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
monarray— MondayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
satarray— SaturdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
sunarray— SundaysItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
thuarray— ThursdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
tuearray— TuesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
wedarray— WednesdayItems:
-
endstring— The end time of this day. -
startstring— The start time of this day.
-
-
-
start_datestring— The schedule's start date. -
time_zonestring— The timezone of this availability rule.
Example:
{
"schedule_id": "kb1i8qrplqn7r3zmmhphz4uxd0",
"start_date": "2023-12-21",
"end_date": "2023-12-20",
"interval_type": "fixed",
"time_zone": "Asia/Shanghai",
"duration": 30,
"segments_recurrence": {
"sun": [
{
"end": "17:00",
"start": "09:00"
}
],
"mon": [
{
"end": "17:00",
"start": "09:00"
}
],
"tue": [
{
"end": "17:00",
"start": "09:00"
}
],
"wed": [
{
"end": "17:00",
"start": "09:00"
}
],
"thu": [
{
"end": "17:00",
"start": "09:00"
}
],
"fri": [
{
"end": "17:00",
"start": "09:00"
}
],
"sat": [
{
"end": "17:00",
"start": "09:00"
}
]
},
"segments": [
{
"start": "2023-12-21T06:00:00Z",
"end": "2023-12-21T06:00:00Z"
}
]
}
Responses
Status: 201 Returned a customed link
Content-Type: application/json
-
scheduling_url(required)string— The scheduling link URL.
Example:
{
"scheduling_url": "https://scheduler.zoom.us/t/tc71av50/one-one-host"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request **Error Code:** `400` <br> InvaildArgument <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized **Error Code:** `401` <br> Unauthorized <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error **Error Code:** `500` <br> InrernalErr <br>
List team
- Method:
GET - Path:
/scheduler/teams - Tags: team
Lists teams for the specified user, or for the current user.
Scopes: scheduler:read,scheduler:read:admin
Granular Scopes: scheduler:read:get_schedule,scheduler:read:get_schedule:admin
Rate Limit Label: LIGHT
Responses
Status: 200 The response body of the list team.
Content-Type: application/json
-
teamsarray— A collection of all existing team items.Items:
-
member_countinteger— The team members count between 0 and 10000. -
namestring— The name of the team. -
owner_idstring— The owner user ID of the team. -
slugstring— The slug of the team. -
team_idstring— The team ID. -
timezonestring— The timezone of the team.
-
Example:
{
"teams": [
{
"team_id": "ewayolgveb4bmtzn1ubx1lxe71",
"owner_id": "pE96RQ1nSbaboXClJS2Gfw",
"member_count": 500,
"name": "test team",
"slug": "walmart-vok",
"timezone": "Asia/Shanghai"
}
]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request The query URL is invalid
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized The query user is unauthroized
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error The server is temporarily unavailable
Get user
- Method:
GET - Path:
/scheduler/users/{userId} - Tags: users
Returns information about the user.
Scopes: scheduler:read:admin,scheduler:read
Granular Scopes: scheduler:read:user,scheduler:read:user:admin
Rate Limit Label: LIGHT
Responses
Status: 200 If successful, this method returns user information in the response body.
Content-Type: application/json
-
display_namestring— The user's name -
logostring— This field enables users to upload their company's logo on Zoom. -
picturestring— This field enables users to upload their personal avatars on Zoom. -
scheduling_urlstring— The URL of the user’s scheduling site where invitees book this event type. -
slugstring— The portion of URL for the user's scheduling page where invitees book sessions that renders in a human-readable format. -
time_zonestring— The time zone to use when presenting time to the user.
Example:
{
"slug": "zoom_us",
"scheduling_url": "https://scheduler.zoom.us/zoom_us",
"display_name": "name",
"picture": "base64 encoding string",
"logo": "user logo",
"time_zone": "America/New York"
}