Scheduler

List calendar availability (paginated)

Returns the bookable appointment slots for a clinic's calendar resources over a date range of up to 7 days.

Calendar availability represents the open appointment slots for each resource on a calendar, with all scheduling rules applied — resource schedules, existing appointments, calendar events, designations, and business hours are all accounted for. Availability can be requested for one or more resources and one or more appointment kinds at once; the result is computed independently for each resource-and-kind combination, since an appointment kind's configured duration and designation-based restrictions affect which slots are bookable.

The appointment length used to size the returned slots defaults to the kind's configured duration, but can be overridden with a custom length that applies to every requested kind. Start times are offered on the calendar's block-increment grid rather than stepping by the appointment length, so overlapping start times are returned (for example, a 15-minute grid with a 30-minute appointment offers starts at 8:00, 8:15, and 8:30). Grid alignment is computed in the clinic's local time.

Results are paginated by appointment slot rather than by resource. When a resource's slots span a page boundary, that resource appears on consecutive pages with the remaining slots.

To keep responses bounded, the number of requested appointment kinds per call is capped, and each page returns a bounded number of slots.

get/ext/v2/calendar-availability/paginated/

Request

  • Base URL
    https://connect.vetcove.com
  • URL
    https://connect.vetcove.com/ext/v2/calendar-availability/paginated/
  • Auth
    HTTP bearer

Query parameters

start_datestring required

Required. Start date for fetching availability. This will be translated to a datetime representing the start of the day in the clinic's timezone. Must be no more than 7 days before end_date. Format: YYYY-MM-DD

end_datestring nullable

End date for fetching availability. This will be translated to a datetime representing the end of the day in the clinic's timezone. Must be no more than 7 days after start_date. Defaults to start_date if omitted. Format: YYYY-MM-DD

calendar_resource_idsinteger[] nullable

Filter to specific calendar resources by ID. Accepts multiple IDs. When omitted, availability is returned for every resource on the calendar.

appointment_kind_idsinteger[] nullable

Filter by appointment kind by ID. Accepts multiple IDs. Controls slot duration and designation filtering; each requested kind produces its own set of response entries. When omitted, a single kind-less pass is returned at the calendar's default duration.

durationinteger nullable

Overrides the appointment kind's default duration, in minutes. When provided it applies to every requested kind. Must be a positive multiple of the calendar's block increment.

limitinteger

The maximum number of appointment slots to return per page, counted by summing nested slots across every resource/kind entry on that page. A resource/kind group that spans a page boundary is split, and only the slots on this page count toward the limit. Defaults to 1000; the maximum is 5000.

cursorstring nullable

A cursor token from a previous response's next page URL. Fetches slots after the last slot of the previous page. Omit to start from the first page.

Response

OK

has_moreboolean

Whether there are more pages or data in this list.

next_pagestring required

A URL linking to the next page of this list.

typestring

Type of this object. Always list.

Changes

No recorded changes to this operation across all 1 revision of this API.