---
title: "Get timeslots for provider on date"
method: GET
path: "/v1/providers/{provider_id}/calendar/timeslots"
tags: ["calendar-integration-timeslots"]
---

# Get timeslots for provider on date

`GET /v1/providers/{provider_id}/calendar/timeslots`

## Request

- Base URL: `https://api-developer-sandbox.zocdoc.com`
- URL: `https://api-developer-sandbox.zocdoc.com/v1/providers/{provider_id}/calendar/timeslots`
- Auth: none declared

Get timeslots for a provider and date.

## Path parameters

- `provider_id` string, required

## Query parameters

- `date` string, date, required
- `next_page_token` string
- `limit` integer

## Response `200`

OK

- TimeslotListResponse: A list of timeslots.
  - `request_id` string, required: Unique request identifier for tracing
  - `limit` integer: Maximum number of items requested. Note: For DynamoDB-style pagination, this may not match the number of items returned.
  - `next_page_token` string: Opaque cursor token for the next page. Null if no more pages.
  - `next_url` string: Complete URL for fetching the next page (convenience field)
  - `data` CalendarIntegrationTimeslotWeb[], required
    - `provider_id` string: Provider id
    - `location_id` string: Location id
    - `start_time` string, date-time-local: The local date and time within the timezone. The seconds may be omitted.
    - `time_zone` string: The IANA time zone id of the timeslot's start time.
    - `allowed_visit_reason_ids` string[]: Restrict the timeslot to these visit reasons. Both `null` and an empty array will not restrict the timeslot. Can work in conjunction with `excluded_visit_reason_ids`. `allowed_visit_reason_ids` are superceded by `excluded_visit_reason_ids`. So if a visit reason is included in both `allowed_visit_reason_ids` and `excluded_visit_reason_ids`, the net effect is that visit reason being excluded. | allowed | excluded | => Result | | ----- | -------- | --------- | | null | null | all visit reasons allowed | | [A,B] | null | only A & B are allowed | | null | [A,B] | all visit reasons except A & B are allowed | | [A,B] | [B,C] | only A is allowed (C is irrelevant) | | [A,B] | [A,B] | No visit reasons allowed, unbookable timeslot |
    - `excluded_visit_reason_ids` string[]: Exclude these visit reasons. Both `null` and an empty array means no visit reasons will be excluded. Can work in conjunction with `allowed_visit_reason_ids`. `allowed_visit_reason_ids` are superceded by `excluded_visit_reason_ids`. So if a visit reason is included in both `allowed_visit_reason_ids` and `excluded_visit_reason_ids`, the net effect is that visit reason being excluded. | allowed | excluded | => Result | | ----- | -------- | --------- | | null | null | all visit reasons allowed | | [A,B] | null | only A & B are allowed | | null | [A,B] | all visit reasons except A & B are allowed | | [A,B] | [B,C] | only A is allowed (C is irrelevant) | | [A,B] | [A,B] | No visit reasons allowed, unbookable timeslot |
    - `patient_type` 'existing' | 'new': Whether or not the patient has been to the provider's practice.
    - `timeslot_id` string, required: Timeslot id
    - `created_utc` string, instant, required: the time this timeslot was created in Zocdoc's system.

## Other responses

- `400`: Invalid request parameters.
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found

---

[API](https://skmtc.dev/zocdoc/apis/zocdoc-bundle-api.md) - [All operations](https://skmtc.dev/zocdoc/apis/zocdoc-bundle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zocdoc/apis/zocdoc-bundle-api/revisions/965a6ca4ed12?raw)
