Skip to content
Download OpenAPI description
Languages
Servers
Sandbox

https://api-developer-sandbox.zocdoc.com/

Production

https://api-developer.zocdoc.com/

NPIs

Endpoints to retrieve information about the developer's directory.

Operations

Schedulable entities

Endpoints to retrieve schedulable entities with availability information.

Operations

Insurance

Endpoints to retrieve insurance plans supported by Zocdoc.

Operations

Providers

Endpoints to retrieve providers within the developer's directory.

Operations

Provider locations

Endpoints for retrieving and modifying provider location objects and their related reviews, insurance plans, and availability.

Operations

Facilities

Endpoints to retrieve facilities within the developer's directory.

Operations

Calendar integration timeslots

Endpoints to manage timeslots for providers.

Operations

Get timeslots for provider on date

Request

Get timeslots for a provider and date.

Security
ClientCredentialsFlow
Path
provider_idstringrequired
Example: pr_abc123-def456_wxyz7890
Query
datestring(date)required

The date for which to get timeslots in YYYY-MM-DD format. This parameter will match against the local date part of the time slot's start_time. For example, a timeslot with start_time of 2024-10-01T22:00 and time_zone of America/New_York is considered 2024-10-01 when querying timeslots, even though it resolves to 2024-10-02 in UTC.

Example: date=2024-10-26
limitinteger[ 1 .. 1000 ]

The limit of objects to get in the response. For this endpoint, this is equivalent to page_size.

Default 500
next_page_tokenstring

A token to get the next set of results.

curl -i -X GET \
  'https://api-developer-sandbox.zocdoc.com/v1/providers/pr_abc123-def456_wxyz7890/calendar/timeslots?date=2024-10-26&limit=500&next_page_token=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Response
No content

Request

This endpoint is used to set all slots for a given provider and date, replacing any existing slots. Sending an empty body will erase all slots for the specified date.

Note: The timeslots are stored in an eventually consistent data store. This means there is a small possibility that a fetch might not include recently created slots if you fetch timeslots immediately after inserting them.

Parameter Validations:

  • The user must have access to the specified provider_id.

Validations for each timeslot in the request body:

  • slot.provider_id:
    • Must match the provider_id specified in the endpoint parameter.
  • slot.start_time:
    • Must be a valid "local date-time" string in ISO 8601 format, e.g., 2024-09-15T12:13:00. The seconds component is optional.
    • The date component must match the date parameter.
  • slot.time_zone:
    • Must be a valid IANA time zone ID (e.g., America/New_York or America/Denver).
Security
ClientCredentialsFlow
Path
provider_idstringrequired
Example: pr_abc123-def456_wxyz7890
Query
datestring(date)required

The date for which to put timeslots in YYYY-MM-DD format.

Example: date=2024-10-16
Bodyapplication/json
timeslotsArray of objects(TimeslotBaseRequest)[ 0 .. 1500 ] items
curl -i -X PUT \
  'https://api-developer-sandbox.zocdoc.com/v1/providers/pr_abc123-def456_wxyz7890/calendar/timeslots?date=2024-10-16' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "timeslots": [
      {
        "provider_id": "pr_abc123-def456_wxyz7890",
        "location_id": "lo_abc123-def456_wxyz7890",
        "start_time": "2024-10-16T09:30:00",
        "time_zone": "America/New_York",
        "allowed_visit_reason_ids": [
          "pc_TlZW-r06U0W3pCsIGtSI5B"
        ],
        "excluded_visit_reason_ids": [
          "pc_TAZW-r16U0B3pZeIutSI3L"
        ],
        "patient_type": "new"
      }
    ]
  }'

Responses

OK

Response
No content

Appointments

Endpoints for booking, cancelling, and rescheduling appointments, including retrieving current appointment statuses and updated information.

Operations

Webhook

Sandbox endpoints to mock webhook behavior

Operations