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

# List Appointments

> List appointments

<Warning>
  This endpoint is currently proposed and subject to change. Functionality, request/response structure, and availability may be modified or removed in future releases. Use with caution in production environments.
</Warning>


## OpenAPI

````yaml GET /services/core/open_api/v1/appointments
openapi: 3.1.0
info:
  title: Oliver Partner API
  description: API for partners to interact with Oliver
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://partner-api.getoliver.com
security:
  - bearerAuth: []
paths:
  /services/core/open_api/v1/appointments:
    get:
      description: List appointments
      parameters:
        - name: X-Client-Id
          in: header
          description: The location id of the practice
          required: true
          schema:
            type: string
        - name: updated_at_start
          in: query
          description: Start date of the range in which results were last updated
          required: true
          schema:
            type: string
            format: date-time
        - name: updated_at_end
          in: query
          description: >-
            End date of the range in which results were last updated. If not
            provided, the current date will be used.
          required: false
          schema:
            type: string
            format: date-time
        - name: page
          in: query
          description: Page number
          required: false
          schema:
            type: integer
            default: 0
        - name: per_page
          in: query
          description: Number of results per page. Max is 100.
          required: false
          schema:
            type: integer
            default: 50
      responses:
        '200':
          description: Appointments response
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                properties:
                  success:
                    type: boolean
                  data:
                    $ref: '#/components/schemas/AppointmentResponse'
                    type: object
                  message:
                    type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
components:
  schemas:
    AppointmentResponse:
      type: object
      required:
        - page
        - per_page
        - total_pages
        - total_count
        - content
      properties:
        page:
          type: integer
        per_page:
          type: integer
        total_pages:
          type: integer
        total_count:
          type: integer
        content:
          type: array
          description: An array of appointments
          items:
            $ref: '#/components/schemas/Appointment'
    GeneralError:
      type: object
      required:
        - success
        - message
      properties:
        success:
          type: boolean
        message:
          type: string
        data:
          type: object
    Appointment:
      type: object
      required: []
      properties:
        id:
          type: string
          description: The ID of the appointment
        remote_id:
          type: string
          description: The remote ID of the appointment (The ID in the PIMS)
        status:
          type: string
          description: >-
            The status of the appointment. 'REQUESTED', 'ACCEPTED', 'CONFIRMED',
            'DELETED', 'IN_PROGRESS', 'DECLINED', 'DONE'
        booking_date:
          type: string
          format: date-time
          description: The start date/time of the appointment in ISO 8601 format
        end_date:
          type: string
          format: date-time
          description: The end date/time of the appointment in ISO 8601 format
        created_at:
          type: string
          format: date-time
          description: The date/time the appointment was created in ISO 8601 format
        updated_at:
          type: string
          format: date-time
          description: The date/time the appointment was last updated in ISO 8601 format
        referral_source:
          type: string
          description: >-
            If a referral source (utm_source) was provided to the session in
            which the appointment was booked online, it will be returned here
        referral_campaign:
          type: string
          description: >-
            If a referral campaign (utm_campaign) was provided to the session in
            which the appointment was booked online, it will be returned here
        referral_medium:
          type: string
          description: >-
            If a referral medium (utm_medium) was provided to the session in
            which the appointment was booked online, it will be returned here
        client_first_name:
          type: string
          description: The first name of the client that booked the appointment
        client_last_name:
          type: string
          description: The last name of the client that booked the appointment
        client_email:
          type: string
          description: The email address of the client that booked the appointment
        client_phone:
          type: string
          description: The phone number of the client that booked the appointment
        client_type:
          type: string
          description: The type of client that booked the appointment. 'NEW' or 'RETURNING'
        patient_name:
          type: string
          description: The name of the patient that booked the appointment
        remote_client_id:
          type: string
          description: The remote ID of the client in the PIMS
        remote_patient_id:
          type: string
          description: The remote ID of the patient in the PIMS
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````