Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Zocdoc appointments API

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

Zocdoc appointments API is one of 10 APIs that Zocdoc publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include appointments. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, and a changelog.

This API exposes 9 operations across 8 paths, and defines 44 schemas. It is described by OpenAPI 3.0.0, at version 1.176.

Requests are made against 2 base URLs: https://api-developer-sandbox.zocdoc.com, https://api-developer.zocdoc.com.

9 operations 8 paths 44 schemas 3 GET5 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
1.176
Base URL
https://api-developer.zocdoc.com
Authentication
OAuth 2.0, OAuth 2.0
Resource Areas
1

Authentication & Security 2

Zocdoc appointments API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (ClientCredentialsFlow) using the clientCredentials flow, exposing 6 scopes. It supports OAuth 2.0 (AuthorizationCodeFlow) using the authorizationCode flow, exposing 3 scopes.

  • ClientCredentialsFlow — Machine to machine authentication (for use from client server to Zocdoc). Production: https://auth.zocdoc.com/oauth/token Sandbox: https://auth-api-developer-s…
  • AuthorizationCodeFlow — Log in as a user. Client Secret is not necessary for this login flow. Production: https://auth.zocdoc.com Sandbox: https://auth-api-developer-sandbox.zocdoc.com

Paths & Operations 9

Across 8 paths, the API surfaces 9 operations — 3 GET, 5 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

appointments 9

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

POST
/v1/appointments
Create appointment
createAppointment body → 200400401403
GET
/v1/appointments
Get appointments
getAppointments 15 params → 200400401403
GET
/v1/appointments/{appointment_id}
Get appointment by id
getAppointment 1 param → 200401403404
GET
/v1/appointments/{appointment_id}/participants
Get participants for appointment
getAppointmentParticipants 1 param → 200401403404
POST
/v1/appointments/cancel
Cancel appointment
cancelAppointment body → 200400401403404409
POST
/v1/appointments/confirm
Confirm appointment
confirmAppointment body → 200400401403404409
POST
/v1/appointments/reschedule
Reschedule appointment
rescheduleAppointment body → 200400401403404
POST
/v1/appointments/{appointment_id}/attachments
Create attachment for appointment
uploadAppointmentAttachment 1 param body → 200400401403404500
PUT
/v1/appointments/update-status
Update appointment status
updateAppointmentStatus body → 200400401403404409500

Schemas 44

The contract defines 44 schemas that model the data the API accepts and returns. The most detailed are Patient (11 properties), AppointmentData (6 properties), PatientAddress (5 properties), PatientInsurance (4 properties). Each schema is shown below with its type and property counts.

BaseResult
object
1 property 1 required
AppointmentResponseData
AppointmentSortByType
string
Field to sort appointments by: starttimeutc - Sort by appointment start time (default) createdtimeutc - Sort by when appointment was created lastmodifiedtimeut…
Gender
string
Patient's gender values Female at birth - Assigned female at birth Male at birth - Assigned male at birth Cisgender - A person whose current gender corresponds…
Error
object
2 properties 1 required
AppointmentResponse
AppointmentStatusToSet
string
New status to set for the appointment. Accepted values: - arrived: Patient has arrived at the office. - noshow: Patient did not show up for their appointment.
BookAppointmentRequestBody
object
2 properties 2 required
CancellationReasonType
string
Enum field describing why the appointment was cancelled. This field is optional but recommended when known for metrics purposes. If the cancellation reason doe…
ExternalUpdateAppointmentStatusRequestBody
object
2 properties 2 required
UploadedAppointmentAttachment
object
1 property 1 required
AppointmentBaseResponse
ConfirmAppointmentRequestBody
object
1 property 1 required
AppointmentData
object
6 properties 5 required
UploadedAttachment
object
3 properties 2 required
ErrorResult
AppointmentBaseResponseData
object
Data that will be returned upon a sucessful booking request
3 properties 2 required
AppointmentStatusListResponse
RescheduleAppointmentRequestBody
object
2 properties 2 required
PaginatedBaseResult
AppointmentParticipantsResponse
UploadedAttachmentType
string
Types of attachments that patients have uploaded and are returned in participant data.
CancelAppointmentRequestBody
object
3 properties 1 required
UploadAppointmentAttachmentRequest
object
2 properties 2 required
AppointmentParticipantPatient
PatientSex
string
The patient's sex assigned at birth.
DocumentSide
string
Indicates whether the document image is of the front or back side. This field is typically used for documents like insurance cards or ID cards that have inform…
AppointmentSortDirectionType
string
SharedAppointmentResponseData
ErrorType
string
AppointmentStatusResponseData
PatientAddress
object
5 properties 4 required
UploadAppointmentAttachmentResponseData
object
2 properties 2 required
UploadAppointmentAttachmentResponse
AttachmentType
string
The type of attachment being uploaded. - communitycarepacket: Required for VA referrals to Community Care Providers. Use when submitting referral documents req…
AppointmentStatusResponse
PatientInsurance
object
4 properties
AppointmentVisitType
string
The appointment's [visit type](/guides/glossary)
PatientType
string
Whether or not the patient has been to the provider's practice.
AppointmentParticipantsResponseData
object
3 properties 3 required
Patient
object
11 properties 7 required
AppointmentStatus
string
The status of the appointment. See [Appointment Status definitions](/guides/glossary).
AppointmentConfirmationType
string
Specifies how the appointment confirmation will be handled. auto: means the system will automatically confirm. manual: means confirmation requires user action.…
AppointmentType
string
The type of appointment.

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

zocdoc-appointments-api-openapi.yml Raw ↑

Other APIs Zocdoc publishes across the network.

Zocdoc calendar-integration-timeslots API
Zocdoc credentials API
Zocdoc facilities API
Zocdoc insurance-reference API
Zocdoc provider-locations API
Zocdoc providers API
Zocdoc reference API
Zocdoc schedulable-entities API
Zocdoc webhook API