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
  • booked

    boolean — Indicating whether a final booking was made after submitting the response

  • booking_link

    string — 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_time

    string — The time that the response was submitted.

  • creator_email

    string — The creator of the response.

  • form_id

    string — The form ID.

  • questions_and_answers

    array — The questions and answers in the response.

    Items:

    • answers

      array — 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_content

      string — The question content asked in the form.

    • question_id

      string — The question ID.

  • result_type

    string, possible values: "event", "text", "url" — The type of result returned after submitting the response.

  • result_value

    string — 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_token

    string — The token to retrieve the next page of results. If empty, no more results are available.

  • responses

    array — The list of routing responses across all routing forms under the account.

    Items:

    • booked

      boolean — Indicating whether a final booking was made after submitting the response.

    • booking_link

      string — 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_time

      string — The time that the response was submitted.

    • creator_email

      string — The creator of the response.

    • form_id

      string — The routing form ID that this response belongs to.

    • form_name

      string — The name of routing form.

    • questions_and_answers

      array — The questions and answers in the response.

      Items:

      • answers

        array — 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_content

        string — The question content asked in the form.

      • question_id

        string — The question ID.

    • response_id

      string — The response ID.

    • result_type

      string, possible values: "event", "text", "url" — The type of result returned after submitting the response.

    • result_value

      string — 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_duration

    array — The event distribution by duration.

    Items:

  • last_n_days

    object — The stats of the last N days.

    • all_host_available

      integer — The number of "all host available" type schedules.

    • any_host_available

      integer — The number of "any host available" type schedules.

    • meeting_poll

      integer — The number of "meeting poll" type schedules.

    • one_off_meeting

      integer — The number of "one-off" type schedules.

    • one_to_many

      integer — The number of "one to many" type schedules.

    • one_to_one

      integer — The number of "one to one" type schedules.

    • scheduled_events_canceled

      integer — The number of cancelled scheduled events.

    • scheduled_events_completed

      integer — The number of completed scheduled events.

    • scheduled_events_created

      integer — The number of created scheduled events.

    • scheduled_events_rescheduled

      integer — The number of rescheduled scheduled events.

    • schedules_canceled

      integer — The number of cancelled schedules.

    • schedules_created

      integer — The number of created schedules.

  • popular_schedules

    array — The most popular schedules in the given time range.

    Items:

  • popular_time_of_day

    array — The distribution of number of events scheduled in a day.

    Items:

  • popular_time_of_week

    array — The distribution of number of events scheduled in a week.

    Items:

  • previous_period

    object — 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_available

      integer — The number of "all host available" type schedules.

    • any_host_available

      integer — The number of "any host available" type schedules.

    • meeting_poll

      integer — The number of "meeting poll" type schedules.

    • one_off_meeting

      integer — The number of "one-off" type schedules.

    • one_to_many

      integer — The number of "one to many" type schedules.

    • one_to_one

      integer — The number of "one to one" type schedules.

    • scheduled_events_canceled

      integer — The number of cancelled scheduled events.

    • scheduled_events_completed

      integer — The number of completed scheduled events.

    • scheduled_events_created

      integer — The number of created scheduled events.

    • scheduled_events_rescheduled

      integer — The number of rescheduled scheduled events.

    • schedules_canceled

      integer — The number of cancelled schedules.

    • schedules_created

      integer — The number of created schedules.

  • users_with_least_events

    array — The users with the least scheduled events.

    Items:

  • users_with_most_events

    array — 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
  • items

    array — array[User Availability Schedule]

    Items:

    • availability_id

      string

    • default

      boolean

    • name

      string

    • owner

      string — The owner's ID.

    • segments_recurrence

      object

      • fri

        array — Friday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • mon

        array — Monday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sat

        array — Saturday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sun

        array — Sunday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • thu

        array — Thursday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • tue

        array — Tuesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • wed

        array — Wednesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

    • time_zone

      string

  • next_page_token

    string — 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_id

    string — The unique ID of availability.

  • default

    boolean — The default availability schedule in use.

  • owner

    string — the owner's ID.

  • segments

    array — 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_recurrence

    object — The rules of this availability schedule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sundays

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — 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_id

    string — The unique ID of the availability.

  • default

    boolean — The default availability schedule in use.

  • name

    string — The name of this availability schedule.

  • owner

    string — An URI reference to a user.

  • segments

    array — The date on which the rule needs to be applied outside of the availability rule.

    Items:

  • segments_recurrence

    object — The rules of this availability schedule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sundays

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

  • time_zone

    string — 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_id

    string — The unique ID of availability.

  • default

    boolean — The default availability schedule in use.

  • name

    string — The name of this availability schedule.

  • owner

    string — The owner's ID.

  • segments_recurrence

    object — The rules of this availability schedule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sundays

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

  • time_zone

    string — 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.

  • default

    boolean — The default availability schedule in use.

  • segments

    array — 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_recurrence

    object — The rules of this availability schedule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sundays

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — 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
  • items

    array — The event collection.

    Items:

    • attendees

      array — The attendees of the event.

      Items:

      • attendee_id

        string — The ID of attendee.

      • booker

        boolean — Whether the attendee is the booker.

      • created

        string — This field indicates when the attendee attended this event.

      • display_name

        string — The attendee's name.

      • email

        string — The attendee's email.

      • first_name

        string — The attendee's first name.

      • last_name

        string — The attendee's last name.

      • no_show

        boolean — Whether to show events or not.

      • time_zone

        string — The attendee's time zone.

    • description

      string — The event's description.

    • end_date_time

      string — The scheduled event end date time.

    • event_id

      string — The unique identifier of event.

    • event_type

      string, possible values: "default", "pending" — This field indicates the type is default(scheduled) or pending event.

    • external_location

      object — The meeting details for when users have scheduled appointments.

    • guests

      array — The guest's collection.

      Items:

      string — The guest's email.

    • location

      string — The information for a custom location.

    • meeting_notes

      string — The meeting notes of the event.

    • schedule_id

      string — The unique identifier of schedule.

    • start_date_time

      string — The scheduled event start date time.

    • status

      string, possible values: "confirmed", "cancelled" — The status of event: confirmed or cancelled.

    • summary

      string — The event's summary.

    • tracking_params

      array — The information to track the source of invitee. This occurs when you add UTM parameters in schedule links.

      Items:

      • key

        string — The UTM parameters in the schedule links.

      • label

        string — The scheduler tags that correspond to UTM parameters one by one.

      • value

        string — The value of UTM parameters set in schedule links by host.

    • updated

      string — The moment the event was updated.

  • next_page_token

    string — 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
  • attendees

    array — The attendees of the event.

    Items:

    • attendee_id

      string — The ID of attendee.

    • booker

      boolean — Whether the attendee is the booker.

    • created

      string — This field indicates when the attendee attended this event.

    • display_name

      string — The attendee's name.

    • email

      string — The attendee's email.

    • first_name

      string — The attendee's first name.

    • last_name

      string — The attendee's last name.

    • no_show

      boolean — Whether or not to show the event.

    • time_zone

      string — The attendee's time zone.

  • description

    string — The event's description.

  • end_date_time

    string — The scheduled event's end date time.

  • event_id

    string — The unique identifier of event.

  • event_type

    string, possible values: "default", "pending" — This field indicates whether the type is default(scheduled) or a pending event.

  • external_location

    object — The meeting details for when users have scheduled appointments.

  • guests

    array — The guest's collection.

    Items:

    string — The guest's email.

  • location

    string — The information for a custom location.

  • meeting_notes

    string — The meeting notes of the event.

  • schedule_id

    string — The unique identifier of schedule.

  • start_date_time

    string — The scheduled event's start date time.

  • status

    string, possible values: "confirmed", "cancelled" — The status of event: confirmed or cancelled.

  • summary

    string — The event's summary.

  • tracking_params

    array — The information to track the source of invitee. Only use this setting you add UTM parameters in schedule links.

    Items:

    • key

      string — The UTM parameters in schedule links.

    • label

      string — The scheduler tags that correspond to UTM parameters one by one.

    • value

      string — The value of UTM parameters set in schedule links by host.

  • updated

    string — 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
  • attendees

    array

    Items:

    • attendee_id

      string — The ID of attendee.

    • email

      string — The attendee's email.

    • no_show

      boolean — This field inidcates the attendee if shown in the scheduled event

  • meeting_notes

    string — The meeting notes of the event.

  • status

    string, 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_id

    string — The ID of attendee.

  • created

    string — This field indicates when the attendee created this event.

  • custom_values

    array — The answer of the booking page questions.

    Items:

    • name

      string — The name of question.

    • position

      integer — The position of question.

    • values

      array — The answers of question.

      Items:

      string

  • display_name

    string — The attendee's name.

  • email

    string — The attendee's email.

  • event_id

    string — The unique identifier of event.

  • first_name

    string — The attendee's first name.

  • last_name

    string — The attendee's last name.

  • no_show

    boolean — Whether an attendee did not attend an event.

  • schedule_id

    string — The unique identifier of schedule.

  • time_zone

    string — 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
  • items

    array

    Items:

    • active

      boolean — This field indicates if the schedule is active

    • add_on_type

      string, possible values: "zoomMeeting", "zoomPhone", "offline" — The method of the type of `addOn`, such as Zoom meeting, Zoom phone, or offline.

    • availability_override

      boolean — This field indicates the use of the availability rule.

    • availability_rules

      array — The availability of the time rule.

      Items:

      • availability_id

        string — The ID of this availability rule.

      • email

        string — The owner of this availability rule.

      • segments

        array — The available time segments of the event.

        Items:

        • end

          string — The end date and time of the segment.

        • start

          string — The start date and time of the segment.

      • segments_recurrence

        object — The week of the available time rule.

        • fri

          array — Friday

          Items:

          • end

            string — The end time of this day.

          • start

            string — The start time of this day.

        • mon

          array — Monday

          Items:

          • end

            string — The end time of this day.

          • start

            string — The start time of this day.

        • sat

          array — Saturday

          Items:

          • end

            string — The end time of this day.

          • start

            string — The start time of this day.

        • sun

          array — Sunday

          Items:

          • end

            string — The end time of this day.

          • start

            string — The start time of this day.

        • thu

          array — Thursday

          Items:

          • end

            string — The end time of this day.

          • start

            string — The start time of this day.

        • tue

          array — Tuesday

          Items:

          • end

            string — The end time of this day.

          • start

            string — The start time of this day.

        • wed

          array — Wednesday

          Items:

          • end

            string — The end time of this day.

          • start

            string — The start time of this day.

      • time_zone

        string — The timezone of this availability rule.

      • use_custom

        boolean — This field indicates the use of custom availability instead of the rule.

    • booking_limit

      number — This field sets the maximum events allowed per day.

    • buffer

      object — This field indicates the extra time before or after the booked schedule.

      • after

        number — This field adds the time before the booked schedule.

      • before

        number — This field adds the time after the booked schedule.

    • capacity

      number — This field indicates the maximum invitees per event.

    • color

      string — The hexadecimal color value of the event type's scheduling page.

    • created

      string — The moment the schedule type was created.

    • creator

      object — The creator of the schedule. This field is read-only.

      • display_name

        string — This field indicates the creator of the display name.

      • email

        string — This field indicates the creator's email address.

      • self

        boolean — This field indicates if you created the schedule. The field is read-only.

    • cushion

      number — This field indicates the minimum time before a schedule starts when the attendees can book.

    • custom_fields

      array — 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_choices

        array — 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_id

        string — The ID of this question.

    • description

      string — The schedule's description.

    • duration

      number — This field indicates the duration of the meeting in minutes, range: [1, 1440].

    • end_date

      string — The schedule's end date.

    • interval_type

      string, possible values: "unlimited", "fixed" — The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`.

    • location

      string — The information for a custom location.

    • organizer

      object — The organizer of the schedule. This field is read-only.

      • display_name

        string — The organizer's display name.

      • email

        string — The organizer's email address.

      • self

        boolean — This field indicates if this user is the organizer. This field is read-only.

    • schedule_id

      string — The unique identifier of the schedule.

    • schedule_type

      string, possible values: "one", "multiple" — This field indicates if the schedule type is "one" (belongs to an individual user) or "multiple".

    • scheduling_url

      string — The URL of the user's scheduling site where invitees book this event type.

    • secret

      boolean — This field indicates if the event type is hidden on the owner's main scheduling page.

    • segments

      array — The available time segments of the event.

      Items:

      • end

        string — The end date and time of the segment.

      • start

        string — The start date and time of the segment.

    • segments_recurrence

      object — The week of the available time rule.

      • fri

        array — Friday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • mon

        array — Monday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sat

        array — Saturday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sun

        array — Sunday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • thu

        array — Thursday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • tue

        array — Tuesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • wed

        array — Wednesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

    • slug

      string — The event portion of the event's URL that identifies a specific web page.

    • start_date

      string — The schedule's start date.

    • start_time_increment

      number — This field sets the frequency of available time slots for invitees.

    • status

      string, possible values: "confirmed", "cancelled" — The status of schedule: confirmed or cancelled.

    • summary

      string — The event's summary.

    • time_zone

      string — the timezone of this availability rule.

    • updated

      string — The moment the schedule type was updated.

  • next_page_token

    string — 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_id

      string — The ID of this availability rule.

    • email

      string — The owner of this availability rule.

    • segments

      array — The available time segments of the event.

      Items:

      • end

        string — The end date and time of the segment.

      • start

        string — The start date and time of the segment.

    • segments_recurrence

      object — The week of the available time rule.

      • fri

        array — Friday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • mon

        array — Monday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sat

        array — Saturday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sun

        array — Sundays

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • thu

        array — Thursday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • tue

        array — Tuesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • wed

        array — Wednesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

    • time_zone

      string — the timezone of this availability rule.

    • use_custom

      boolean — This field indicates the use of custom availability instead of the rule.

  • capacity (required)

    number — This field indicates the maximum invitees per event.

  • active

    boolean — This field indicates if the schedule is active.

  • add_on_type

    string, possible values: "zoomMeeting", "zoomPhone", "offline" — The method of the type of `addOn`, such as Zoom meeting, Zoom phone, or offline.

  • booking_limit

    number — This field sets the maximum events allowed per day.

  • buffer

    object — This field indicates the extra time before or after the booked schedule.

    • after

      number — This field adds the time before the booked schedule.

    • before

      number — This field adds the time after the booked schedule.

  • color

    string — The hexadecimal color value of the event type's scheduling page.

  • cushion

    number — This field indicates the minimum time before a schedule starts when the attendees can book.

  • custom_fields

    array — 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_choices

      array — 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_id

      string — The ID of this question.

  • description

    string — The schedule's description.

  • duration

    number — This field indicates the duration of the meeting in minutes, range: [1, 1440].

  • end_date

    string — The schedule's end date.

  • interval_type

    string, possible values: "unlimited", "fixed" — The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`.

  • location

    string — The information for a custom location.

  • schedule_type

    string, possible values: "one", "multiple" — This field indicates if the schedule type is "one" (belongs to an individual user) or "multiple".

  • secret

    boolean — This field indicates if the event type is hidden on the owner's main scheduling page.

  • segments

    array — The available time segments of the event.

    Items:

    • end

      string — The end date and time of the segment.

    • start

      string — The start date and time of the segment.

  • segments_recurrence

    object — The week of the available time rule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sundays

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

  • slug

    string — The event portion of the event's URL that identifies a specific web page.

  • start_date

    string — The schedule's start date.

  • start_time_increment

    number — This field sets the frequency of available time slots for invitees.

  • summary

    string — The event's summary.

  • time_zone

    string — 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
  • active

    boolean — This field indicates if the schedule is active.

  • add_on_type

    string, possible values: "zoomMeeting", "zoomPhone", "offline" — The method of the type of `addOn`, such as Zoom meeting, Zoom phone, or offline.

  • availability_override

    boolean — This field indicates the use of the availability rule.

  • availability_rules

    array — The availability of the time rule.

    Items:

    • availability_id

      string — The ID of this availability rule.

    • email

      string — The owner of this availability rule.

    • segments

      array — The available time segments of the event.

      Items:

      • end

        string — The end date and time of the segment.

      • start

        string — The start date and time of the segment.

    • segments_recurrence

      object — The week of the available time rule.

      • fri

        array — Friday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • mon

        array — Monday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sat

        array — Saturday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sun

        array — Sundays

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • thu

        array — Thursday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • tue

        array — Tuesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • wed

        array — Wednesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

    • time_zone

      string — The timezone of this availability rule.

    • use_custom

      boolean — This field indicates the use of custom availability instead of the rule.

  • booking_limit

    number — This field sets the maximum events allowed per day.

  • buffer

    object — This field indicates the extra time before or after the booked schedule.

    • after

      number — This field adds the time before the booked schedule.

    • before

      number — This field adds the time after the booked schedule.

  • capacity

    number — This field indicates the maximum invitees per event.

  • color

    string — The hexadecimal color value of the event type's scheduling page.

  • creator

    object — The creator of the schedule. The field is read-only.

    • display_name

      string — This field indicates the creator of the display name.

    • email

      string — This field indicates the creator's email address.

    • self

      boolean — This field indicates if you created the schedule. The field is read-only.

  • cushion

    number — This field indicates the minimum time before a schedule starts when the attendees can book.

  • custom_fields

    array — 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_choices

      array — 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_id

      string — The ID of this question.

  • description

    string — The schedule's description.

  • duration

    number — This field indicates the duration of the meeting in minutes, range: [1, 1440].

  • end_date

    string — The schedule's end date.

  • interval_type

    string, possible values: "unlimited", "fixed" — The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`.

  • location

    string — The information for a custom location.

  • organizer

    object — The organizer of the schedule. This field is read-only.

    • display_name

      string — The organizer's display name.

    • email

      string — The organizer's email address.

    • self

      boolean — This field indicates if this user is the organizer. This field is read-only.

  • schedule_id

    string — The unique identifier of schedule.

  • schedule_type

    string, possible values: "one", "multiple" — This field indicates if the schedule type is "one" (belongs to an individual user) or "multiple".

  • scheduling_url

    string — The URL of the user’s scheduling site where invitees book this event type.

  • secret

    boolean — This field indicates if the event type is hidden on the owner's main scheduling page.

  • segments

    array — The available time segments of the event.

    Items:

    • end

      string — The end date and time of the segment.

    • start

      string — The start date and time of the segment.

  • segments_recurrence

    object — The week of the available time rule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sundays

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

  • slug

    string — The event portion of the event's URL that identifies a specific web page.

  • start_date

    string — The schedule's start date.

  • start_time_increment

    number — This field sets the frequency of available time slots for invitees.

  • status

    string, possible values: "confirmed", "cancelled" — The status of schedule: confirmed or cancelled.

  • summary

    string — The event's summary.

  • time_zone

    string — the timezone of this availability rule.

  • updated

    string — 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
  • active

    boolean — This field indicates if the schedule is active.

  • add_on_type

    string, possible values: "zoomMeeting", "zoomPhone", "offline" — The method of the type of `addOn`, such as Zoom meeting, Zoom phone, or offline.

  • availability_override

    boolean — This field indicates the use of the availability rule.

  • availability_rules

    array — The availability of the time rule.

    Items:

    • availability_id

      string — The ID of this availability rule.

    • email

      string — The owner of this availability rule.

    • segments

      array — The available time segments of the event.

      Items:

      • end

        string — The end date and time of the segment.

      • start

        string — The start date and time of the segment.

    • segments_recurrence

      object — The week of available time rule.

      • fri

        array — Friday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • mon

        array — Monday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sat

        array — Saturday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sun

        array — Sundays

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • thu

        array — Thursday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • tue

        array — Tuesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • wed

        array — Wednesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

    • time_zone

      string — The timezone of this availability rule.

    • use_custom

      boolean — This field indicates the use of custom availability instead of the rule.

  • booking_limit

    number — This field sets the maximum events allowed per day.

  • buffer

    object — This field indicates the extra time before or after the booked schedule.

    • after

      number — This field adds the time before the booked schedule.

    • before

      number — This field adds the time after the booked schedule.

  • capacity

    number — This field indicates the maximum invitees per event.

  • color

    string — The hexadecimal color value of the event type's scheduling page.

  • creator

    object — The creator of the schedule. The field is read-only.

    • display_name

      string — This field indicates the creator of the display name.

    • email

      string — This field indicates the creator's email address.

    • self

      boolean — This field indicates if you created the schedule. The field is read-only.

  • cushion

    number — This field indicates the minimum time before a schedule starts when the attendees can book.

  • custom_fields

    array — 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_choices

      array — 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_id

      string — The ID of this question.

  • description

    string — The schedule's description.

  • duration

    number — This field indicates the duration of the meeting in minutes, range: [1, 1440].

  • end_date

    string — The schedule's end date.

  • interval_type

    string, possible values: "unlimited", "fixed" — The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`.

  • location

    string — The information for a custom location.

  • organizer

    object — The organizer of the schedule. This field is read-only.

    • display_name

      string — The organizer's display name.

    • email

      string — The organizer's email address.

    • self

      boolean — This field indicates if this user is the organizer. This field is read-only.

  • schedule_id

    string — The unique identifier of a schedule.

  • schedule_type

    string, possible values: "one", "multiple" — This field indicates if the schedule type is **one** (belongs to an individual user) or **multiple**.

  • scheduling_url

    string — The URL of the user's scheduling site where invitees book this event type.

  • secret

    boolean — This field indicates if the event type is hidden on the owner's main scheduling page.

  • segments

    array — The available time segments of the event.

    Items:

    • end

      string — The end date and time of the segment.

    • start

      string — The start date and time of the segment.

  • segments_recurrence

    object — The week of the available time rule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sundays

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

  • slug

    string — The event portion of the event's URL that identifies a specific web page.

  • start_date

    string — The schedule's start date.

  • start_time_increment

    number — This field sets the frequency of available time slots for invitees.

  • status

    string, possible values: "confirmed", "cancelled" — The status of schedule: confirmed or cancelled.

  • summary

    string — The event's summary.

  • time_zone

    string — the timezone of this availability rule.

  • updated

    string — 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
  • active

    boolean — This field indicates if the schedule is active.

  • add_on_type

    string, possible values: "zoomMeeting", "zoomPhone", "offline" — The method of `addOn`, such as Zoom meeting, Zoom phone, and offline.

  • availability_override

    boolean — This field indicates the use of the availability rule.

  • availability_rules

    array — The availability time rule.

    Items:

    • availability_id

      string — The ID of this availability rule.

    • email

      string — The owner of this availability rule.

    • segments

      array — The available time segments of the event.

      Items:

      • end

        string — The end date-time of the segment.

      • start

        string — The start date-time of the segment.

    • segments_recurrence

      object — The week of available time rule.

      • fri

        array — Friday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • mon

        array — Monday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sat

        array — Saturday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • sun

        array — Sunday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • thu

        array — Thursday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • tue

        array — Tuesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

      • wed

        array — Wednesday

        Items:

        • end

          string — The end time of this day.

        • start

          string — The start time of this day.

    • time_zone

      string — The timezone of this availability rule.

    • use_custom

      boolean — This field indicates whether to use the custom availability instead of the rule.

  • booking_limit

    number — This field sets the maximum events allowed per day.

  • buffer

    object — The extra time before or after booked schedule.

    • after

      number — This field adds time before the booked schedule.

    • before

      number — This field adds time after the booked schedule.

  • capacity

    number — The maximum invitees per event.

  • color

    string — The hexadecimal color value of the event type's scheduling page.

  • cushion

    number — The minimum time before a schedule starts that attendees can book.

  • custom_fields

    array — 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_choices

      array — 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_id

      string — The ID of this question

  • description

    string — The schedule's description

  • duration

    number — The duration of meeting in minutes, range: [1, 1440].

  • end_date

    string — The schedule's end date.

  • interval_type

    string, possible values: "unlimited", "fixed" — The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`.

  • location

    string — The information for a custom location.

  • secret

    boolean — This field indicates if the event type is hidden on the owner's main scheduling page.

  • segments

    array — The available time segments of the event.

    Items:

    • end

      string — The end date and time of the segment.

    • start

      string — The start date and time of the segment.

  • segments_recurrence

    object — The week of the available time rule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sunday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

  • slug

    string — The event portion of the event's URL that identifies a specific web page.

  • start_date

    string — The schedule's start date.

  • start_time_increment

    number — This field sets the frequency of available time slots for invitees.

  • status

    string, possible values: "confirmed", "cancelled" — The status of schedule, confirmed or cancelled.

  • summary

    string — The event's summary.

  • time_zone

    string — 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.

  • duration

    number — This field indicates the duration of the meeting in minutes, range: [1, 1440].

  • end_date

    string — The schedule's end date.

  • interval_type

    string, possible values: "unlimited", "fixed" — The schedule time range. Unlimited means forever and fixed means using `startDate` and `endDate`.

  • segments

    array — The available time segments of the event.

    Items:

    • end

      string — The end date and time of the segment.

    • start

      string — The start date and time of the segment.

  • segments_recurrence

    object — The week of the available time rule.

    • fri

      array — Friday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • mon

      array — Monday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sat

      array — Saturday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • sun

      array — Sundays

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • thu

      array — Thursday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • tue

      array — Tuesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

    • wed

      array — Wednesday

      Items:

      • end

        string — The end time of this day.

      • start

        string — The start time of this day.

  • start_date

    string — The schedule's start date.

  • time_zone

    string — 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
  • teams

    array — A collection of all existing team items.

    Items:

    • member_count

      integer — The team members count between 0 and 10000.

    • name

      string — The name of the team.

    • owner_id

      string — The owner user ID of the team.

    • slug

      string — The slug of the team.

    • team_id

      string — The team ID.

    • timezone

      string — 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_name

    string — The user's name

  • logo

    string — This field enables users to upload their company's logo on Zoom.

  • picture

    string — This field enables users to upload their personal avatars on Zoom.

  • scheduling_url

    string — The URL of the user’s scheduling site where invitees book this event type.

  • slug

    string — The portion of URL for the user's scheduling page where invitees book sessions that renders in a human-readable format.

  • time_zone

    string — 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"
}
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: 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>