---
title: "Get schedulable entities"
method: GET
path: "/v1/schedulable_entities"
tags: ["schedulable-entities"]
---

# Get schedulable entities

`GET /v1/schedulable_entities`

## Request

- Base URL: `https://api-developer-sandbox.zocdoc.com`
- URL: `https://api-developer-sandbox.zocdoc.com/v1/schedulable_entities`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://auth.zocdoc.com/oauth/token` scopes: `external.schedulable_entity.read`
  - OAuth 2
    - Authorization code: `https://auth.zocdoc.com/authorize`
    - Token URL: `https://auth.zocdoc.com/oauth/token` scopes: `external.schedulable_entity.read`

Get the list of schedulable entities within the developer's Zocdoc directory (provider-locations, etc.) with availability information.

NPIs can be used to search for providers in the /v1/providers endpoint to facilitate availability, discovery, and booking. Schedulable entity ids can be used to find provider-locations in the /v1/provider_locations/{provider_location_id} endpoint to facilitate availability, discovery, and booking.

Developers can fetch the schedulable entities list and cache in their system. The available schedulable entities do not change frequently. Pulling this data once a week and/or after known directory change events should be sufficient. However, you may use the `recent_changes_72hrs` parameter and the `recent_change_summary` field to get the list of entities that have changed in the last 72 hours.

## Query parameters

- `page` integer
- `page_size` integer
- `schedule_types` string
- `recent_changes_72hrs` boolean

## Response `200`

Success

- SchedulableEntitiesResponse
  - `request_id` string, required: Unique request identifier for tracing
  - `page` integer, required: The zero based index of the current page.
  - `page_size` integer, required: The size of the current page.
  - `total_count` integer, required: The total number of result items.
  - `next_url` string, required: A link to the next page of results; null if this is the last page of results.
  - `data` SchedulableEntitiesData, required
    - `recent_change_summary` RecentChangeSummary, required
      - `schedulable_entities_added` string[], required: A provider location was activated
      - `schedulable_entities_removed` string[], required: A provider location was deactivated
      - `schedulable_entities_profile_updated` string[], required: provider or location profile data changed (NPI, name, specialty, address, default visit reason)
    - `schedulable_entities` SchedulableEntity[], required
      - `id` string, required
      - `npi` string
      - `type` 'provider_location', required
      - `go_live_timestamp_utc` string, date-time, required: The timestamp when the schedulable entity became available in the developer's directory.
      - `profile_last_modified_timestamp_utc` string, date-time, required: The timestamp when the schedulable entity's profile was last modified in the developer's directory. This includes basic information on the provider and location records.
      - `new_patient_availability` AvailabilityInfo, required
        - `next_available_utc` string, date-time: The next available date and time in UTC, across all visit reasons, up to 90 days in the future.
        - `next_28_days` 'none' | 'limited' | 'available', required: The availability status of the schedulable entity for the next 28 days. Limited availablility means that the entity has less than 20 timeslots available for the next 28 days.
        - `url` string, required: The GET URL to receive the schedulable entity's availability in this API for their default visit reason and the corresponding patient type.
      - `existing_patient_availability` AvailabilityInfo, required
        - `next_available_utc` string, date-time: The next available date and time in UTC, across all visit reasons, up to 90 days in the future.
        - `next_28_days` 'none' | 'limited' | 'available', required: The availability status of the schedulable entity for the next 28 days. Limited availablility means that the entity has less than 20 timeslots available for the next 28 days.
        - `url` string, required: The GET URL to receive the schedulable entity's availability in this API for their default visit reason and the corresponding patient type.
      - `time_zone` string: IANA time zone identifier for the location, e.g., America/New_York.
      - `main_specialty_id` string: Zocdoc specialty ID of the provider's main specialty (format `sp_<id>`). Omitted when the provider has no main specialty.
      - `main_specialty_name` string: Display name of the provider's main specialty. Omitted when the specialty id is absent or cannot be resolved.
      - `practice_id` string: Zocdoc practice ID (format `pt_<id>`) the provider belongs to. Omitted when unknown.

## Other responses

- `400`: Invalid request parameters
- `401`: Unauthorized
- `403`: Forbidden

---

[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)
