> ## Documentation Index
> Fetch the complete documentation index at: https://developer.vetcove.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List appointment history

> Returns the change history for a specific appointment. Each history entry records a modification to the appointment (e.g., status change, reschedule, resource reassignment) along with a timestamp. The history is sorted by creation date, with the most recent entries appearing first.



## OpenAPI

````yaml get /ext/v2/appointments/{appointment_id}/history/
openapi: 3.1.0
info:
  description: ''
  title: NinjaAPI
  version: 2.0.0
servers:
  - url: https://connect.vetcove.com/
security: []
paths:
  /ext/v2/appointments/{appointment_id}/history/:
    get:
      tags:
        - Scheduler
      summary: List appointment history
      description: >-
        Returns the change history for a specific appointment. Each history
        entry records a modification to the appointment (e.g., status change,
        reschedule, resource reassignment) along with a timestamp. The history
        is sorted by creation date, with the most recent entries appearing
        first.
      operationId: appointments_get_history
      parameters:
        - description: The ID of the appointment to fetch history for
          in: path
          name: appointment_id
          required: true
          schema:
            description: The ID of the appointment to fetch history for
            title: Appointment Id
            type: integer
        - description: When provided, filters to objects with these IDs.
          in: query
          name: ids
          required: false
          schema:
            anyOf:
              - items:
                  type: integer
                type: array
              - type: 'null'
            description: When provided, filters to objects with these IDs.
            title: Ids
        - description: >-
            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`.
          in: query
          name: ending_before
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              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`.
            title: Ending Before
        - description: >-
            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`.
          in: query
          name: starting_after
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              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`.
            title: Starting After
        - description: The maximum number of items to return per page.
          in: query
          name: limit
          required: false
          schema:
            default: 10
            description: The maximum number of items to return per page.
            maximum: 100
            minimum: 1
            title: Limit
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentHistoryList'
          description: OK
      security:
        - ExternalAPIAuth: []
components:
  schemas:
    AppointmentHistoryList:
      properties:
        data:
          description: A single page of data contained within this list.
          items:
            $ref: '#/components/schemas/ExternalAppointmentHistorySchema'
          title: Data
          type: array
        has_more:
          default: false
          description: Whether there are more pages or data in this list.
          title: Has More
          type: boolean
        next_page:
          description: A URL linking to the next page of this list.
          title: Next Page
          type: string
        type:
          default: list
          description: Type of this object. Always `list`.
          title: Type
          type: string
      required:
        - data
        - next_page
      title: AppointmentHistoryList
      type: object
    ExternalAppointmentHistorySchema:
      description: >-
        Appointment history represents a snapshot of what an appointment's data
        looked like in the past.
      properties:
        acting_user_id:
          description: The ID of the profile of the user who took this action.
          title: Acting User Id
          type: integer
        action_kind:
          anyOf:
            - $ref: '#/components/schemas/HistoryActionKind'
            - const: ''
              type: string
          description: The kind of action captured by this event.
          title: Action Kind
        alert_tags:
          description: Array of alert tags associated with this appointment.
          items:
            anyOf:
              - $ref: '#/components/schemas/AppointmentAlertTag'
              - const: ''
                type: string
          title: Alert Tags
          type: array
        appointment_id:
          description: >-
            The unique identifier for the appointment that this history is
            tracking.
          title: Appointment Id
          type: integer
        clinic_client_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: The ID of the clinic client responsible for the appointment.
          title: Clinic Client Id
        clinic_patient_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: The ID of the clinic patient this appointment is for.
          title: Clinic Patient Id
        dropoff_start_datetime:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: >-
            ISO 8601 formatted datetime for when the patient should be dropped
            off.
          title: Dropoff Start Datetime
        end_datetime:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: ISO 8601 formatted datetime for when the appointment ends.
          title: End Datetime
        event_datetime:
          description: The date and time the event occurred.
          format: date-time
          title: Event Datetime
          type: string
        id:
          description: >-
            The unique identifier for this appointment history object. The value
            of this ID may exceed JavaScript's `Number.MAX_SAFE_INTEGER` (2^53 -
            1). JavaScript consumers should handle this value appropriately to
            avoid precision loss.
          format: int64
          title: Id
          type: integer
        kind_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: The ID of the appointment kind (type of appointment).
          title: Kind Id
        pickup_start_datetime:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: >-
            ISO 8601 formatted datetime for when the patient should be picked
            up.
          title: Pickup Start Datetime
        resource_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            The ID of the calendar resource (provider/room) assigned to handle
            this appointment.
          title: Resource Id
        room_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: The ID of the room assigned to this appointment, if any.
          title: Room Id
        start_datetime:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: ISO 8601 formatted datetime for when the appointment starts.
          title: Start Datetime
        status:
          $ref: '#/components/schemas/AppointmentStatus'
          description: The current status of the appointment.
      required:
        - event_datetime
        - action_kind
        - acting_user_id
        - id
        - appointment_id
        - resource_id
        - room_id
        - clinic_patient_id
        - clinic_client_id
        - start_datetime
        - end_datetime
        - status
        - dropoff_start_datetime
        - pickup_start_datetime
        - alert_tags
      title: AppointmentHistory
      type: object
    HistoryActionKind:
      enum:
        - CREATE
        - UPDATE
        - DELETE
      title: HistoryActionKind
      type: string
    AppointmentAlertTag:
      enum:
        - CONTAGIOUS
      title: AppointmentAlertTag
      type: string
    AppointmentStatus:
      enum:
        - CREATING
        - CLIENT_CREATING
        - UNSCHEDULED
        - UNCONFIRMED
        - CONFIRMED
        - DROPPED_OFF
        - CHECKED_IN
        - IN_PROGRESS
        - READY_TO_GO
        - COMPLETED
        - NO_SHOW
        - CANCELED
        - IMPORTED
        - CLIENT_REQUESTED
      title: AppointmentStatus
      type: string
  securitySchemes:
    ExternalAPIAuth:
      scheme: bearer
      type: http

````