---
title: "List all appointments"
method: GET
path: "/ext/v2/appointments/"
tags: ["Scheduler"]
---

# List all appointments

`GET /ext/v2/appointments/`

## Request

- Base URL: `https://connect.vetcove.com`
- URL: `https://connect.vetcove.com/ext/v2/appointments/`
- Auth: HTTP bearer

Returns a list of all appointments across all clinics in the organization. The appointments are sorted by creation date, with the most recent appointments appearing first.

An **appointment** represents a scheduled visit for a clinic patient at a clinic, tracking its lifecycle from request through completion or cancellation.

## Query parameters

- `ids` integer[], nullable: When provided, filters to objects with these IDs.
- `ending_before` integer, nullable: A cursor used for pagination. Fetches the page of results ending immediately before the object with the given ID. Cannot be used at the same time as `starting_after`.
- `starting_after` integer, nullable: A cursor used for pagination. Fetches the page of results starting immediately after the given ID. Cannot be used at the same time as `ending_before`.
- `limit` integer: The maximum number of items to return per page.
- `cursor` string, nullable: A cursor token used for pagination. This token contains encoded information about the last seen record in order to continue pagination. Cannot be used with `starting_after` or `ending_before` parameters.
- `modified__gte` string, date-time, nullable: Filters to objects modified on or after this datetime (ISO8601 UTC, e.g. 2025-08-25T10:30:00Z). Cannot be used with `starting_after` or `ending_before` parameters.
- `modified__lte` string, date-time, nullable: Filters to objects modified on or before this datetime (ISO8601 UTC, e.g. 2025-08-25T10:30:00Z). Cannot be used with `starting_after` or `ending_before` parameters.
- `is_deleted` 'FALSE' | 'TRUE' | 'ALL': When 'FALSE' (default), filters to non-deleted records only. When 'TRUE', filters to soft-deleted records only. When 'ALL', returns both deleted and non-deleted records.
- `clinic_client_id` integer, nullable: When provided, filters to appointments for the clinic client with this ID
- `clinic_patient_id` integer, nullable: When provided, filters to appointments for the clinic patient with this ID
- `clinic_id` integer, nullable: When provided, filters to appointments for the clinic with this ID
- `status` 'CREATING' | 'CLIENT_CREATING' | 'UNSCHEDULED' | 'UNCONFIRMED' | 'CONFIRMED' | 'DROPPED_OFF' | 'CHECKED_IN' | 'IN_PROGRESS' | 'READY_TO_GO' | 'COMPLETED' | 'NO_SHOW' | 'CANCELED' | 'IMPORTED' | 'CLIENT_REQUESTED'
- `resource_id` integer, nullable: When provided, filters to appointments assigned to the calendar resource with this ID.
- `end_datetime__lte` string, date-time, nullable: When provided, filters to appointments ending on or before this datetime. If both end_datetime__lte and start_datetime__gte are provided, end_datetime__lte must be greater than start_datetime__gte.
- `start_datetime__gte` string, date-time, nullable: When provided, filters to appointments starting on or after this datetime. If both end_datetime__lte and start_datetime__gte are provided, end_datetime__lte must be greater than start_datetime__gte.

## Response `200`

OK

- AppointmentList
  - `data` ExternalAppointmentSchema[], required: A single page of data contained within this list.
    - `alert_tags` union[], required: Array of alert tags associated with this appointment.
      - union
        - 'CONTAGIOUS'
        - ''
    - `calendar_id` integer, required: The ID of the calendar this appointment belongs to.
    - `cancelation_reason` union, required: The reason for cancelation or no-show, if applicable.
      - 'PATIENT_SEEN_ELSEWHERE' | 'CONCERN_RESOLVED' | 'PENDING_RESCHEDULE' | 'NO_LONGER_NEEDED' | 'WILL_RESCHEDULE' | 'DOCTOR_UNAVAILABLE' | 'CLINIC_SCHEDULE_CHANGE' | 'CREATED_IN_ERROR' | 'DUPLICATE' | 'WRONG_PATIENT' | 'WRONG_DATE_OR_TIME' | 'UNKNOWN' | 'OTHER' | 'NO_SHOW'
      - ''
    - `cancelation_reason_other` string, nullable, required: Free-text explanation of the cancelation, if one was provided.
    - `clinic_client_id` integer, nullable, required: The ID of the clinic client responsible for the appointment.
    - `clinic_id` integer, required: The ID of the clinic this appointment belongs to.
    - `clinic_notes` unknown, required
    - `clinic_patient_id` integer, nullable, required: The ID of the clinic patient this appointment is for.
    - `created` string, date-time, required: The datetime this object was created.
    - `deleted` string, date-time, nullable, required: The datetime this record was soft deleted.
    - `dropoff_start_datetime` string, date-time, nullable, required: ISO 8601 formatted datetime for when the patient should be dropped off.
    - `end_datetime` string, date-time, nullable, required: ISO 8601 formatted datetime for when the appointment ends.
    - `followup_appointment_ids` integer[]: List of followup appointment IDs associated with this appointment.
    - `id` integer, required: The unique identifier for the appointment.
    - `is_deleted` boolean, required: Whether this record is soft deleted or not.
    - `kind` string, nullable: The appointment kind (type of appointment).
    - `kind_id` integer, nullable: The ID of the appointment kind (type of appointment).
    - `medical_record_id` integer, nullable: The ID of the medical record associated with this appointment, if any.
    - `modified` string, date-time, required: The datetime this object was last modified; changes to related entities will not update this field.
    - `pickup_start_datetime` string, date-time, nullable, required: ISO 8601 formatted datetime for when the patient should be picked up.
    - `reason` string, nullable, required: The reason for this appointment.
    - `resource_id` integer, nullable, required: The ID of the calendar resource (provider/room) assigned to handle this appointment.
    - `resource_name` string, nullable: The name of the calendar resource (provider/room) assigned to handle this appointment.
    - `room_id` integer, nullable, required: The ID of the room assigned to this appointment, if any.
    - `room_name` string, nullable: The name of the room assigned to this appointment, if any.
    - `start_datetime` string, date-time, nullable, required: ISO 8601 formatted datetime for when the appointment starts.
    - `status` 'CREATING' | 'CLIENT_CREATING' | 'UNSCHEDULED' | 'UNCONFIRMED' | 'CONFIRMED' | 'DROPPED_OFF' | 'CHECKED_IN' | 'IN_PROGRESS' | 'READY_TO_GO' | 'COMPLETED' | 'NO_SHOW' | 'CANCELED' | 'IMPORTED' | 'CLIENT_REQUESTED', required
  - `has_more` boolean: Whether there are more pages or data in this list.
  - `next_page` string, required: A URL linking to the next page of this list.
  - `type` string: Type of this object. Always `list`.

---

[API](https://skmtc.dev/vetcove/apis/ninjaapi.md) - [All operations](https://skmtc.dev/vetcove/apis/ninjaapi/llms.txt) - [OpenAPI document](https://skmtc.dev/vetcove/apis/ninjaapi/revisions/4ceaed956e15?raw)
