Get all Appointments
1 min
GET
https://developer.digitail.io/api/v1/appointments
filter[patient_id]arrayIds of the patients that are related to the entity
filter[visit_type_id]stringFilter by visit type ID
filter[date_before]string<p>Appointments whose start time (<code>datetime_start_utc</code>) is on or before this date (Y-m-d). Filters on the appointment slot, not on when the appointment was created or updated. The whole supplied day is included, read in the clinic's timezone (up to and including 00</p><div></div> at the start of the next day).<p></p>
filter[date_after]string<p>Appointments whose start time (<code>datetime_start_utc</code>) is on or after this date (Y-m-d). Filters on the appointment slot, not on when the appointment was created or updated — use <code>filter[last_fetched]</code> for incremental sync by modification time.</p>
filter[date_after_utc]string<p>Appointments whose start time (<code>datetime_start_utc</code>) is strictly after this moment, read as UTC rather than the clinic's timezone. Format: <code>YYYY-MM-DD HH:MM:SS</code>. Unlike <code>filter[date_after]</code> this needs no clinic context, so it is the one to use when the request is not scoped to a single clinic.</p>
filter[statuses]array<p>Statuses of appointments to fetch. Options <code>0</code> - Pending <code>1</code> - Pending Client Approval <code>2</code> - Pending Clinic Approval <code>3</code> - Rescheduled Clinic Approval <code>4</code> - Rescheduled Client Approval <code>5</code> - Confirmed <code>6</code> - Canceled By Client <code>7</code> - Canceled By Clinic' <code>8</code> - Automatically Created' <code>9</code> - No Show</p>
filter[source]integer<p>Where the appointment was booked from. Options <code>0</code> - Clinic <code>1</code> - Web <code>2</code> - Mobile app</p>
filter[patient.owners.id]arrayPet Parent ID
filter[date_between]array<p>Dates Between (start_date, end_date), format: YYYY-MM-DD</p>
filter[date_between_utc]array<p>Same as <code>filter[date_between]</code>, but the supplied dates are interpreted as UTC rather than the clinic's timezone. Format: <code>YYYY-MM-DD,YYYY-MM-DD</code>.</p>
filter[last_fetched]string<p>Returns appointments whose <code>updated_at</code> is strictly greater than this moment. Use this for incremental sync: it catches appointments modified since your last poll regardless of when they are scheduled. Send an ISO-8601 datetime; include the offset or a <code>Z</code> suffix (e.g. <code>2026-06-21T00:00:00Z</code>) so the moment is unambiguous — a value without one is read in the clinic's timezone. <code>updated_at</code> has one-second resolution and the comparison is exclusive, so subtract a small overlap (a minute is plenty) from your last cursor rather than passing it verbatim, otherwise a change written in the same second as your previous poll can be skipped.</p>
includestring<p>Additional info to include. You can use multiple, comma separated. Options:
patient, patient.species, patient.breed, patient.crossBreed, patient.owners, patient.owners.chatUser, patient.owners.appDownloadNotification, patient.owners.clients,
room, event, services (service-packages), visitType, visitType.tailsIntakeRule, visitType.defaultDropOffVet,
clinic, clinic.chatUser, clinic.rooms, clinic.schedules, clinic.schedules.intervals,
vet, vet.vetRolesAll, requests, notes, visit, activityLog, externalRefRecord, sentNotifications, toBeSentNotifications,
paymentDeposits, paymentDeposits.paymentLinks, paymentDeposits.appointments, paymentDeposits.appointments.patient,
dropOff, dropOff.vet</p>
<p><code>service</code>, <code>service.serviceDetails</code> and <code>service.category</code> are still accepted for backwards
compatibility but return no data — use <code>services</code> instead. <code>consentForms</code> is only available on
<code>GET /api/v1/appointments/{id}</code>.</p>
sortstring<p>Sort by. You can use multiple, comma separated. Options: datetime_start_utc</p>
acceptstringGenerated from available response content types
200Successful operation
curl --request GET \
--url https://developer.digitail.io/api/v1/appointments \
--header 'accept: application/json'