openapi: 3.0.3
info:
  title: Cliniko API
  description: >
    This is the official API for Cliniko. Cliniko is a practice management
    system for healthcare practitioners.


    The Cliniko API is based on REST principles. This means you can use any HTTP
    client and any programming language to interact with the API.


    JSON will be returned in all responses from the API.
  version: v1
servers:
  - url: https://api.au1.cliniko.com/v1
    description: Production
externalDocs:
  description: Clinko API Developers Group
  url: https://groups.google.com/a/redguava.com.au/d/forum/cliniko-api
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
  responses:
    ValidationError:
      description: Resource could not be saved due to validation errors
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Validation Failed
              errors:
                type: object
                additionalProperties:
                  type: string
                  x-additionalPropertiesName: error field
                example:
                  api_field: error message
  parameters:
    Page:
      in: query
      name: page
      schema:
        type: integer
    PerPage:
      in: query
      name: per_page
      schema:
        type: integer
        minimum: 1
        maximum: 100
    Sort:
      in: query
      name: sort
      explode: false
      description: 'Comma separated search fields. See: [Ordering](/#ordering)'
      schema:
        type: array
        items:
          type: string
          example: created_at:desc
    Order:
      in: query
      name: order
      deprecated: true
      schema:
        type: string
        enum:
          - asc
          - desc
  schemas:
    AppointmentType:
      type: object
      properties:
        add_deposit_to_account_credit:
          type: boolean
          nullable: true
        appointment_confirmation_template_ids:
          type: array
          items:
            type: string
            format: int64
            example: '1'
          nullable: true
        appointment_follow_up_template_ids:
          type: array
          items:
            type: string
            format: int64
            example: '1'
          nullable: true
        appointment_reminder_template_ids:
          type: array
          items:
            type: string
            format: int64
            example: '1'
          nullable: true
        appointment_type_billable_items:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/appointment_type_billable_items?q%5B%5D=appointment_type_id%3A%3D1
        appointment_type_products:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/appointment_type_products?q%5B%5D=appointment_type_id%3A%3D1
        archived_at:
          type: string
          format: date-time
          nullable: true
        billable_item:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/billable_items/1
          deprecated: true
        category:
          type: string
          nullable: true
        color:
          type: string
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
        created_at:
          type: string
          format: date-time
          nullable: false
        deposit_price:
          type: string
          format: decimal
          minimum: 0
          maximum: 4000000000
          exclusiveMaximum: true
          nullable: true
        description:
          type: string
          nullable: true
        duration_in_minutes:
          type: integer
          minimum: 0
          maximum: 1440
          exclusiveMinimum: true
          exclusiveMaximum: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/appointment_types/1
        max_attendees:
          type: integer
          minimum: 0
          maximum: 100
          exclusiveMinimum: true
          exclusiveMaximum: true
        name:
          type: string
          maxLength: 255
        online_bookings_lead_time_hours:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 4
            - 12
            - 18
            - 24
            - 48
            - 72
            - 168
            - 336
            - 504
            - 672
          nullable: true
        online_payments_enabled:
          type: boolean
          nullable: true
        online_payments_mode:
          type: string
          enum:
            - deposit_required
            - optional
            - required
          nullable: true
        practitioners:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/appointment_types/1/practitioners
        product:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/products/1
          deprecated: true
        show_in_online_bookings:
          type: boolean
          nullable: true
        telehealth_enabled:
          type: boolean
          nullable: true
        treatment_note_template:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/treatment_note_templates/1
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Appointment Type
    AppointmentTypeBillableItem:
      type: object
      properties:
        appointment_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/appointment_types/1
        billable_item:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/billable_items/1
        created_at:
          type: string
          format: date-time
          nullable: false
        discount_percentage:
          type: string
          format: decimal
          minimum: 0
          maximum: 100
          nullable: true
        discounted_amount:
          type: string
          format: decimal
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        is_monetary_discount:
          type: boolean
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/appointment_type_billable_items/1
        quantity:
          type: string
          format: decimal
          minimum: -4000000000
          maximum: 4000000000
          exclusiveMaximum: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Appointment Type Billable Item
    AppointmentTypeProduct:
      type: object
      properties:
        appointment_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/appointment_types/1
        created_at:
          type: string
          format: date-time
          nullable: false
        discount_percentage:
          type: string
          format: decimal
          minimum: 0
          maximum: 100
          nullable: true
        discounted_amount:
          type: string
          format: decimal
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        is_monetary_discount:
          type: boolean
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/appointment_type_products/1
        product:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/products/1
        quantity:
          type: string
          format: decimal
          minimum: -4000000000
          maximum: 4000000000
          exclusiveMaximum: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Appointment Type Product
    AttachmentPresignedPost:
      type: object
      properties:
        fields:
          type: object
          nullable: true
          properties:
            key:
              type: string
            policy:
              type: string
            success_action_status:
              enum:
                - '201'
              format: integer
              type: string
            x-amz-algorithm:
              type: string
            x-amz-credential:
              type: string
            x-amz-signature:
              type: string
        url:
          type: string
          format: uri
          nullable: true
      x-tags:
        - Patient Attachment
    Attendee:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        arrived:
          type: boolean
          nullable: true
        booking:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/bookings/1
        booking_ip_address:
          type: string
          format: ipv4
          example: 10.0.0.43
          nullable: true
        cancellation_note:
          type: string
          nullable: true
        cancellation_reason:
          type: integer
          nullable: true
        cancellation_reason_description:
          type: string
          nullable: true
          enum:
            - Feeling Better
            - Condition Worse
            - Sick
            - COVID-19 related
            - Away
            - Other
            - Work
            - ''
        cancellation_url:
          type: string
          format: uri
          nullable: true
        cancelled_at:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        email_reminder_sent:
          type: boolean
          nullable: true
          deprecated: true
          description: Please use the `sent_email_reminders_count` attribute instead.
        id:
          type: string
          format: int64
          nullable: false
        invoice_status:
          type: integer
          nullable: true
          description: |
            | Enum Value | Description |
            |---|---|
            |10|Open|
            |20|Paid|
            |30|Closed|
            |40|Open credit|
          enum:
            - 10
            - 20
            - 30
            - 40
        invoices:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/attendees/1/invoices
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/attendees/1
        notes:
          type: string
          nullable: true
        online_booking_policy_accepted:
          type: boolean
          nullable: true
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        patient_case:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patient_cases/1
        patient_forms:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/attendees/1/patient_forms
        sent_email_follow_ups_count:
          type: integer
          nullable: true
        sent_email_reminders_count:
          type: integer
          nullable: true
        sent_sms_follow_ups_count:
          type: integer
          nullable: true
        sent_sms_reminders_count:
          type: integer
          nullable: true
        sms_reminder_sent:
          type: boolean
          nullable: true
          deprecated: true
          description: Please use the `sent_sms_reminders_count` attribute instead.
        telehealth_url:
          type: string
          format: uri
          nullable: true
        treatment_note_status:
          type: integer
          nullable: true
          description: |
            | Enum Value | Description |
            |---|---|
            |10|Draft|
            |90|Final|
          enum:
            - 10
            - 90
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Attendee
    AvailabilityBlock:
      type: object
      properties:
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        created_at:
          type: string
          format: date-time
          nullable: false
        ends_at:
          type: string
          format: date-time
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/availability_blocks/1
        practitioner:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1
        repeat_rule:
          type: object
          properties:
            number_of_repeats:
              type: integer
              minimum: 0
              exclusiveMinimum: true
              nullable: true
            repeat_type:
              type: string
              enum:
                - Daily
                - Monthly
                - Weekly
              nullable: true
            repeating_interval:
              type: integer
              minimum: 0
              maximum: 100
              exclusiveMinimum: true
              nullable: true
          nullable: true
        starts_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Availability Block
    BillableItem:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        concession_prices:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/concession_prices?q%5B%5D=billable_item_id%3A%3D1
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        item_code:
          type: string
          maxLength: 100
          nullable: true
        item_type:
          enum:
            - Product
            - Service
            - Other
          type: string
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/billable_items/1
        name:
          type: string
          maxLength: 255
        price:
          type: string
          format: decimal
          minimum: -4000000000
          maximum: 4000000000
          exclusiveMaximum: true
        tax:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/taxes/1
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Billable Item
    Booking:
      anyOf:
        - $ref: '#/components/schemas/GroupAppointment'
        - $ref: '#/components/schemas/IndividualAppointment'
        - $ref: '#/components/schemas/UnavailableBlock'
      x-tags:
        - Booking
    Business:
      type: object
      properties:
        additional_information:
          type: string
          maxLength: 5000
          nullable: true
        additional_invoice_information:
          type: string
          maxLength: 5000
          nullable: true
        address_1:
          type: string
          nullable: true
        address_2:
          type: string
          nullable: true
        appointment_reminders_enabled:
          type: boolean
          nullable: true
        appointment_type_ids:
          type: array
          items:
            type: string
            format: int64
            example: '1'
          nullable: true
        appointments:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1/appointments
        archived_at:
          type: string
          format: date-time
          nullable: true
        business_name:
          type: string
          nullable: true
        business_registration_name:
          type: string
          nullable: true
        business_registration_value:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        contact_information:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        country_code:
          type: string
          description: >-
            [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
            country code
          example: AU
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
          deprecated: true
        display_name:
          type: string
          nullable: true
        email_reply_to:
          type: string
          pattern: ^[A-Z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        label:
          type: string
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/businesses/1
        post_code:
          type: string
          nullable: true
        practitioners:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1/practitioners
        show_in_online_bookings:
          type: boolean
          nullable: true
        state:
          type: string
          nullable: true
        time_zone:
          type: string
          description: >-
            Human-readable label for a time zone. See link below for supported
            values.
          example: Melbourne
          nullable: true
          externalDocs:
            description: Time zone Support through the API
            url: /guides/time_zone_support/
        time_zone_identifier:
          type: string
          description: >-
            IANA identifier for a time zone. See link below for supported
            values.
          example: Australia/Melbourne
          nullable: true
          externalDocs:
            description: Time zone Support through the API
            url: /guides/time_zone_support/
        updated_at:
          type: string
          format: date-time
          nullable: false
        website_address:
          type: string
          nullable: true
      x-tags:
        - Business
    Communication:
      anyOf:
        - $ref: '#/components/schemas/MemoCommunication'
        - $ref: '#/components/schemas/EmailCommunication'
        - $ref: '#/components/schemas/SmsCommunication'
      x-tags:
        - Communication
    ConcessionPrice:
      type: object
      properties:
        billable_item:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/billable_items/1
        concession_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/concession_types/1
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/concession_prices/1
        price:
          type: string
          format: decimal
          minimum: -4000000000
          maximum: 4000000000
          exclusiveMaximum: true
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Concession Price
    ConcessionType:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        concession_prices:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/concession_prices?q%5B%5D=concession_type_id%3A%3D1
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/concession_types/1
        name:
          type: string
          maxLength: 255
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Concession Type
    Contact:
      type: object
      properties:
        address_1:
          type: string
          maxLength: 255
          nullable: true
        address_2:
          type: string
          maxLength: 255
          nullable: true
        address_3:
          type: string
          maxLength: 255
          nullable: true
        archived_at:
          type: string
          format: date-time
          nullable: true
        city:
          type: string
          maxLength: 255
          nullable: true
        company_name:
          type: string
          maxLength: 255
          nullable: true
        country:
          type: string
          nullable: true
        country_code:
          type: string
          description: >-
            [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
            country code
          example: AU
          maxLength: 2
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        doctor_type:
          type: string
          enum:
            - general_practitioner
            - specialist
          nullable: true
        email:
          type: string
          maxLength: 255
          nullable: true
        first_name:
          type: string
          maxLength: 255
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        last_name:
          type: string
          maxLength: 255
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/contacts/1
        notes:
          type: string
          nullable: true
        occupation:
          type: string
          maxLength: 255
          nullable: true
        phone_numbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
          nullable: true
        post_code:
          type: string
          maxLength: 255
          nullable: true
        preferred_name:
          type: string
          nullable: true
        provider_number:
          type: string
          maxLength: 255
          nullable: true
        state:
          type: string
          maxLength: 255
          nullable: true
        title:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
          enum:
            - Doctor
            - 3rd Party Payer
            - Standard
        type_code:
          type: integer
          enum:
            - 0
            - 1
            - 2
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Contact
    DailyAvailability:
      type: object
      properties:
        availabilities:
          type: array
          nullable: true
          items:
            properties:
              ends_at:
                example: '13:00'
                format: time
                type: string
              starts_at:
                example: '09:00'
                format: time
                type: string
            type: object
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        created_at:
          type: string
          format: date-time
          nullable: false
        day_of_week:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/daily_availabilities/1
        practitioner:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1
        time_zone:
          type: string
          description: >-
            See: [supported time
            zones](/guides/time_zone_support/#accepted-values-for-time_zone)
          example: Melbourne
          nullable: true
        time_zone_identifier:
          type: string
          description: >-
            See: [supported time zone
            identifiers](/guides/time_zone_support/#accepted-values-for-time_zone_identifier)
          example: Australia/Melbourne
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Daily Availability
    EmailCommunication:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendee:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/attendees/1
        booking:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/bookings/1
        category:
          type: string
          nullable: true
          enum:
            - Account Statement
            - Account ownership information updated
            - Appointment Cancellation
            - Appointment Confirmation
            - Appointment Follow Up Message
            - Appointment Reminder
            - Auth Code
            - Bulk Email
            - Cancelled appointment notification
            - Card automatically updated notification
            - Card expiring notification
            - Completed Patient Form
            - Data export complete notification
            - Email OTP code
            - Invoice
            - Letter
            - Mailchimp integration disconnected
            - Memo
            - New user
            - Online payment request
            - Password changed
            - Patient Form
            - Patient Reply Forwarded
            - Patient form renewal
            - Payment Receipt
            - Practitioner Appointment Notification
            - Referred user bonus notification
            - Referred user signed up
            - Referring user bonus notification
            - Reply from Patient
            - Reply from Practitioner
            - Rescheduled Appointment Notification
            - Reset password instructions
            - SMS Message
            - SMS credit purchase failed
            - SMS credit purchase receipt
            - SMS credit purchase reminder
            - SMS credit purchase requires confirmation
            - Stripe receipt
            - Subscription initiation alert
            - Subscription payment failure
            - Today's appointments for practitioner
            - Trial ending reminder
            - Trial payment failure
            - Unlock instructions
            - Upcoming appointments
            - Upcoming yearly payment alert
            - User email changed
            - User email confirmation instructions
            - Xero OAuth error
            - Xero sync error notification
        category_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 19
            - 20
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 27
            - 28
            - 29
            - 30
            - 31
            - 32
            - 33
            - 34
            - 35
            - 36
            - 37
            - 38
            - 39
            - 40
            - 41
            - 42
            - 43
            - 44
            - 45
            - 46
            - 47
            - 48
            - 49
            - 50
            - 51
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | Appointment Reminder |
            | 2 | Patient Reply Forwarded |
            | 3 | Invoice |
            | 4 | Appointment Confirmation |
            | 5 | Letter |
            | 6 | Practitioner Appointment Notification |
            | 7 | SMS Message |
            | 8 | Reply from Patient |
            | 9 | Account Statement |
            | 10 | Cancelled appointment notification |
            | 11 | Auth Code |
            | 12 | Memo |
            | 13 | Reply from Practitioner |
            | 14 | Payment Receipt |
            | 15 | Bulk Email |
            | 16 | Appointment Cancellation |
            | 17 | Patient Form |
            | 18 | Upcoming appointments |
            | 19 | Completed Patient Form |
            | 20 | Online payment request |
            | 21 | New user |
            | 22 | Referred user signed up |
            | 23 | Referring user bonus notification |
            | 24 | Referred user bonus notification |
            | 25 | Password changed |
            | 26 | Data export complete notification |
            | 27 | SMS credit purchase reminder |
            | 28 | SMS credit purchase failed |
            | 29 | SMS credit purchase requires confirmation |
            | 30 | SMS credit purchase receipt |
            | 31 | Xero sync error notification |
            | 32 | Xero OAuth error |
            | 33 | Mailchimp integration disconnected |
            | 34 | Card automatically updated notification |
            | 35 | Card expiring notification |
            | 36 | Upcoming yearly payment alert |
            | 37 | Trial payment failure |
            | 38 | Subscription payment failure |
            | 39 | Trial ending reminder |
            | 40 | Stripe receipt |
            | 41 | Today's appointments for practitioner |
            | 42 | User email confirmation instructions |
            | 43 | User email changed |
            | 44 | Unlock instructions |
            | 45 | Reset password instructions |
            | 46 | Account ownership information updated |
            | 47 | Email OTP code |
            | 48 | Appointment Follow Up Message |
            | 49 | Subscription initiation alert |
            | 50 | Patient form renewal |
            | 51 | Rescheduled Appointment Notification |
        content:
          type: string
          nullable: true
        content_subject:
          type: string
          maxLength: 255
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        direction_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | Sent |
            | 2 | Received |
        direction_description:
          type: string
          nullable: true
          enum:
            - Received
            - Sent
        from:
          type: string
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        invoice:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/invoices/1
        letter:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/letters/1
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/communications/1
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        payment:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/payments/1
        to:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
          enum:
            - Email
            - Other
            - Phone call
            - SMS
        type_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
            - 3
            - 4
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | SMS |
            | 2 | Email |
            | 3 | Phone call |
            | 4 | Other |
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Email Communication
    FullPatientExport:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        content:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: https://api.au1.cliniko.com/v1/patient_attachments/1/content
                  format: uri
                  type: string
              type: object
        content_type:
          type: string
          nullable: true
          description: mime type
          example: text/plain
        created_at:
          type: string
          format: date-time
          nullable: false
        description:
          type: string
          maxLength: 255
          nullable: true
        filename:
          type: string
          maxLength: 255
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/patient_attachments/1
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        pinned_at:
          type: string
          format: date-time
          nullable: true
        processed_at:
          type: string
          format: date-time
          nullable: true
        processing_completed:
          type: boolean
          nullable: true
        size:
          type: string
          format: int64
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
        user:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/users/1
      x-tags:
        - Full Patient Export
    FullPatientExportBody:
      type: object
      properties:
        description:
          type: string
          maxLength: 255
          nullable: true
    GroupAppointment:
      type: object
      properties:
        appointment_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/appointment_types/1
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendees:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/group_appointments/1/attendees
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        conflicts:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: >-
                    https://api.au1.cliniko.com/v1/group_appointments/1/conflicts
                  format: uri
                  type: string
              type: object
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        ends_at:
          type: string
          format: date-time
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/group_appointments/1
        max_attendees:
          type: integer
          minimum: 1
          maximum: 100
          exclusiveMinimum: true
          exclusiveMaximum: true
        notes:
          type: string
          nullable: true
        patient_ids:
          type: array
          items:
            type: string
            format: int64
            example: '1'
          nullable: true
        practitioner:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1
        repeat_rule:
          type: object
          properties:
            number_of_repeats:
              type: integer
              minimum: 0
              exclusiveMinimum: true
              nullable: true
            repeat_type:
              type: string
              enum:
                - Daily
                - Monthly
                - Weekly
              nullable: true
            repeating_interval:
              type: integer
              minimum: 0
              maximum: 100
              exclusiveMinimum: true
              nullable: true
          nullable: true
        repeated_from:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/group_appointments/1
        repeats:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: >-
                    https://api.au1.cliniko.com/v1/group_appointments?q[]=repeated_from_id:=1
                  format: uri
                  type: string
              type: object
        starts_at:
          type: string
          format: date-time
        telehealth_url:
          type: string
          format: uri
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Group Appointment
    IndividualAppointment:
      type: object
      properties:
        appointment_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/appointment_types/1
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendees:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/individual_appointments/1/attendees
        booking_ip_address:
          type: string
          format: ipv4
          example: 10.0.0.43
          nullable: true
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        cancellation_note:
          type: string
          nullable: true
        cancellation_reason:
          type: integer
          nullable: true
        cancellation_reason_description:
          type: string
          nullable: true
          enum:
            - Feeling Better
            - Condition Worse
            - Sick
            - COVID-19 related
            - Away
            - Other
            - Work
        cancelled_at:
          type: string
          format: date-time
          nullable: true
        conflicts:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: >-
                    https://api.au1.cliniko.com/v1/individual_appointments/1/conflicts
                  format: uri
                  type: string
              type: object
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        did_not_arrive:
          type: boolean
          nullable: true
        email_reminder_sent:
          type: boolean
          nullable: true
        ends_at:
          type: string
          format: date-time
        has_patient_appointment_notes:
          type: boolean
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        invoice_status:
          type: integer
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/individual_appointments/1
        notes:
          type: string
          nullable: true
        online_booking_policy_accepted:
          type: boolean
          nullable: true
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        patient_arrived:
          type: boolean
          nullable: true
        patient_case:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patient_cases/1
        patient_name:
          type: string
          nullable: true
        practitioner:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1
        repeat_rule:
          type: object
          properties:
            number_of_repeats:
              type: integer
              minimum: 0
              exclusiveMinimum: true
              nullable: true
            repeat_type:
              type: string
              enum:
                - Daily
                - Monthly
                - Weekly
              nullable: true
            repeating_interval:
              type: integer
              minimum: 0
              maximum: 100
              exclusiveMinimum: true
              nullable: true
          nullable: true
        repeated_from:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/individual_appointments/1
        repeats:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: >-
                    https://api.au1.cliniko.com/v1/individual_appointments?q[]=repeated_from_id:=1
                  format: uri
                  type: string
              type: object
        sms_reminder_sent:
          type: boolean
          nullable: true
        starts_at:
          type: string
          format: date-time
        telehealth_url:
          type: string
          format: uri
          nullable: true
        treatment_note_status:
          type: integer
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Individual Appointment
    Invoice:
      type: object
      properties:
        appointment:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/appointments/1
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendee:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/attendees/1
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        calculation_method:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
            - 3
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | Legacy |
            | 2 | Tax exclusive |
            | 3 | Tax inclusive |
        calculation_method_description:
          type: string
          nullable: true
          enum:
            - Legacy
            - Tax exclusive
            - Tax inclusive
        closed_at:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        discounted_amount:
          type: string
          format: decimal
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        invoice_items:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/invoices/1/invoice_items
        invoice_to:
          type: string
          nullable: true
        issue_date:
          type: string
          format: date
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/invoices/1
        net_amount:
          type: string
          format: decimal
          nullable: true
        notes:
          type: string
          nullable: true
        number:
          type: integer
        online_payment_url:
          type: string
          format: uri
          nullable: true
        original_invoice:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/invoices/1
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        patient_extra_information:
          type: string
          nullable: true
        practitioner:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1
        reversed_invoices:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/invoices?q%5B%5D=invoice_id%3A%3D1
        signature:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/signatures/1
        status:
          type: integer
          nullable: true
          enum:
            - 10
            - 20
            - 30
            - 40
          description: |-
            | Enum Value | Description |
            |---|---|
            | 10 | Open |
            | 20 | Paid |
            | 30 | Closed |
            | 40 | Open credit |
        status_description:
          type: string
          nullable: true
          enum:
            - Open
            - Paid
            - Closed
            - Open credit
        tax_amount:
          type: string
          format: decimal
          nullable: true
        total_amount:
          type: string
          format: decimal
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Invoice
    InvoiceItem:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        billable_item:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/billable_items/1
        code:
          type: string
          maxLength: 100
          nullable: true
        concession_type_name:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        discount_percentage:
          type: string
          format: decimal
          minimum: 0
          maximum: 100
          nullable: true
        discounted_amount:
          type: string
          format: decimal
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        invoice:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/invoices/1
        is_monetary_discount:
          type: boolean
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/invoice_items/1
        name:
          type: string
          nullable: true
        net_price:
          type: string
          format: decimal
          nullable: true
        product:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/products/1
        quantity:
          type: string
          format: decimal
          minimum: -4000000000
          maximum: 4000000000
          exclusiveMaximum: true
        tax_amount:
          type: string
          format: decimal
          nullable: true
          deprecated: true
        tax_name:
          type: string
          nullable: true
        tax_rate:
          type: string
          format: decimal
          nullable: true
        total_including_tax:
          type: number
          nullable: true
        unit_price:
          type: string
          format: decimal
          minimum: -4000000000
          maximum: 4000000000
          exclusiveMaximum: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Invoice Item
    MedicalAlert:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/medical_alerts/1
        name:
          type: string
          minLength: 1
          maxLength: 255
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Medical Alert
    MemoCommunication:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        category:
          type: string
          nullable: true
          enum:
            - Memo
        category_code:
          type: integer
          nullable: true
          enum:
            - 12
          description: |
            | Enum Value | Description |
            |---|---|
            |12|Memo|
        confidential:
          type: boolean
          nullable: true
        content:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        direction_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | Sent |
            | 2 | Received |
        direction_description:
          type: string
          nullable: true
          enum:
            - Received
            - Sent
        from:
          type: string
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/communications/1
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        to:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
          enum:
            - Email
            - Other
            - Phone call
            - SMS
        type_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
            - 3
            - 4
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | SMS |
            | 2 | Email |
            | 3 | Phone call |
            | 4 | Other |
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Memo Communication
    MemoCommunicationBody:
      type: object
      properties:
        category_code:
          type: integer
          nullable: true
          enum:
            - 12
          description: |
            | Enum Value | Description |
            |---|---|
            |12|Memo|
        confidential:
          type: boolean
          nullable: true
        content:
          type: string
          nullable: true
        direction_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | Sent |
            | 2 | Received |
        from:
          type: string
          nullable: true
        patient_id:
          type: string
          format: int64
          description: patient id
          example: '1'
        to:
          type: string
          nullable: true
        type_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
            - 3
            - 4
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | SMS |
            | 2 | Email |
            | 3 | Phone call |
            | 4 | Other |
    Patient:
      type: object
      properties:
        accepted_email_marketing:
          type: boolean
          nullable: true
        accepted_privacy_policy:
          type: boolean
          nullable: true
        accepted_sms_marketing:
          type: boolean
          nullable: true
        address_1:
          type: string
          maxLength: 255
          nullable: true
        address_2:
          type: string
          maxLength: 255
          nullable: true
        address_3:
          type: string
          maxLength: 255
          nullable: true
        appointment_notes:
          type: string
          nullable: true
        appointments:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1/appointments
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendees:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/attendees?q%5B%5D=patient_id%3A%3D1
        city:
          type: string
          maxLength: 255
          nullable: true
        concession_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/concession_types/1
        country:
          type: string
          nullable: true
          deprecated: true
        country_code:
          type: string
          description: >-
            [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
            country code
          example: AU
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        custom_fields:
          type: object
          nullable: true
          properties:
            sections:
              type: array
              nullable: false
              items:
                type: object
                properties:
                  name:
                    type: string
                    nullable: true
                  token:
                    type: string
                    format: uuid
                    example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                    nullable: false
                  archived:
                    type: boolean
                    nullable: true
                  fields:
                    type: array
                    nullable: false
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/PatientCustomFieldText'
                        - $ref: '#/components/schemas/PatientCustomFieldParagraph'
                        - $ref: '#/components/schemas/PatientCustomFieldDate'
                        - $ref: '#/components/schemas/PatientCustomFieldCheckboxes'
                        - $ref: '#/components/schemas/PatientCustomFieldRadiobuttons'
                required:
                  - token
                  - fields
        date_of_birth:
          type: string
          format: date
          nullable: true
        deleted_at:
          type: string
          format: date-time
          nullable: true
        dva_card_number:
          type: string
          pattern: >-
            ^[NVQSWT]([A-Z
            ][0-9]{1,6}|[A-Z]{2}[0-9]{1,5}|[A-Z]{3}[0-9]{1,4})[A-Z]?$
          nullable: true
        email:
          type: string
          pattern: ^[A-Z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$
          maxLength: 255
          nullable: true
        emergency_contact:
          type: string
          maxLength: 255
          nullable: true
        first_name:
          type: string
          maxLength: 255
        follow_ups_communication_channels:
          type: array
          nullable: false
          items:
            enum:
              - 1
              - 2
            nullable: false
            type: integer
          description: >
            Channels through which the patient will receive appointment
            follow-up messages.

            | Enum Value | Description |

            |---|---|

            | 1 | SMS |

            | 2 | Email |
          example:
            - 1
            - 2
        follow_ups_communication_channels_description:
          type: string
          nullable: false
          enum:
            - None
            - SMS
            - Email
            - SMS & Email
        gender:
          type: string
          nullable: true
          deprecated: true
        gender_identity:
          type: string
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        invoice_default_to:
          type: string
          nullable: true
        invoice_email:
          type: string
          pattern: ^[A-Z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$
          nullable: true
        invoice_extra_information:
          type: string
          nullable: true
        invoices:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1/invoices
        label:
          type: string
          nullable: true
          description: Full name
        last_name:
          type: string
          maxLength: 255
        latest_booking:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/bookings/1
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/patients/1
        medical_alerts:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1/medical_alerts
        medicare:
          type: string
          maxLength: 255
          nullable: true
        medicare_reference_number:
          type: string
          maxLength: 255
          nullable: true
        merged_at:
          type: string
          nullable: true
          format: date-time
        merged_with_patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        notes:
          type: string
          nullable: true
        occupation:
          type: string
          maxLength: 255
          nullable: true
        old_reference_id:
          type: string
          maxLength: 255
          nullable: true
        patient_attachments:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/patients/1/patient_attachments
        patient_phone_numbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
          nullable: true
        post_code:
          type: string
          nullable: true
        preferred_first_name:
          type: string
          maxLength: 255
          nullable: true
        pronouns:
          type: object
          nullable: true
          properties:
            accusative:
              type: string
              nullable: false
              maxLength: 50
            nominative:
              type: string
              nullable: false
              maxLength: 50
            predicative_possessive:
              type: string
              nullable: false
              maxLength: 50
            pronominal_possessive:
              type: string
              nullable: false
              maxLength: 50
            reflexive:
              type: string
              nullable: false
              maxLength: 50
          required:
            - accusative
            - nominative
            - predicative_possessive
            - pronominal_possessive
            - reflexive
        receives_cancellation_emails:
          type: boolean
          nullable: true
        receives_confirmation_emails:
          type: boolean
          nullable: true
        referral_source:
          type: string
          maxLength: 255
          nullable: true
        referring_doctor:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/contacts/1
        relationships:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/relationships?q%5B%5D=patient_id%3A%3D1
        reminder_type:
          type: string
          nullable: true
          deprecated: true
          description: Please use the `reminders_communication_channels` attribute instead.
          enum:
            - None
            - SMS
            - Email
            - SMS & Email
        reminders_communication_channels:
          type: array
          nullable: false
          items:
            enum:
              - 1
              - 2
            nullable: false
            type: integer
          description: >
            Channels through which the patient will receive appointment
            reminders.

            | Enum Value | Description |

            |---|---|

            | 1 | SMS |

            | 2 | Email |
          example:
            - 1
            - 2
        reminders_communication_channels_description:
          type: string
          nullable: false
          enum:
            - None
            - SMS
            - Email
            - SMS & Email
        sex:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        time_zone:
          type: string
          description: >-
            See: [supported time zone
            identifiers](/guides/time_zone_support/#accepted-values-for-time_zone_identifier)
          example: Australia/Melbourne
          nullable: true
        title:
          type: string
          maxLength: 255
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Patient
    PatientAttachment:
      anyOf:
        - $ref: '#/components/schemas/FullPatientExport'
        - $ref: '#/components/schemas/UploadedPatientAttachment'
      x-tags:
        - Patient Attachment
    PatientCase:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendee_ids:
          type: array
          nullable: true
          items:
            format: int64
            type: string
        attendees:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patient_cases/1/attendees
        bookings:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patient_cases/1/bookings
        closed:
          type: boolean
          nullable: true
          deprecated: true
        closed_at:
          type: string
          format: date-time
          nullable: true
        contact:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/contacts/1
        created_at:
          type: string
          format: date-time
          nullable: false
        expiry_date:
          type: string
          format: date
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        include_cancelled_attendees:
          type: boolean
          nullable: true
        include_dna_attendees:
          type: boolean
          nullable: true
        invoices:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patient_cases/1/invoices
        issue_date:
          type: string
          format: date
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/patient_cases/1
        max_invoiceable_amount:
          type: string
          format: decimal
          minimum: 0
          exclusiveMinimum: true
          nullable: true
        max_sessions:
          type: integer
          minimum: 1
          maximum: 200
          nullable: true
        name:
          type: string
        notes:
          type: string
          nullable: true
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        patient_attachments:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/patient_cases/1/patient_attachments
        referral:
          type: boolean
          nullable: true
        referral_type:
          type: string
          enum:
            - dva
            - medicare
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Patient Case
    PatientCustomFieldCheckboxes:
      type: object
      nullable: false
      properties:
        options:
          type: array
          nullable: false
          items:
            type: object
            properties:
              archived:
                type: boolean
                nullable: true
              name:
                type: string
                nullable: true
              token:
                type: string
                format: uuid
                example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                nullable: false
              selected:
                type: boolean
                nullable: false
            required:
              - token
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: true
            archived:
              type: boolean
              nullable: true
            selected:
              type: boolean
              nullable: false
            value:
              type: string
              nullable: false
              maxLength: 255
        archived:
          type: boolean
          nullable: true
        name:
          type: string
          nullable: true
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - checkboxes
      required:
        - token
      title: Checkboxes
    PatientCustomFieldDate:
      type: object
      nullable: false
      properties:
        value:
          type: string
          format: date
          nullable: false
        archived:
          type: boolean
          nullable: true
        name:
          type: string
          nullable: true
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - date
      required:
        - token
      title: Date
    PatientCustomFieldDefinitionCheckboxes:
      type: object
      nullable: false
      properties:
        options:
          type: array
          nullable: false
          items:
            type: object
            properties:
              archived:
                type: boolean
                nullable: false
              name:
                type: string
                nullable: false
                maxLength: 255
              token:
                type: string
                format: uuid
                example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                nullable: false
            required:
              - name
              - token
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
            archived:
              type: boolean
              nullable: false
        archived:
          type: boolean
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - checkboxes
      required:
        - options
        - name
        - token
        - type
      title: Checkboxes
    PatientCustomFieldDefinitionDate:
      type: object
      nullable: false
      properties:
        archived:
          type: boolean
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - date
      required:
        - name
        - token
        - type
      title: Date
    PatientCustomFieldDefinitionParagraph:
      type: object
      nullable: false
      properties:
        archived:
          type: boolean
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - paragraph
      required:
        - name
        - token
        - type
      title: Paragraph
    PatientCustomFieldDefinitionRadiobuttons:
      type: object
      nullable: false
      properties:
        options:
          type: array
          nullable: false
          items:
            type: object
            properties:
              archived:
                type: boolean
                nullable: false
              name:
                type: string
                nullable: false
                maxLength: 255
              token:
                type: string
                format: uuid
                example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                nullable: false
            required:
              - name
              - token
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
            archived:
              type: boolean
              nullable: false
        archived:
          type: boolean
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - radiobuttons
      required:
        - options
        - name
        - token
        - type
      title: Radiobuttons
    PatientCustomFieldDefinitionText:
      type: object
      nullable: false
      properties:
        archived:
          type: boolean
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - text
      required:
        - name
        - token
        - type
      title: Text
    PatientCustomFieldParagraph:
      type: object
      nullable: false
      properties:
        value:
          type: string
          nullable: false
        archived:
          type: boolean
          nullable: true
        name:
          type: string
          nullable: true
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - paragraph
      required:
        - token
      title: Paragraph
    PatientCustomFieldRadiobuttons:
      type: object
      nullable: false
      properties:
        options:
          type: array
          nullable: false
          items:
            type: object
            properties:
              archived:
                type: boolean
                nullable: true
              name:
                type: string
                nullable: true
              token:
                type: string
                format: uuid
                example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                nullable: false
              selected:
                type: boolean
                nullable: false
            required:
              - token
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: true
            archived:
              type: boolean
              nullable: true
            selected:
              type: boolean
              nullable: false
            value:
              type: string
              nullable: false
              maxLength: 255
        archived:
          type: boolean
          nullable: true
        name:
          type: string
          nullable: true
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - radiobuttons
      required:
        - token
      title: Radiobuttons
    PatientCustomFieldText:
      type: object
      nullable: false
      properties:
        value:
          type: string
          nullable: false
        archived:
          type: boolean
          nullable: true
        name:
          type: string
          nullable: true
        token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - text
      required:
        - token
      title: Text
    PatientForm:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendee:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/attendees/1
        booking:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/bookings/1
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        completed_at:
          type: string
          format: date-time
          nullable: true
        content:
          type: object
          nullable: true
          properties:
            sections:
              type: array
              nullable: false
              items:
                type: object
                properties:
                  name:
                    type: string
                    nullable: true
                    maxLength: 255
                  description:
                    type: string
                    nullable: true
                  questions:
                    type: array
                    nullable: false
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/PatientFormQuestionText'
                        - $ref: '#/components/schemas/PatientFormQuestionParagraph'
                        - $ref: '#/components/schemas/PatientFormQuestionAddress'
                        - $ref: '#/components/schemas/PatientFormQuestionDate'
                        - $ref: '#/components/schemas/PatientFormQuestionEmail'
                        - $ref: '#/components/schemas/PatientFormQuestionPhone'
                        - $ref: '#/components/schemas/PatientFormQuestionPronouns'
                        - $ref: '#/components/schemas/PatientFormQuestionSignature'
                        - $ref: '#/components/schemas/PatientFormQuestionCheckboxes'
                        - $ref: '#/components/schemas/PatientFormQuestionRadiobuttons'
                        - $ref: '#/components/schemas/PatientFormQuestionSelect'
                        - $ref: '#/components/schemas/PatientFormQuestionFullName'
        created_at:
          type: string
          format: date-time
          nullable: false
        edited_at:
          type: string
          format: date-time
          nullable: true
        email_to_patient_on_completion:
          type: boolean
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/patient_forms/1
        name:
          type: string
          maxLength: 255
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        patient_form_template:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patient_form_templates/1
        restricted_to_practitioner:
          type: boolean
          nullable: true
        signatures:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: >-
                    https://api.au1.cliniko.com/v1/patient_forms/1/signatures/112233
                  format: uri
                  type: string
              type: object
        updated_at:
          type: string
          format: date-time
          nullable: false
        url:
          type: string
          format: uri
          nullable: true
      x-tags:
        - Patient Form
    PatientFormQuestionAddress:
      type: object
      nullable: false
      properties:
        answer:
          type: object
          nullable: false
          properties:
            address_1:
              type: string
              nullable: false
              maxLength: 255
            address_2:
              type: string
              nullable: false
              maxLength: 255
            address_3:
              type: string
              nullable: false
              maxLength: 255
            city:
              type: string
              nullable: false
              maxLength: 255
            state:
              type: string
              nullable: false
              maxLength: 255
            post_code:
              type: string
              nullable: false
              maxLength: 255
            country_code:
              type: string
              nullable: false
              maxLength: 2
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - address
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - address
      required:
        - name
        - type
        - patient_field_connection
      title: Address
    PatientFormQuestionCheckboxes:
      type: object
      nullable: false
      properties:
        answers:
          type: array
          nullable: false
          items:
            type: object
            properties:
              value:
                type: string
                nullable: true
                maxLength: 255
              selected:
                type: boolean
                nullable: true
              custom_field_option_token:
                type: string
                format: uuid
                example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                nullable: false
                description: >-
                  Required if `patient_field_connection` on the parent question
                  is `"custom_field"`
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
            selected:
              type: boolean
              nullable: false
            value:
              type: string
              nullable: false
              maxLength: 255
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - checkboxes
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
      required:
        - name
        - type
      title: Checkboxes
    PatientFormQuestionDate:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          format: date
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - date
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
            - date_of_birth
      required:
        - name
        - type
      title: Date
    PatientFormQuestionEmail:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          nullable: false
          maxLength: 255
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - email
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - email
      required:
        - name
        - type
        - patient_field_connection
      title: Email
    PatientFormQuestionFullName:
      type: object
      nullable: false
      properties:
        answer:
          type: object
          nullable: false
          properties:
            title:
              type: string
              nullable: false
              maxLength: 255
            first_name:
              type: string
              nullable: false
              maxLength: 255
            last_name:
              type: string
              nullable: false
              maxLength: 255
            preferred_first_name:
              type: string
              nullable: false
              maxLength: 255
          required:
            - first_name
            - last_name
        options:
          type: object
          nullable: false
          properties:
            title_enabled:
              type: boolean
              nullable: false
            preferred_first_name_enabled:
              type: boolean
              nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - full_name
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - full_name
      required:
        - name
        - type
        - patient_field_connection
      title: FullName
    PatientFormQuestionParagraph:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          nullable: false
          maxLength: 10000
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - paragraph
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
      required:
        - name
        - type
      title: Paragraph
    PatientFormQuestionPhone:
      type: object
      nullable: false
      properties:
        answer:
          type: array
          nullable: false
          items:
            type: object
            properties:
              number:
                type: string
                nullable: false
                maxLength: 100
              phone_type:
                type: string
                nullable: false
                enum:
                  - Fax
                  - Home
                  - Mobile
                  - Other
                  - Work
            required:
              - number
              - phone_type
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - phone
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - phone
      required:
        - name
        - type
        - patient_field_connection
      title: Phone
    PatientFormQuestionPronouns:
      type: object
      nullable: false
      properties:
        answer:
          type: object
          nullable: false
          properties:
            accusative:
              type: string
              nullable: false
              maxLength: 50
            nominative:
              type: string
              nullable: false
              maxLength: 50
            predicative_possessive:
              type: string
              nullable: false
              maxLength: 50
            pronominal_possessive:
              type: string
              nullable: false
              maxLength: 50
            reflexive:
              type: string
              nullable: false
              maxLength: 50
          required:
            - accusative
            - nominative
            - predicative_possessive
            - pronominal_possessive
            - reflexive
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - pronouns
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - pronouns
      required:
        - name
        - type
        - patient_field_connection
      title: Pronouns
    PatientFormQuestionRadiobuttons:
      type: object
      nullable: false
      properties:
        answers:
          type: array
          nullable: false
          items:
            type: object
            properties:
              value:
                type: string
                nullable: true
                maxLength: 255
              selected:
                type: boolean
                nullable: true
              custom_field_option_token:
                type: string
                format: uuid
                example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                nullable: false
                description: >-
                  Required if `patient_field_connection` on the parent question
                  is `"custom_field"`
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
            selected:
              type: boolean
              nullable: false
            value:
              type: string
              nullable: false
              maxLength: 255
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - radiobuttons
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
      required:
        - name
        - type
      title: Radiobuttons
    PatientFormQuestionSelect:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          nullable: false
          maxLength: 255
        options:
          type: array
          nullable: false
          items:
            type: string
            maxLength: 255
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
            label:
              type: string
              nullable: false
              maxLength: 50
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - select
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - gender_identity
            - sex
      required:
        - options
        - name
        - type
        - patient_field_connection
      title: Select
    PatientFormQuestionSignature:
      type: object
      nullable: false
      properties:
        signature_id:
          type: string
          format: int64
          example: '1'
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - signature
      required:
        - name
        - type
      title: Signature
    PatientFormQuestionText:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          nullable: false
          maxLength: 10000
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - text
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
            - emergency_contact
            - medicare_number
            - medicare_reference_number
            - occupation
      required:
        - name
        - type
      title: Text
    PatientFormTemplate:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        content:
          type: object
          nullable: true
          properties:
            sections:
              type: array
              nullable: false
              items:
                type: object
                properties:
                  name:
                    type: string
                    nullable: true
                    maxLength: 255
                  description:
                    type: string
                    nullable: true
                  questions:
                    type: array
                    nullable: false
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/PatientFormTemplateQuestionText'
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionParagraph
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionAddress
                        - $ref: '#/components/schemas/PatientFormTemplateQuestionDate'
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionEmail
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionPhone
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionPronouns
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionSignature
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionCheckboxes
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionRadiobuttons
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionSelect
                        - $ref: >-
                            #/components/schemas/PatientFormTemplateQuestionFullName
        created_at:
          type: string
          format: date-time
          nullable: false
        email_to_patient_on_completion:
          type: boolean
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/patient_form_templates/1
        name:
          type: string
          maxLength: 255
        restricted_to_practitioner:
          type: boolean
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Patient Form Template
    PatientFormTemplateQuestionAddress:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - address
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - address
      required:
        - name
        - type
        - patient_field_connection
      title: Address
    PatientFormTemplateQuestionCheckboxes:
      type: object
      nullable: false
      properties:
        answers:
          type: array
          nullable: false
          items:
            type: object
            properties:
              value:
                type: string
                nullable: true
                maxLength: 255
          description: Must be absent if `patient_field_connection` is `"custom_field"`
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - checkboxes
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
      required:
        - name
        - type
      title: Checkboxes
    PatientFormTemplateQuestionDate:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - date
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
            - date_of_birth
      required:
        - name
        - type
      title: Date
    PatientFormTemplateQuestionEmail:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - email
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - email
      required:
        - name
        - type
        - patient_field_connection
      title: Email
    PatientFormTemplateQuestionFullName:
      type: object
      nullable: false
      properties:
        options:
          type: object
          nullable: false
          properties:
            title_enabled:
              type: boolean
              nullable: false
            preferred_first_name_enabled:
              type: boolean
              nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - full_name
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - full_name
      required:
        - name
        - type
        - patient_field_connection
      title: FullName
    PatientFormTemplateQuestionParagraph:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - paragraph
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
      required:
        - name
        - type
      title: Paragraph
    PatientFormTemplateQuestionPhone:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - phone
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - phone
      required:
        - name
        - type
        - patient_field_connection
      title: Phone
    PatientFormTemplateQuestionPronouns:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - pronouns
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - pronouns
      required:
        - name
        - type
        - patient_field_connection
      title: Pronouns
    PatientFormTemplateQuestionRadiobuttons:
      type: object
      nullable: false
      properties:
        answers:
          type: array
          nullable: false
          items:
            type: object
            properties:
              value:
                type: string
                nullable: true
                maxLength: 255
          description: Must be absent if `patient_field_connection` is `"custom_field"`
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - radiobuttons
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
      required:
        - name
        - type
      title: Radiobuttons
    PatientFormTemplateQuestionSelect:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - select
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - gender_identity
            - sex
      required:
        - name
        - type
        - patient_field_connection
      title: Select
    PatientFormTemplateQuestionSignature:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - signature
      required:
        - name
        - type
      title: Signature
    PatientFormTemplateQuestionText:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        required:
          type: boolean
          nullable: false
        type:
          type: string
          nullable: true
          enum:
            - text
        custom_field_token:
          type: string
          format: uuid
          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
          nullable: false
          description: Required if `patient_field_connection` is `"custom_field"`
        patient_field_connection:
          type: string
          nullable: false
          enum:
            - custom_field
            - emergency_contact
            - medicare_number
            - medicare_reference_number
            - occupation
      required:
        - name
        - type
      title: Text
    PhoneNumber:
      type: object
      properties:
        normalized_number:
          type: string
          format: phone
          example: '39012345678'
        number:
          type: string
          format: phone
          example: 0-123-456-78
        phone_type:
          type: string
          enum:
            - Fax
            - Home
            - Mobile
            - Other
            - Work
    Practitioner:
      type: object
      properties:
        active:
          type: boolean
          nullable: true
        appointment_types:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/practitioners/1/appointment_types
        appointments:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1/appointments
        created_at:
          type: string
          format: date-time
          nullable: false
        default_appointment_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/appointment_types/1
        description:
          type: string
          nullable: true
        designation:
          type: string
          maxLength: 255
          nullable: true
        display_name:
          type: string
          nullable: true
        first_name:
          type: string
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        invoices:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1/invoices
        label:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/practitioners/1
        practitioner_reference_numbers:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/practitioners/1/practitioner_reference_numbers
        show_in_online_bookings:
          type: boolean
          nullable: true
        title:
          type: string
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
        user:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/users/1
      x-tags:
        - Practitioner
    PractitionerReferenceNumber:
      type: object
      properties:
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/practitioner_reference_numbers/1
        name:
          type: string
          nullable: true
        practitioner:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1
        reference_number:
          type: string
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Practitioner Reference Number
    Product:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        cost_price:
          type: string
          format: decimal
          minimum: 0
          maximum: 4000000000
          exclusiveMaximum: true
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        item_code:
          type: string
          maxLength: 100
          nullable: true
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/products/1
        name:
          type: string
          maxLength: 255
        notes:
          type: string
          nullable: true
        price_ex_tax:
          type: string
          format: decimal
          nullable: true
        price_including_tax:
          type: string
          format: decimal
          nullable: true
        product_supplier:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/product_suppliers/1
        product_supplier_name:
          type: string
          nullable: true
          deprecated: true
        serial_number:
          type: string
          maxLength: 255
          nullable: true
        stock_adjustments:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: >-
                    https://api.au1.cliniko.com/v1/stock_adjustments?q%5B%5D=product_id%3A%3D1
        stock_level:
          type: string
          format: decimal
          minimum: -4000000000
          maximum: 4000000000
          exclusiveMinimum: true
          exclusiveMaximum: true
          nullable: true
        tax:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/taxes/1
        updated_at:
          type: string
          format: date-time
          nullable: false
        product_supplier_id:
          format: int64
          type: string
      x-tags:
        - Product
    ProductSupplier:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/product_suppliers/1
        name:
          type: string
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Product Supplier
    PublicSettings:
      type: object
      properties:
        account:
          type: object
          nullable: true
          properties:
            country:
              type: string
            country_code:
              description: >-
                [ISO
                3166-1](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
                country code
              example: AU
              type: string
            currency_symbol:
              type: string
            has_time_travelers:
              type: boolean
            id:
              example: '1'
              format: int64
              type: string
            name:
              type: string
            subdomain:
              type: string
            time_zone_support:
              type: boolean
        calendar:
          type: object
          nullable: true
          properties:
            end_hour:
              type: integer
            multiple_appointments_gap:
              type: boolean
            show_current_time_indicator:
              type: boolean
            start_hour:
              type: integer
            timeslot_height_in_pixels:
              type: integer
            timeslot_size_in_minutes:
              type: integer
        documents_and_printing:
          type: object
          nullable: true
          properties:
            logo_height:
              type: integer
            logo_url:
              format: uri
              nullable: true
              type: string
        integrations:
          type: object
          nullable: true
          properties:
            mail_chimp:
              properties:
                enabled:
                  type: boolean
              type: object
            xero:
              properties:
                enabled:
                  type: boolean
              type: object
        online_bookings:
          type: object
          nullable: true
          properties:
            allow_bookings_days_in_advance:
              type: integer
            allow_online_bookings_time_zone_choice:
              type: boolean
            booking_reservation_minutes:
              type: integer
            calendar_info:
              nullable: true
              type: string
            daily_bookings_limit:
              type: integer
            disabled_text:
              nullable: true
              type: string
            disabled_title:
              nullable: true
              type: string
            enabled:
              type: boolean
            logo_url:
              format: uri
              nullable: true
              type: string
            max_appointments_per_day_segment:
              type: integer
            min_hours_advance_required_to_book:
              type: integer
            min_hours_notice_for_patient_cancellation:
              type: integer
            notice_enabled:
              type: boolean
            notice_text:
              nullable: true
              type: string
            notice_title:
              nullable: true
              type: string
            notify_practitioner_by_email:
              type: boolean
            notify_practitioner_by_sms:
              type: boolean
            policy:
              nullable: true
              type: string
            practitioner_order:
              items:
                format: int64
                type: string
              nullable: true
              type: array
            privacy_policy_url:
              format: uri
              nullable: true
              type: string
            require_patient_address:
              type: boolean
            show_appointment_duration:
              type: boolean
            show_prices:
              type: boolean
        online_payments:
          type: object
          nullable: true
          properties:
            activated:
              type: boolean
        patient_custom_fields_definition:
          type: object
          nullable: true
          properties:
            sections:
              type: array
              nullable: false
              items:
                type: object
                properties:
                  name:
                    type: string
                    nullable: false
                    maxLength: 255
                  token:
                    type: string
                    format: uuid
                    example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                    nullable: false
                  archived:
                    type: boolean
                    nullable: false
                  fields:
                    type: array
                    nullable: false
                    items:
                      oneOf:
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionText
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionParagraph
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionDate
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionCheckboxes
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionRadiobuttons
                required:
                  - name
                  - token
                  - fields
          required:
            - sections
        patient_privacy:
          type: object
          nullable: true
          properties:
            browser_title_name_format:
              enum:
                - first_name
                - full_name
                - initials
                - anonymous
                - semi_anonymous
              type: string
            ical_patient_name_option:
              enum:
                - first_name
                - full_name
                - initials
                - anonymous
                - semi_anonymous
              type: string
            prevent_sending_financial_data_by_email:
              type: boolean
            requires_hipaa_compliance:
              type: boolean
        reminders:
          type: object
          nullable: true
          properties:
            default_reminder_type:
              deprecated: true
              description: >-
                Please use the
                `default_reminders_communication_channels_description` attribute
                instead.
              enum:
                - None
                - SMS
                - Email
                - SMS & Email
              type: string
            default_reminders_communication_channels:
              description: >
                The array of communication channels that will be used for new
                patient reminders.

                | Enum Value | Description |

                |---|---|

                | 1 | SMS |

                | 2 | Email |
              items:
                type: integer
                enum:
                  - 1
                  - 2
              type: array
            default_reminders_communication_channels_description:
              enum:
                - None
                - SMS
                - Email
                - SMS & Email
              type: string
        sms:
          type: object
          nullable: true
          properties:
            alphanumeric_source_number_required:
              type: boolean
            default_alphanumeric_source_number:
              type: string
            max_message_length:
              nullable: true
              type: integer
            number_of_usable_characters_per_message:
              type: integer
            replies_supported:
              type: boolean
        terminology:
          type: object
          nullable: true
          properties:
            patient:
              enum:
                - patient
                - client
              type: string
            titles:
              items:
                type: string
              type: array
        wait_list:
          type: object
          nullable: true
          properties:
            default_wait_list_expiry_period:
              type: integer
      x-tags:
        - Public Settings
    ReferralSource:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/patients/123/referral_source
        notes:
          type: string
          nullable: true
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        referral_source_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/referral_source_types/1
        referrer:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: https://api.au1.cliniko.com/v1/patients/456
                  format: uri
                  type: string
              type: object
        referrer_type:
          type: string
          nullable: true
          enum:
            - Patient
            - Contact
        subcategory:
          type: string
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Referral Source
    ReferralSourceType:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/referral_source_types/1
        name:
          type: string
          maxLength: 255
        referrer_type:
          type: string
          nullable: true
          enum:
            - Contact
            - Patient
        referrers:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: https://api.au1.cliniko.com/v1/patients
                  format: uri
                  type: string
              type: object
        subcategories:
          type: array
          nullable: true
          example:
            - the google
            - myspace
            - friendster
            - ask jeeves
          items:
            type: string
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Referral Source Type
    Relationship:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/relationships/1
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        related_patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        relation:
          type: integer
          nullable: true
          enum:
            - 10
            - 20
            - 30
            - 40
            - 50
            - 60
            - 70
        relation_description:
          type: string
          nullable: true
          enum:
            - Parent
            - Child
            - Sibling
            - Spouse
            - Partner
            - Relative
            - Other
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Relationship
    Service:
      type: object
      properties:
        appointment_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/appointment_types/1
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        practitioners:
          type: array
          nullable: true
          items:
            properties:
              links:
                properties:
                  self:
                    example: https://api.au1.cliniko.com/v1/practitioners/1
                    format: uri
                    type: string
                type: object
            type: object
      x-tags:
        - Service
    Settings:
      type: object
      properties:
        account:
          type: object
          nullable: true
          properties:
            compliance:
              properties:
                has_hipaa_compliance_conflicts:
                  type: boolean
                hipaa_compliance-conflict_messages:
                  items:
                    type: string
                  type: array
              type: object
            country:
              type: string
            country_code:
              description: >-
                [ISO
                3166-1](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
                country code
              example: AU
              type: string
            currency_symbol:
              type: string
            email_from:
              type: string
            first_name:
              type: string
            has_time_travelers:
              type: boolean
            id:
              example: '1'
              format: int64
              type: string
            last_name:
              type: string
            name:
              type: string
            subdomain:
              type: string
            time_zone_support:
              type: boolean
        calendar:
          type: object
          nullable: true
          properties:
            end_hour:
              type: integer
            multiple_appointments_gap:
              type: boolean
            show_current_time_indicator:
              type: boolean
            start_hour:
              type: integer
            timeslot_height_in_pixels:
              type: integer
            timeslot_size_in_minutes:
              type: integer
        documents_and_printing:
          type: object
          nullable: true
          properties:
            logo_height:
              type: integer
            logo_url:
              format: uri
              nullable: true
              type: string
        integrations:
          type: object
          nullable: true
          properties:
            mail_chimp:
              properties:
                enabled:
                  type: boolean
              type: object
            medipass:
              properties:
                enabled:
                  type: boolean
              type: object
            xero:
              properties:
                enabled:
                  type: boolean
              type: object
        online_bookings:
          type: object
          nullable: true
          properties:
            adroll:
              properties:
                advertiser_id:
                  nullable: true
                  type: string
                pixel_id:
                  nullable: true
                  type: string
              type: object
            allow_bookings_days_in_advance:
              type: integer
            allow_online_bookings_time_zone_choice:
              type: boolean
            booking_reservation_minutes:
              type: integer
            calendar_info:
              nullable: true
              type: string
            daily_bookings_limit:
              type: integer
            disabled_text:
              nullable: true
              type: string
            disabled_title:
              nullable: true
              type: string
            enabled:
              type: boolean
            google_analytics:
              properties:
                tracking_id:
                  nullable: true
                  type: string
              type: object
            google_tag_manager:
              properties:
                container_id:
                  nullable: true
                  type: string
              type: object
            logo_url:
              format: uri
              nullable: true
              type: string
            max_appointments_per_day_segment:
              type: integer
            min_hours_advance_required_to_book:
              type: integer
            min_hours_notice_for_patient_cancellation:
              type: integer
            notice_enabled:
              type: boolean
            notice_text:
              nullable: true
              type: string
            notice_title:
              nullable: true
              type: string
            notify_practitioner_by_email:
              type: boolean
            notify_practitioner_by_sms:
              type: boolean
            policy:
              nullable: true
              type: string
            practitioner_order:
              items:
                format: int64
                type: string
              nullable: true
              type: array
            privacy_policy_url:
              format: uri
              nullable: true
              type: string
            require_patient_address:
              type: boolean
            show_appointment_duration:
              type: boolean
            show_prices:
              type: boolean
        online_payments:
          type: object
          nullable: true
          properties:
            activated:
              type: boolean
        patient_custom_fields_definition:
          type: object
          nullable: true
          properties:
            sections:
              type: array
              nullable: false
              items:
                type: object
                properties:
                  name:
                    type: string
                    nullable: false
                    maxLength: 255
                  token:
                    type: string
                    format: uuid
                    example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                    nullable: false
                  archived:
                    type: boolean
                    nullable: false
                  fields:
                    type: array
                    nullable: false
                    items:
                      oneOf:
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionText
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionParagraph
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionDate
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionCheckboxes
                        - $ref: >-
                            #/components/schemas/PatientCustomFieldDefinitionRadiobuttons
                required:
                  - name
                  - token
                  - fields
          required:
            - sections
        patient_privacy:
          type: object
          nullable: true
          properties:
            anonymise_appointments_on_deletion:
              type: boolean
            anonymise_booking_notifications:
              type: boolean
            anonymise_invoices_and_payments_on_deletion:
              type: boolean
            baa_requested:
              type: boolean
            browser_title_name_format:
              enum:
                - first_name
                - full_name
                - initials
                - anonymous
                - semi_anonymous
              type: string
            ical_patient_name_option:
              enum:
                - first_name
                - full_name
                - initials
                - anonymous
                - semi_anonymous
              type: string
            prevent_sending_financial_data_by_email:
              type: boolean
            requires_hipaa_compliance:
              type: boolean
        reminders:
          type: object
          nullable: true
          properties:
            default_reminder_type:
              deprecated: true
              description: >-
                Please use the
                `default_reminders_communication_channels_description` attribute
                instead.
              enum:
                - None
                - SMS
                - Email
                - SMS & Email
              type: string
            default_reminders_communication_channels:
              description: >
                The array of communication channels that will be used for new
                patient reminders.

                | Enum Value | Description |

                |---|---|

                | 1 | SMS |

                | 2 | Email |
              items:
                type: integer
                enum:
                  - 1
                  - 2
              type: array
            default_reminders_communication_channels_description:
              enum:
                - None
                - SMS
                - Email
                - SMS & Email
              type: string
        sms:
          type: object
          nullable: true
          properties:
            alphanumeric_source_number_required:
              type: boolean
            default_alphanumeric_source_number:
              type: string
            max_message_length:
              nullable: true
              type: integer
            number_of_usable_characters_per_message:
              type: integer
            replies_supported:
              type: boolean
        terminology:
          type: object
          nullable: true
          properties:
            patient:
              enum:
                - patient
                - client
              type: string
            titles:
              items:
                type: string
              type: array
        wait_list:
          type: object
          nullable: true
          properties:
            default_wait_list_expiry_period:
              type: integer
      x-tags:
        - Settings
    Signature:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        image:
          type: string
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/signatures/1
        updated_at:
          type: string
          format: date-time
          nullable: false
        user:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/users/1
      x-tags:
        - Signature
    SmsCommunication:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendee:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/attendees/1
        booking:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/bookings/1
        category:
          type: string
          nullable: true
          enum:
            - Account Statement
            - Account ownership information updated
            - Appointment Cancellation
            - Appointment Confirmation
            - Appointment Follow Up Message
            - Appointment Reminder
            - Auth Code
            - Bulk Email
            - Cancelled appointment notification
            - Card automatically updated notification
            - Card expiring notification
            - Completed Patient Form
            - Data export complete notification
            - Email OTP code
            - Invoice
            - Letter
            - Mailchimp integration disconnected
            - Memo
            - New user
            - Online payment request
            - Password changed
            - Patient Form
            - Patient Reply Forwarded
            - Patient form renewal
            - Payment Receipt
            - Practitioner Appointment Notification
            - Referred user bonus notification
            - Referred user signed up
            - Referring user bonus notification
            - Reply from Patient
            - Reply from Practitioner
            - Rescheduled Appointment Notification
            - Reset password instructions
            - SMS Message
            - SMS credit purchase failed
            - SMS credit purchase receipt
            - SMS credit purchase reminder
            - SMS credit purchase requires confirmation
            - Stripe receipt
            - Subscription initiation alert
            - Subscription payment failure
            - Today's appointments for practitioner
            - Trial ending reminder
            - Trial payment failure
            - Unlock instructions
            - Upcoming appointments
            - Upcoming yearly payment alert
            - User email changed
            - User email confirmation instructions
            - Xero OAuth error
            - Xero sync error notification
        category_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 19
            - 20
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 27
            - 28
            - 29
            - 30
            - 31
            - 32
            - 33
            - 34
            - 35
            - 36
            - 37
            - 38
            - 39
            - 40
            - 41
            - 42
            - 43
            - 44
            - 45
            - 46
            - 47
            - 48
            - 49
            - 50
            - 51
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | Appointment Reminder |
            | 2 | Patient Reply Forwarded |
            | 3 | Invoice |
            | 4 | Appointment Confirmation |
            | 5 | Letter |
            | 6 | Practitioner Appointment Notification |
            | 7 | SMS Message |
            | 8 | Reply from Patient |
            | 9 | Account Statement |
            | 10 | Cancelled appointment notification |
            | 11 | Auth Code |
            | 12 | Memo |
            | 13 | Reply from Practitioner |
            | 14 | Payment Receipt |
            | 15 | Bulk Email |
            | 16 | Appointment Cancellation |
            | 17 | Patient Form |
            | 18 | Upcoming appointments |
            | 19 | Completed Patient Form |
            | 20 | Online payment request |
            | 21 | New user |
            | 22 | Referred user signed up |
            | 23 | Referring user bonus notification |
            | 24 | Referred user bonus notification |
            | 25 | Password changed |
            | 26 | Data export complete notification |
            | 27 | SMS credit purchase reminder |
            | 28 | SMS credit purchase failed |
            | 29 | SMS credit purchase requires confirmation |
            | 30 | SMS credit purchase receipt |
            | 31 | Xero sync error notification |
            | 32 | Xero OAuth error |
            | 33 | Mailchimp integration disconnected |
            | 34 | Card automatically updated notification |
            | 35 | Card expiring notification |
            | 36 | Upcoming yearly payment alert |
            | 37 | Trial payment failure |
            | 38 | Subscription payment failure |
            | 39 | Trial ending reminder |
            | 40 | Stripe receipt |
            | 41 | Today's appointments for practitioner |
            | 42 | User email confirmation instructions |
            | 43 | User email changed |
            | 44 | Unlock instructions |
            | 45 | Reset password instructions |
            | 46 | Account ownership information updated |
            | 47 | Email OTP code |
            | 48 | Appointment Follow Up Message |
            | 49 | Subscription initiation alert |
            | 50 | Patient form renewal |
            | 51 | Rescheduled Appointment Notification |
        content:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        direction_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | Sent |
            | 2 | Received |
        direction_description:
          type: string
          nullable: true
          enum:
            - Received
            - Sent
        from:
          type: string
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        invoice:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/invoices/1
        letter:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/letters/1
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/communications/1
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        payment:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/payments/1
        to:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
          enum:
            - Email
            - Other
            - Phone call
            - SMS
        type_code:
          type: integer
          nullable: true
          enum:
            - 1
            - 2
            - 3
            - 4
          description: |-
            | Enum Value | Description |
            |---|---|
            | 1 | SMS |
            | 2 | Email |
            | 3 | Phone call |
            | 4 | Other |
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Sms Communication
    StockAdjustment:
      type: object
      properties:
        adjustment_type:
          type: string
          enum:
            - Correction
            - Damaged
            - Item Sold
            - Other
            - Out of Date
            - Returned
            - Stock Purchase
        archived_at:
          type: string
          format: date-time
          nullable: true
        comment:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/stock_adjustments/1
        notes:
          type: string
          nullable: true
        product:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/products/1
        quantity:
          type: string
          format: decimal
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
        user:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/users/1
      x-tags:
        - Stock Adjustment
    Tax:
      type: object
      properties:
        amount:
          type: string
          format: decimal
          minimum: 0
          maximum: 4000000000
          exclusiveMaximum: true
          deprecated: true
        created_at:
          type: string
          format: date-time
          nullable: false
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/taxes/1
        name:
          type: string
        rate:
          type: string
          format: decimal
          minimum: 0
          maximum: 4000000000
          exclusiveMaximum: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Tax
    TimeZone:
      type: string
      enum:
        - Abu Dhabi
        - Adelaide
        - Alaska
        - Almaty
        - American Samoa
        - Amman
        - Amsterdam
        - Arizona
        - Ashgabat
        - Astana
        - Asuncion
        - Athens
        - Atlantic Time (Canada)
        - Auckland
        - Azores
        - Baghdad
        - Baku
        - Bangkok
        - Beijing
        - Beirut
        - Belgrade
        - Berlin
        - Bern
        - Bogota
        - Brasilia
        - Bratislava
        - Brisbane
        - Brussels
        - Bucharest
        - Budapest
        - Buenos Aires
        - Cairo
        - Canberra
        - Cape Verde Is.
        - Caracas
        - Casablanca
        - Cayenne
        - Central America
        - Central Time (US & Canada)
        - Chatham Is.
        - Chennai
        - Chihuahua
        - Chongqing
        - Copenhagen
        - Damascus
        - Darwin
        - Dhaka
        - Dublin
        - Eastern Time (US & Canada)
        - Edinburgh
        - Ekaterinburg
        - Fiji
        - Georgetown
        - Greenland
        - Guadalajara
        - Guam
        - Hanoi
        - Harare
        - Hawaii
        - Helsinki
        - Hobart
        - Hong Kong
        - Indiana (East)
        - International Date Line West
        - Irkutsk
        - Islamabad
        - Istanbul
        - Jakarta
        - Jerusalem
        - Kabul
        - Kaliningrad
        - Kamchatka
        - Karachi
        - Kathmandu
        - Kolkata
        - Krasnoyarsk
        - Kuala Lumpur
        - Kuwait
        - Kyiv
        - La Paz
        - Lima
        - Lisbon
        - Ljubljana
        - London
        - Lord Howe
        - Madrid
        - Magadan
        - Marshall Is.
        - Mazatlan
        - Melbourne
        - Mexico City
        - Mid-Atlantic
        - Midway Island
        - Minsk
        - Monrovia
        - Monterrey
        - Montevideo
        - Moscow
        - Mountain Time (US & Canada)
        - Mumbai
        - Muscat
        - Nairobi
        - New Caledonia
        - New Delhi
        - Newfoundland
        - Novosibirsk
        - Nuku'alofa
        - Osaka
        - Oslo
        - Pacific Time (US & Canada)
        - Paris
        - Perth
        - Port Louis
        - Port Moresby
        - Prague
        - Pretoria
        - Puerto Rico
        - Quito
        - Rangoon
        - Riga
        - Riyadh
        - Rome
        - Samara
        - Samoa
        - Santiago
        - Sapporo
        - Sarajevo
        - Saskatchewan
        - Seoul
        - Singapore
        - Skopje
        - Sofia
        - Solomon Is.
        - Srednekolymsk
        - Sri Jayawardenepura
        - St. Petersburg
        - Stockholm
        - Sydney
        - Taipei
        - Tallinn
        - Tashkent
        - Tbilisi
        - Tehran
        - Tijuana
        - Tokelau Is.
        - Tokyo
        - Tripoli
        - UTC
        - Ulaanbaatar
        - Urumqi
        - Vienna
        - Vilnius
        - Vladivostok
        - Volgograd
        - Warsaw
        - Wellington
        - West Central Africa
        - Windhoek
        - Yakutsk
        - Yerevan
        - Zagreb
        - Zurich
      example: Melbourne
    TimeZoneIdentifier:
      type: string
      enum:
        - Africa/Abidjan
        - Africa/Accra
        - Africa/Addis_Ababa
        - Africa/Algiers
        - Africa/Asmara
        - Africa/Asmera
        - Africa/Bamako
        - Africa/Bangui
        - Africa/Banjul
        - Africa/Bissau
        - Africa/Blantyre
        - Africa/Brazzaville
        - Africa/Bujumbura
        - Africa/Cairo
        - Africa/Casablanca
        - Africa/Ceuta
        - Africa/Conakry
        - Africa/Dakar
        - Africa/Dar_es_Salaam
        - Africa/Djibouti
        - Africa/Douala
        - Africa/El_Aaiun
        - Africa/Freetown
        - Africa/Gaborone
        - Africa/Harare
        - Africa/Johannesburg
        - Africa/Juba
        - Africa/Kampala
        - Africa/Khartoum
        - Africa/Kigali
        - Africa/Kinshasa
        - Africa/Lagos
        - Africa/Libreville
        - Africa/Lome
        - Africa/Luanda
        - Africa/Lubumbashi
        - Africa/Lusaka
        - Africa/Malabo
        - Africa/Maputo
        - Africa/Maseru
        - Africa/Mbabane
        - Africa/Mogadishu
        - Africa/Monrovia
        - Africa/Nairobi
        - Africa/Ndjamena
        - Africa/Niamey
        - Africa/Nouakchott
        - Africa/Ouagadougou
        - Africa/Porto-Novo
        - Africa/Sao_Tome
        - Africa/Timbuktu
        - Africa/Tripoli
        - Africa/Tunis
        - Africa/Windhoek
        - America/Adak
        - America/Anchorage
        - America/Anguilla
        - America/Antigua
        - America/Araguaina
        - America/Argentina/Buenos_Aires
        - America/Argentina/Catamarca
        - America/Argentina/ComodRivadavia
        - America/Argentina/Cordoba
        - America/Argentina/Jujuy
        - America/Argentina/La_Rioja
        - America/Argentina/Mendoza
        - America/Argentina/Rio_Gallegos
        - America/Argentina/Salta
        - America/Argentina/San_Juan
        - America/Argentina/San_Luis
        - America/Argentina/Tucuman
        - America/Argentina/Ushuaia
        - America/Aruba
        - America/Asuncion
        - America/Atikokan
        - America/Atka
        - America/Bahia
        - America/Bahia_Banderas
        - America/Barbados
        - America/Belem
        - America/Belize
        - America/Blanc-Sablon
        - America/Boa_Vista
        - America/Bogota
        - America/Boise
        - America/Buenos_Aires
        - America/Cambridge_Bay
        - America/Campo_Grande
        - America/Cancun
        - America/Caracas
        - America/Catamarca
        - America/Cayenne
        - America/Cayman
        - America/Chicago
        - America/Chihuahua
        - America/Ciudad_Juarez
        - America/Coral_Harbour
        - America/Cordoba
        - America/Costa_Rica
        - America/Coyhaique
        - America/Creston
        - America/Cuiaba
        - America/Curacao
        - America/Danmarkshavn
        - America/Dawson
        - America/Dawson_Creek
        - America/Denver
        - America/Detroit
        - America/Dominica
        - America/Edmonton
        - America/Eirunepe
        - America/El_Salvador
        - America/Ensenada
        - America/Fort_Nelson
        - America/Fort_Wayne
        - America/Fortaleza
        - America/Glace_Bay
        - America/Godthab
        - America/Goose_Bay
        - America/Grand_Turk
        - America/Grenada
        - America/Guadeloupe
        - America/Guatemala
        - America/Guayaquil
        - America/Guyana
        - America/Halifax
        - America/Havana
        - America/Hermosillo
        - America/Indiana/Indianapolis
        - America/Indiana/Knox
        - America/Indiana/Marengo
        - America/Indiana/Petersburg
        - America/Indiana/Tell_City
        - America/Indiana/Vevay
        - America/Indiana/Vincennes
        - America/Indiana/Winamac
        - America/Indianapolis
        - America/Inuvik
        - America/Iqaluit
        - America/Jamaica
        - America/Jujuy
        - America/Juneau
        - America/Kentucky/Louisville
        - America/Kentucky/Monticello
        - America/Knox_IN
        - America/Kralendijk
        - America/La_Paz
        - America/Lima
        - America/Los_Angeles
        - America/Louisville
        - America/Lower_Princes
        - America/Maceio
        - America/Managua
        - America/Manaus
        - America/Marigot
        - America/Martinique
        - America/Matamoros
        - America/Mazatlan
        - America/Mendoza
        - America/Menominee
        - America/Merida
        - America/Metlakatla
        - America/Mexico_City
        - America/Miquelon
        - America/Moncton
        - America/Monterrey
        - America/Montevideo
        - America/Montreal
        - America/Montserrat
        - America/Nassau
        - America/New_York
        - America/Nipigon
        - America/Nome
        - America/Noronha
        - America/North_Dakota/Beulah
        - America/North_Dakota/Center
        - America/North_Dakota/New_Salem
        - America/Nuuk
        - America/Ojinaga
        - America/Panama
        - America/Pangnirtung
        - America/Pangnirtung
        - America/Paramaribo
        - America/Phoenix
        - America/Port-au-Prince
        - America/Port_of_Spain
        - America/Porto_Acre
        - America/Porto_Velho
        - America/Puerto_Rico
        - America/Punta_Arenas
        - America/Rainy_River
        - America/Rankin_Inlet
        - America/Recife
        - America/Regina
        - America/Resolute
        - America/Rio_Branco
        - America/Rosario
        - America/Santa_Isabel
        - America/Santarem
        - America/Santiago
        - America/Santo_Domingo
        - America/Sao_Paulo
        - America/Scoresbysund
        - America/Shiprock
        - America/Sitka
        - America/St_Barthelemy
        - America/St_Johns
        - America/St_Kitts
        - America/St_Lucia
        - America/St_Thomas
        - America/St_Vincent
        - America/Swift_Current
        - America/Tegucigalpa
        - America/Thule
        - America/Thunder_Bay
        - America/Tijuana
        - America/Toronto
        - America/Tortola
        - America/Vancouver
        - America/Virgin
        - America/Whitehorse
        - America/Winnipeg
        - America/Yakutat
        - America/Yellowknife
        - America/Yellowknife
        - Antarctica/Casey
        - Antarctica/Davis
        - Antarctica/DumontDUrville
        - Antarctica/Macquarie
        - Antarctica/Mawson
        - Antarctica/McMurdo
        - Antarctica/Palmer
        - Antarctica/Rothera
        - Antarctica/South_Pole
        - Antarctica/Syowa
        - Antarctica/Troll
        - Antarctica/Vostok
        - Arctic/Longyearbyen
        - Asia/Aden
        - Asia/Almaty
        - Asia/Amman
        - Asia/Anadyr
        - Asia/Aqtau
        - Asia/Aqtobe
        - Asia/Ashgabat
        - Asia/Ashkhabad
        - Asia/Atyrau
        - Asia/Baghdad
        - Asia/Bahrain
        - Asia/Baku
        - Asia/Bangkok
        - Asia/Barnaul
        - Asia/Beirut
        - Asia/Bishkek
        - Asia/Brunei
        - Asia/Calcutta
        - Asia/Chita
        - Asia/Choibalsan
        - Asia/Choibalsan
        - Asia/Chongqing
        - Asia/Chungking
        - Asia/Colombo
        - Asia/Dacca
        - Asia/Damascus
        - Asia/Dhaka
        - Asia/Dili
        - Asia/Dubai
        - Asia/Dushanbe
        - Asia/Famagusta
        - Asia/Gaza
        - Asia/Harbin
        - Asia/Hebron
        - Asia/Ho_Chi_Minh
        - Asia/Hong_Kong
        - Asia/Hovd
        - Asia/Irkutsk
        - Asia/Istanbul
        - Asia/Jakarta
        - Asia/Jayapura
        - Asia/Jerusalem
        - Asia/Kabul
        - Asia/Kamchatka
        - Asia/Karachi
        - Asia/Kashgar
        - Asia/Kathmandu
        - Asia/Katmandu
        - Asia/Khandyga
        - Asia/Kolkata
        - Asia/Krasnoyarsk
        - Asia/Kuala_Lumpur
        - Asia/Kuching
        - Asia/Kuwait
        - Asia/Macao
        - Asia/Macau
        - Asia/Magadan
        - Asia/Makassar
        - Asia/Manila
        - Asia/Muscat
        - Asia/Nicosia
        - Asia/Novokuznetsk
        - Asia/Novosibirsk
        - Asia/Omsk
        - Asia/Oral
        - Asia/Phnom_Penh
        - Asia/Pontianak
        - Asia/Pyongyang
        - Asia/Qatar
        - Asia/Qostanay
        - Asia/Qyzylorda
        - Asia/Rangoon
        - Asia/Riyadh
        - Asia/Saigon
        - Asia/Sakhalin
        - Asia/Samarkand
        - Asia/Seoul
        - Asia/Shanghai
        - Asia/Singapore
        - Asia/Srednekolymsk
        - Asia/Taipei
        - Asia/Tashkent
        - Asia/Tbilisi
        - Asia/Tehran
        - Asia/Tel_Aviv
        - Asia/Thimbu
        - Asia/Thimphu
        - Asia/Tokyo
        - Asia/Tomsk
        - Asia/Ujung_Pandang
        - Asia/Ulaanbaatar
        - Asia/Ulan_Bator
        - Asia/Urumqi
        - Asia/Ust-Nera
        - Asia/Vientiane
        - Asia/Vladivostok
        - Asia/Yakutsk
        - Asia/Yangon
        - Asia/Yekaterinburg
        - Asia/Yerevan
        - Atlantic/Azores
        - Atlantic/Bermuda
        - Atlantic/Canary
        - Atlantic/Cape_Verde
        - Atlantic/Faeroe
        - Atlantic/Faroe
        - Atlantic/Jan_Mayen
        - Atlantic/Madeira
        - Atlantic/Reykjavik
        - Atlantic/South_Georgia
        - Atlantic/St_Helena
        - Atlantic/Stanley
        - Australia/ACT
        - Australia/Adelaide
        - Australia/Brisbane
        - Australia/Broken_Hill
        - Australia/Canberra
        - Australia/Currie
        - Australia/Darwin
        - Australia/Eucla
        - Australia/Hobart
        - Australia/LHI
        - Australia/Lindeman
        - Australia/Lord_Howe
        - Australia/Melbourne
        - Australia/NSW
        - Australia/North
        - Australia/Perth
        - Australia/Queensland
        - Australia/South
        - Australia/Sydney
        - Australia/Tasmania
        - Australia/Victoria
        - Australia/West
        - Australia/Yancowinna
        - Brazil/Acre
        - Brazil/DeNoronha
        - Brazil/East
        - Brazil/West
        - CET
        - CST6CDT
        - Canada/Atlantic
        - Canada/Central
        - Canada/Eastern
        - Canada/Mountain
        - Canada/Newfoundland
        - Canada/Pacific
        - Canada/Saskatchewan
        - Canada/Yukon
        - Chile/Continental
        - Chile/EasterIsland
        - Cuba
        - EET
        - EST
        - EST5EDT
        - Egypt
        - Eire
        - Etc/GMT
        - Etc/GMT+0
        - Etc/GMT+12
        - Etc/GMT-0
        - Etc/GMT0
        - Etc/Greenwich
        - Etc/UCT
        - Etc/UTC
        - Etc/Universal
        - Etc/Zulu
        - Europe/Amsterdam
        - Europe/Andorra
        - Europe/Astrakhan
        - Europe/Athens
        - Europe/Belfast
        - Europe/Belgrade
        - Europe/Berlin
        - Europe/Bratislava
        - Europe/Brussels
        - Europe/Bucharest
        - Europe/Budapest
        - Europe/Busingen
        - Europe/Chisinau
        - Europe/Copenhagen
        - Europe/Dublin
        - Europe/Gibraltar
        - Europe/Guernsey
        - Europe/Helsinki
        - Europe/Isle_of_Man
        - Europe/Istanbul
        - Europe/Jersey
        - Europe/Kaliningrad
        - Europe/Kiev
        - Europe/Kiev
        - Europe/Kirov
        - Europe/Kyiv
        - Europe/Lisbon
        - Europe/Ljubljana
        - Europe/London
        - Europe/Luxembourg
        - Europe/Madrid
        - Europe/Malta
        - Europe/Mariehamn
        - Europe/Minsk
        - Europe/Monaco
        - Europe/Moscow
        - Europe/Nicosia
        - Europe/Oslo
        - Europe/Paris
        - Europe/Podgorica
        - Europe/Prague
        - Europe/Riga
        - Europe/Rome
        - Europe/Samara
        - Europe/San_Marino
        - Europe/Sarajevo
        - Europe/Saratov
        - Europe/Simferopol
        - Europe/Skopje
        - Europe/Sofia
        - Europe/Stockholm
        - Europe/Tallinn
        - Europe/Tirane
        - Europe/Tiraspol
        - Europe/Ulyanovsk
        - Europe/Uzhgorod
        - Europe/Vaduz
        - Europe/Vatican
        - Europe/Vienna
        - Europe/Vilnius
        - Europe/Volgograd
        - Europe/Warsaw
        - Europe/Zagreb
        - Europe/Zaporozhye
        - Europe/Zurich
        - GB
        - GB-Eire
        - GMT
        - GMT+0
        - GMT-0
        - GMT0
        - Greenwich
        - HST
        - Hongkong
        - Iceland
        - Indian/Antananarivo
        - Indian/Chagos
        - Indian/Christmas
        - Indian/Cocos
        - Indian/Comoro
        - Indian/Kerguelen
        - Indian/Mahe
        - Indian/Maldives
        - Indian/Mauritius
        - Indian/Mayotte
        - Indian/Reunion
        - Iran
        - Israel
        - Jamaica
        - Japan
        - Kwajalein
        - Libya
        - MET
        - MST
        - MST7MDT
        - Mexico/BajaNorte
        - Mexico/BajaSur
        - Mexico/General
        - NZ
        - NZ-CHAT
        - Navajo
        - PRC
        - PST8PDT
        - Pacific/Apia
        - Pacific/Auckland
        - Pacific/Bougainville
        - Pacific/Chatham
        - Pacific/Chuuk
        - Pacific/Easter
        - Pacific/Efate
        - Pacific/Enderbury
        - Pacific/Fakaofo
        - Pacific/Fiji
        - Pacific/Funafuti
        - Pacific/Galapagos
        - Pacific/Gambier
        - Pacific/Guadalcanal
        - Pacific/Guam
        - Pacific/Honolulu
        - Pacific/Johnston
        - Pacific/Kanton
        - Pacific/Kiritimati
        - Pacific/Kosrae
        - Pacific/Kwajalein
        - Pacific/Majuro
        - Pacific/Marquesas
        - Pacific/Midway
        - Pacific/Nauru
        - Pacific/Niue
        - Pacific/Norfolk
        - Pacific/Noumea
        - Pacific/Pago_Pago
        - Pacific/Palau
        - Pacific/Pitcairn
        - Pacific/Pohnpei
        - Pacific/Ponape
        - Pacific/Port_Moresby
        - Pacific/Rarotonga
        - Pacific/Saipan
        - Pacific/Samoa
        - Pacific/Tahiti
        - Pacific/Tarawa
        - Pacific/Tongatapu
        - Pacific/Truk
        - Pacific/Wake
        - Pacific/Wallis
        - Pacific/Yap
        - Poland
        - Portugal
        - ROC
        - ROK
        - Singapore
        - Turkey
        - UCT
        - US/Alaska
        - US/Aleutian
        - US/Arizona
        - US/Central
        - US/East-Indiana
        - US/Eastern
        - US/Hawaii
        - US/Indiana-Starke
        - US/Michigan
        - US/Mountain
        - US/Pacific
        - US/Samoa
        - UTC
        - Universal
        - W-SU
        - WET
        - Zulu
      example: Australia/Melbourne
    TreatmentNote:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        attendee:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/attendees/1
        author_name:
          type: string
          nullable: true
        booking:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/bookings/1
        content:
          type: object
          nullable: true
          properties:
            sections:
              type: array
              nullable: false
              items:
                type: object
                properties:
                  name:
                    type: string
                    nullable: true
                    maxLength: 255
                  description:
                    type: string
                    nullable: true
                  questions:
                    type: array
                    nullable: false
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/TreatmentNoteQuestionText'
                        - $ref: '#/components/schemas/TreatmentNoteQuestionParagraph'
                        - $ref: '#/components/schemas/TreatmentNoteQuestionDate'
                        - $ref: '#/components/schemas/TreatmentNoteQuestionBodycharts'
                        - $ref: '#/components/schemas/TreatmentNoteQuestionCheckboxes'
                        - $ref: >-
                            #/components/schemas/TreatmentNoteQuestionRadiobuttons
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        draft:
          type: boolean
          nullable: true
        finalized_at:
          type: string
          format: date-time
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/treatment_notes/1
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        pinned_at:
          type: string
          format: date-time
          nullable: true
        practitioner:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1
        title:
          type: string
        treatment_note_template:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/treatment_note_templates/1
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Treatment Note
    TreatmentNoteQuestionBodycharts:
      type: object
      nullable: false
      properties:
        body_chart_ids:
          type: array
          nullable: false
          items:
            type: string
            format: int64
            example: '1'
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - bodycharts
      required:
        - name
        - type
      title: Bodycharts
    TreatmentNoteQuestionCheckboxes:
      type: object
      nullable: false
      properties:
        answers:
          type: array
          nullable: false
          items:
            type: object
            properties:
              value:
                type: string
                nullable: true
                maxLength: 255
              selected:
                type: boolean
                nullable: true
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
            selected:
              type: boolean
              nullable: false
            value:
              type: string
              nullable: false
              maxLength: 255
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - checkboxes
      required:
        - name
        - type
      title: Checkboxes
    TreatmentNoteQuestionDate:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          format: date
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - date
      required:
        - name
        - type
      title: Date
    TreatmentNoteQuestionParagraph:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - paragraph
      required:
        - name
        - type
      title: Paragraph
    TreatmentNoteQuestionRadiobuttons:
      type: object
      nullable: false
      properties:
        answers:
          type: array
          nullable: false
          items:
            type: object
            properties:
              value:
                type: string
                nullable: true
                maxLength: 255
              selected:
                type: boolean
                nullable: true
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
            selected:
              type: boolean
              nullable: false
            value:
              type: string
              nullable: false
              maxLength: 255
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - radiobuttons
      required:
        - name
        - type
      title: Radiobuttons
    TreatmentNoteQuestionText:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - text
      required:
        - name
        - type
      title: Text
    TreatmentNoteTemplate:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        content:
          type: object
          nullable: false
          properties:
            sections:
              type: array
              nullable: false
              items:
                type: object
                properties:
                  name:
                    type: string
                    nullable: true
                    maxLength: 255
                  description:
                    type: string
                    nullable: true
                  questions:
                    type: array
                    nullable: false
                    items:
                      oneOf:
                        - $ref: >-
                            #/components/schemas/TreatmentNoteTemplateQuestionText
                        - $ref: >-
                            #/components/schemas/TreatmentNoteTemplateQuestionParagraph
                        - $ref: >-
                            #/components/schemas/TreatmentNoteTemplateQuestionDate
                        - $ref: >-
                            #/components/schemas/TreatmentNoteTemplateQuestionBodycharts
                        - $ref: >-
                            #/components/schemas/TreatmentNoteTemplateQuestionCheckboxes
                        - $ref: >-
                            #/components/schemas/TreatmentNoteTemplateQuestionRadiobuttons
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/treatment_note_templates/1
        name:
          type: string
          maxLength: 255
        print_settings:
          type: object
          nullable: true
          properties:
            include_patient_address:
              nullable: true
              type: boolean
            include_patient_dob:
              nullable: true
              type: boolean
            include_patient_medicare:
              nullable: true
              type: boolean
            include_patient_occupation:
              nullable: true
              type: boolean
            include_patient_reference_number:
              nullable: true
              type: boolean
            title:
              nullable: true
              type: string
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Treatment Note Template
    TreatmentNoteTemplateQuestionBodycharts:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - bodycharts
      required:
        - name
        - type
      title: Bodycharts
    TreatmentNoteTemplateQuestionCheckboxes:
      type: object
      nullable: false
      properties:
        answers:
          type: array
          nullable: false
          items:
            type: object
            properties:
              value:
                type: string
                nullable: true
                maxLength: 255
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - checkboxes
      required:
        - name
        - type
      title: Checkboxes
    TreatmentNoteTemplateQuestionDate:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - date
      required:
        - name
        - type
      title: Date
    TreatmentNoteTemplateQuestionParagraph:
      type: object
      nullable: false
      properties:
        answer:
          type: string
          nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - paragraph
      required:
        - name
        - type
      title: Paragraph
    TreatmentNoteTemplateQuestionRadiobuttons:
      type: object
      nullable: false
      properties:
        answers:
          type: array
          nullable: false
          items:
            type: object
            properties:
              value:
                type: string
                nullable: true
                maxLength: 255
        other:
          type: object
          nullable: false
          properties:
            enabled:
              type: boolean
              nullable: false
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - radiobuttons
      required:
        - name
        - type
      title: Radiobuttons
    TreatmentNoteTemplateQuestionText:
      type: object
      nullable: false
      properties:
        name:
          type: string
          nullable: false
          maxLength: 255
        type:
          type: string
          nullable: true
          enum:
            - text
      required:
        - name
        - type
      title: Text
    UnavailableBlock:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        business:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/businesses/1
        conflicts:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: >-
                    https://api.au1.cliniko.com/v1/unavailable_blocks/1/conflicts
                  format: uri
                  type: string
              type: object
        created_at:
          type: string
          format: date-time
          nullable: false
        deleted_at:
          type: string
          format: date-time
          nullable: true
        ends_at:
          type: string
          format: date-time
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/unavailable_blocks/1
        notes:
          type: string
          nullable: true
        practitioner:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/practitioners/1
        repeat_rule:
          type: object
          properties:
            number_of_repeats:
              type: integer
              minimum: 0
              exclusiveMinimum: true
              nullable: true
            repeat_type:
              type: string
              enum:
                - Daily
                - Monthly
                - Weekly
              nullable: true
            repeating_interval:
              type: integer
              minimum: 0
              maximum: 100
              exclusiveMinimum: true
              nullable: true
          nullable: true
        repeated_from:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/unavailable_blocks/1
        repeats:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: >-
                    https://api.au1.cliniko.com/v1/unavailable_blocks?q[]=repeated_from_id:=1
                  format: uri
                  type: string
              type: object
        starts_at:
          type: string
          format: date-time
        unavailable_block_type:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/unavailable_block_types/1
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Unavailable Block
    UnavailableBlockType:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        color:
          type: string
          pattern: ^#(\h{6}|\h{3})$
        created_at:
          type: string
          format: date-time
          nullable: false
        duration_in_minutes:
          type: integer
          minimum: 0
          maximum: 1440
          exclusiveMinimum: true
          exclusiveMaximum: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/unavailable_block_types/1
        name:
          type: string
          maxLength: 255
        system_controlled:
          type: boolean
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
      x-tags:
        - Unavailable Block Type
    UploadedPatientAttachment:
      type: object
      properties:
        archived_at:
          type: string
          format: date-time
          nullable: true
        content:
          type: object
          nullable: true
          properties:
            links:
              properties:
                self:
                  example: https://api.au1.cliniko.com/v1/patient_attachments/1
                  format: uri
                  type: string
              type: object
        content_type:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        description:
          type: string
          maxLength: 255
          nullable: true
        filename:
          type: string
          maxLength: 255
          nullable: true
        id:
          type: string
          format: int64
          nullable: false
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/patient_attachments/1
        patient:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/patients/1
        pinned_at:
          type: string
          format: date-time
          nullable: true
        processed_at:
          type: string
          format: date-time
          nullable: true
        processing_completed:
          type: boolean
          nullable: true
        size:
          type: string
          format: int64
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
        user:
          type: object
          properties:
            links:
              type: object
              properties:
                self:
                  type: string
                  format: uri
                  example: https://api.au1.cliniko.com/v1/users/1
      x-tags:
        - Uploaded Patient Attachment
    UploadedPatientAttachmentBody:
      type: object
      properties:
        description:
          type: string
          maxLength: 255
          nullable: true
    User:
      type: object
      properties:
        active:
          type: boolean
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
        email:
          type: string
          minLength: 5
          pattern: ^[A-Z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$
        first_name:
          type: string
        id:
          type: string
          format: int64
          nullable: false
        last_name:
          type: string
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
              example: https://api.au1.cliniko.com/v1/users/1
        phone_numbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
          nullable: true
        role:
          type: string
          enum:
            - administrator
            - bookkeeper
            - power receptionist
            - practitioner
            - receptionist
            - scheduler
          nullable: true
        time_zone:
          type: string
          description: >-
            See: [supported time
            zones](/guides/time_zone_support/#accepted-values-for-time_zone)
          example: Melbourne
        time_zone_identifier:
          type: string
          description: >-
            See: [supported time zone
            identifiers](/guides/time_zone_support/#accepted-values-for-time_zone_identifier)
          example: Australia/Melbourne
          nullable: true
        title:
          type: string
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: false
        user_active:
          type: boolean
          nullable: true
      x-tags:
        - User
    AvailableTime:
      properties:
        appointment_start:
          format: date-time
          type: string
      x-tags:
        - Available Time
  requestBodies:
    AppointmentType:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              add_deposit_to_account_credit:
                type: boolean
                nullable: true
              billable_item_id:
                type: string
                format: int64
                description: billable item id
                example: '1'
                deprecated: true
              category:
                type: string
                nullable: true
              color:
                type: string
                pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
              deposit_price:
                type: string
                format: decimal
                minimum: 0
                maximum: 4000000000
                exclusiveMaximum: true
                nullable: true
              description:
                type: string
                nullable: true
              duration_in_minutes:
                type: integer
                minimum: 0
                maximum: 1440
                exclusiveMinimum: true
                exclusiveMaximum: true
              online_bookings_lead_time_hours:
                type: integer
                enum:
                  - 0
                  - 1
                  - 2
                  - 4
                  - 12
                  - 18
                  - 24
                  - 48
                  - 72
                  - 168
                  - 336
                  - 504
                  - 672
                nullable: true
              online_payments_mode:
                type: string
                enum:
                  - deposit_required
                  - optional
                  - required
                nullable: true
              max_attendees:
                type: integer
                minimum: 0
                maximum: 100
                exclusiveMinimum: true
                exclusiveMaximum: true
              name:
                type: string
                maxLength: 255
              product_id:
                type: string
                format: int64
                description: product id
                example: '1'
                deprecated: true
              show_in_online_bookings:
                type: boolean
                nullable: true
              telehealth_enabled:
                type: boolean
                nullable: true
              treatment_note_template_id:
                type: string
                format: int64
                description: treatment note template id
                example: '1'
              appointment_confirmation_template_ids:
                type: array
                items:
                  type: string
                  format: int64
                  example: '1'
                nullable: true
              appointment_follow_up_template_ids:
                type: array
                items:
                  type: string
                  format: int64
                  example: '1'
                nullable: true
              appointment_reminder_template_ids:
                type: array
                items:
                  type: string
                  format: int64
                  example: '1'
                nullable: true
              business_ids:
                type: array
                items:
                  example: '1'
                  format: int64
                  type: string
              practitioner_ids:
                type: array
                description: Practitioner ids
                items:
                  type: string
                  format: int64
                  example: '1'
    AppointmentTypeBillableItemCreate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              appointment_type_id:
                type: string
                format: int64
                description: appointment type id
                example: '1'
              billable_item_id:
                type: string
                format: int64
                description: billable item id
                example: '1'
              discount_percentage:
                type: string
                format: decimal
                minimum: 0
                maximum: 100
                nullable: true
              discounted_amount:
                type: string
                format: decimal
                nullable: true
              quantity:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMaximum: true
    AppointmentTypeBillableItemUpdate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              billable_item_id:
                type: string
                format: int64
                description: billable item id
                example: '1'
              discount_percentage:
                type: string
                format: decimal
                minimum: 0
                maximum: 100
                nullable: true
              discounted_amount:
                type: string
                format: decimal
                nullable: true
              quantity:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMaximum: true
    AppointmentTypeProductCreate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              appointment_type_id:
                type: string
                format: int64
                description: appointment type id
                example: '1'
              discount_percentage:
                type: string
                format: decimal
                minimum: 0
                maximum: 100
                nullable: true
              discounted_amount:
                type: string
                format: decimal
                nullable: true
              product_id:
                type: string
                format: int64
                description: product id
                example: '1'
              quantity:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMaximum: true
    AppointmentTypeProductUpdate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              discount_percentage:
                type: string
                format: decimal
                minimum: 0
                maximum: 100
                nullable: true
              discounted_amount:
                type: string
                format: decimal
                nullable: true
              product_id:
                type: string
                format: int64
                description: product id
                example: '1'
              quantity:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMaximum: true
    Attendee:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              booking_id:
                type: string
                format: int64
                description: booking id
                example: '1'
              arrived:
                type: boolean
                nullable: true
              notes:
                type: string
                nullable: true
              patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
              patient_case_id:
                type: string
                format: int64
                description: patient case id
                example: '1'
    AttendeeCancel:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              cancellation_note:
                type: string
                nullable: true
              cancellation_reason:
                type: integer
                nullable: false
                description: |
                  | Enum Value | Description |
                  |---|---|
                  |10|Feeling better|
                  |20|Condition worse|
                  |30|Sick|
                  |40|Away|
                  |50|Other|
                  |60|Work|
                enum:
                  - 10
                  - 20
                  - 30
                  - 40
                  - 50
                  - 60
              apply_to_repeats:
                type: boolean
    AttendeeUpdate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              arrived:
                type: boolean
                nullable: true
              notes:
                type: string
                nullable: true
              patient_case_id:
                type: string
                format: int64
                description: patient case id
                example: '1'
    AvailabilityBlock:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              business_id:
                type: string
                format: int64
                description: business id
                example: '1'
              ends_at:
                type: string
                format: date-time
              practitioner_id:
                type: string
                format: int64
                description: practitioner id
                example: '1'
              starts_at:
                type: string
                format: date-time
              repeat_rule:
                type: object
                properties:
                  number_of_repeats:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    nullable: true
                  repeat_type:
                    type: string
                    enum:
                      - Daily
                      - Monthly
                      - Weekly
                    nullable: true
                  repeating_interval:
                    type: integer
                    minimum: 0
                    maximum: 100
                    exclusiveMinimum: true
                    nullable: true
                nullable: true
    BillableItem:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              item_code:
                type: string
                maxLength: 100
                nullable: true
              item_type:
                enum:
                  - Product
                  - Service
                  - Other
                type: string
              name:
                type: string
                maxLength: 255
              price:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMaximum: true
              tax_id:
                type: string
                format: int64
                description: tax id
                example: '1'
    Business:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              additional_information:
                type: string
                maxLength: 5000
                nullable: true
              additional_invoice_information:
                type: string
                maxLength: 5000
                nullable: true
              address_1:
                type: string
                nullable: true
              address_2:
                type: string
                nullable: true
              appointment_reminders_enabled:
                type: boolean
                nullable: true
              business_name:
                type: string
                nullable: true
              business_registration_name:
                type: string
                nullable: true
              business_registration_value:
                type: string
                nullable: true
              city:
                type: string
                nullable: true
              contact_information:
                type: string
                nullable: true
              country_code:
                type: string
                description: >-
                  [ISO
                  3166-1](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
                  country code
                example: AU
                nullable: true
              display_name:
                type: string
                nullable: true
              email_reply_to:
                type: string
                pattern: ^[A-Z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$
                nullable: true
              logo:
                type: string
                description: Base64 encoded file attachment
              logo_height:
                type: integer
              post_code:
                type: string
                nullable: true
              remove_logo:
                type: boolean
              show_in_online_bookings:
                type: boolean
                nullable: true
              state:
                type: string
                nullable: true
              time_zone:
                type: string
                description: >-
                  See: [supported time
                  zones](/guides/time_zone_support/#accepted-values-for-time_zone)
                example: Melbourne
                nullable: true
              time_zone_identifier:
                type: string
                description: >-
                  See: [supported time zone
                  identifiers](/guides/time_zone_support/#accepted-values-for-time_zone_identifier)
                example: Australia/Melbourne
                nullable: true
              website_address:
                type: string
                nullable: true
              appointment_type_ids:
                type: array
                items:
                  type: string
                  format: int64
                  example: '1'
                nullable: true
    ConcessionPriceCreate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              billable_item_id:
                type: string
                format: int64
                description: billable item id
                example: '1'
              concession_type_id:
                type: string
                format: int64
                description: concession type id
                example: '1'
              price:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMaximum: true
                nullable: true
    ConcessionPriceUpdate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              price:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMaximum: true
                nullable: true
    ConcessionType:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
                maxLength: 255
    Contact:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              address_1:
                type: string
                maxLength: 255
                nullable: true
              address_2:
                type: string
                maxLength: 255
                nullable: true
              address_3:
                type: string
                maxLength: 255
                nullable: true
              city:
                type: string
                maxLength: 255
                nullable: true
              company_name:
                type: string
                maxLength: 255
                nullable: true
              country_code:
                type: string
                description: >-
                  [ISO
                  3166-1](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
                  country code
                example: AU
                maxLength: 2
                nullable: true
              doctor_type:
                type: string
                enum:
                  - general_practitioner
                  - specialist
                nullable: true
              email:
                type: string
                maxLength: 255
                nullable: true
              first_name:
                type: string
                maxLength: 255
                nullable: true
              last_name:
                type: string
                maxLength: 255
                nullable: true
              notes:
                type: string
                nullable: true
              occupation:
                type: string
                maxLength: 255
                nullable: true
              post_code:
                type: string
                maxLength: 255
                nullable: true
              preferred_name:
                type: string
                nullable: true
              provider_number:
                type: string
                maxLength: 255
                nullable: true
              state:
                type: string
                maxLength: 255
                nullable: true
              title:
                type: string
                nullable: true
              type_code:
                type: integer
                enum:
                  - 0
                  - 1
                  - 2
                nullable: true
              phone_numbers:
                type: array
                items:
                  type: object
                  properties:
                    phone_type:
                      enum:
                        - Mobile
                        - Home
                        - Work
                        - Other
                        - Fax
                      type: string
                    number:
                      type: string
                      format: phone
                      example: 0-123-456-78
    GroupAppointment:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              appointment_type_id:
                type: string
                format: int64
                description: appointment type id
                example: '1'
              business_id:
                type: string
                format: int64
                description: business id
                example: '1'
              ends_at:
                type: string
                format: date-time
                description: >-
                  If not provided on create or set to null on update, this will
                  be based on the duration of the appointment type.
              max_attendees:
                type: integer
                minimum: 1
                maximum: 100
                exclusiveMinimum: true
                exclusiveMaximum: true
                description: >-
                  If not provided on create, this will be based on the
                  max_attendees of the appointment type.
              notes:
                type: string
                nullable: true
              practitioner_id:
                type: string
                format: int64
                description: practitioner id
                example: '1'
              starts_at:
                type: string
                format: date-time
              repeat_rule:
                type: object
                properties:
                  number_of_repeats:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    nullable: true
                  repeat_type:
                    type: string
                    enum:
                      - Daily
                      - Monthly
                      - Weekly
                    nullable: true
                  repeating_interval:
                    type: integer
                    minimum: 0
                    maximum: 100
                    exclusiveMinimum: true
                    nullable: true
                nullable: true
    IndividualAppointment:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              appointment_type_id:
                type: string
                format: int64
                description: appointment type id
                example: '1'
              business_id:
                type: string
                format: int64
                description: business id
                example: '1'
              ends_at:
                type: string
                format: date-time
                description: >-
                  If not provided on create or set to null on update, this will
                  be based on the duration of the appointment type.
              notes:
                type: string
                nullable: true
              patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
              patient_case_id:
                type: string
                format: int64
                description: patient case id
                example: '1'
              practitioner_id:
                type: string
                format: int64
                description: practitioner id
                example: '1'
              starts_at:
                type: string
                format: date-time
              repeat_rule:
                type: object
                properties:
                  number_of_repeats:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    nullable: true
                  repeat_type:
                    type: string
                    enum:
                      - Daily
                      - Monthly
                      - Weekly
                    nullable: true
                  repeating_interval:
                    type: integer
                    minimum: 0
                    maximum: 100
                    exclusiveMinimum: true
                    nullable: true
                nullable: true
    IndividualAppointmentCancel:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              cancellation_note:
                type: string
                nullable: true
              cancellation_reason:
                type: integer
                nullable: false
                description: |
                  | Enum Value | Description |
                  |---|---|
                  |10|Feeling better|
                  |20|Condition worse|
                  |30|Sick|
                  |40|Away|
                  |50|Other|
                  |60|Work|
                enum:
                  - 10
                  - 20
                  - 30
                  - 40
                  - 50
                  - 60
              apply_to_repeats:
                type: boolean
    MedicalAlert:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
                minLength: 1
                maxLength: 255
              patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
    Patient:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              accepted_email_marketing:
                type: boolean
                nullable: true
              accepted_privacy_policy:
                type: boolean
                nullable: true
              address_1:
                type: string
                maxLength: 255
                nullable: true
              address_2:
                type: string
                maxLength: 255
                nullable: true
              address_3:
                type: string
                maxLength: 255
                nullable: true
              appointment_notes:
                type: string
                nullable: true
              city:
                type: string
                maxLength: 255
                nullable: true
              concession_type_id:
                type: string
                format: int64
                description: concession type id
                example: '1'
              country:
                type: string
                nullable: true
              country_code:
                type: string
                description: >-
                  [ISO
                  3166-1](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
                  country code
                example: AU
                nullable: true
              custom_fields:
                type: object
                nullable: true
                properties:
                  sections:
                    type: array
                    nullable: false
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          nullable: true
                        token:
                          type: string
                          format: uuid
                          example: ef4c43ec-105d-489c-88cc-0f3c5f67dc70
                          nullable: false
                        archived:
                          type: boolean
                          nullable: true
                        fields:
                          type: array
                          nullable: false
                          items:
                            oneOf:
                              - $ref: '#/components/schemas/PatientCustomFieldText'
                              - $ref: >-
                                  #/components/schemas/PatientCustomFieldParagraph
                              - $ref: '#/components/schemas/PatientCustomFieldDate'
                              - $ref: >-
                                  #/components/schemas/PatientCustomFieldCheckboxes
                              - $ref: >-
                                  #/components/schemas/PatientCustomFieldRadiobuttons
                      required:
                        - token
                        - fields
              date_of_birth:
                type: string
                format: date
                nullable: true
              dva_card_number:
                type: string
                pattern: >-
                  ^[NVQSWT]([A-Z
                  ][0-9]{1,6}|[A-Z]{2}[0-9]{1,5}|[A-Z]{3}[0-9]{1,4})[A-Z]?$
                nullable: true
              email:
                type: string
                pattern: ^[A-Z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$
                maxLength: 255
                nullable: true
              emergency_contact:
                type: string
                maxLength: 255
                nullable: true
              first_name:
                type: string
                maxLength: 255
              gender_identity:
                type: string
                nullable: true
              invoice_default_to:
                type: string
                nullable: true
              invoice_email:
                type: string
                pattern: ^[A-Z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Z0-9.-]+\.[A-Z]{2,63}$
                nullable: true
              invoice_extra_information:
                type: string
                nullable: true
              last_name:
                type: string
                maxLength: 255
              medicare_reference_number:
                type: string
                maxLength: 255
                nullable: true
              medicare:
                type: string
                maxLength: 255
                nullable: true
              notes:
                type: string
                nullable: true
              occupation:
                type: string
                maxLength: 255
                nullable: true
              old_reference_id:
                type: string
                maxLength: 255
                nullable: true
              post_code:
                type: string
                nullable: true
              preferred_first_name:
                type: string
                maxLength: 255
                nullable: true
              pronouns:
                type: object
                nullable: true
                properties:
                  accusative:
                    type: string
                    nullable: false
                    maxLength: 50
                  nominative:
                    type: string
                    nullable: false
                    maxLength: 50
                  predicative_possessive:
                    type: string
                    nullable: false
                    maxLength: 50
                  pronominal_possessive:
                    type: string
                    nullable: false
                    maxLength: 50
                  reflexive:
                    type: string
                    nullable: false
                    maxLength: 50
                required:
                  - accusative
                  - nominative
                  - predicative_possessive
                  - pronominal_possessive
                  - reflexive
              receives_cancellation_emails:
                type: boolean
                nullable: true
              receives_confirmation_emails:
                type: boolean
                nullable: true
              referral_source:
                type: string
                maxLength: 255
                nullable: true
              referring_doctor_id:
                type: string
                format: int64
                description: contact id
                example: '1'
              reminder_type:
                type: string
                nullable: true
                deprecated: true
                description: >-
                  Please use the `reminders_communication_channels` attribute
                  instead.
                enum:
                  - None
                  - SMS
                  - Email
                  - SMS & Email
              sex:
                type: string
                nullable: true
              state:
                type: string
                nullable: true
              time_zone:
                type: string
                description: >-
                  See: [supported time zone
                  identifiers](/guides/time_zone_support/#accepted-values-for-time_zone_identifier)
                example: Australia/Melbourne
                nullable: true
              title:
                type: string
                maxLength: 255
                nullable: true
              unsubscribe_sms_marketing:
                type: boolean
              follow_ups_communication_channels:
                type: array
                nullable: false
                items:
                  enum:
                    - 1
                    - 2
                  nullable: false
                  type: integer
                description: >
                  The array of communication channels that will be used for this
                  patient's follow-up messages.

                  | Enum Value | Description |

                  |---|---|

                  | 1 | SMS |

                  | 2 | Email |
                example:
                  - 1
                  - 2
              reminders_communication_channels:
                type: array
                nullable: false
                items:
                  enum:
                    - 1
                    - 2
                  nullable: false
                  type: integer
                description: >
                  The array of communication channels that will be used for this
                  patient's reminders.

                  | Enum Value | Description |

                  |---|---|

                  | 1 | SMS |

                  | 2 | Email |
                example:
                  - 1
                  - 2
              patient_phone_numbers:
                items:
                  properties:
                    number:
                      example: 0-123-456-78
                      format: phone
                      type: string
                    phone_type:
                      enum:
                        - Fax
                        - Home
                        - Mobile
                        - Other
                        - Work
                      type: string
                  type: object
                type: array
    PatientCase:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              closed:
                type: boolean
                nullable: true
              contact_id:
                type: string
                format: int64
                description: contact id
                example: '1'
              expiry_date:
                type: string
                format: date
                nullable: true
              include_cancelled_attendees:
                type: boolean
                nullable: true
              include_dna_attendees:
                type: boolean
                nullable: true
              issue_date:
                type: string
                format: date
                nullable: true
              name:
                type: string
              notes:
                type: string
                nullable: true
              max_invoiceable_amount:
                type: string
                format: decimal
                minimum: 0
                exclusiveMinimum: true
                nullable: true
              max_sessions:
                type: integer
                minimum: 1
                maximum: 200
                nullable: true
              patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
              referral:
                type: boolean
                nullable: true
              referral_type:
                type: string
                enum:
                  - dva
                  - medicare
                nullable: true
              attendee_ids:
                type: array
                nullable: true
                items:
                  example: 1
                  format: int64
                  type: string
              patient_attachment_ids:
                type: array
                description: Patient attachment ids
                items:
                  type: string
                  format: int64
                  example: '1'
    PatientForm:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              attendee_id:
                type: string
                format: int64
                description: attendee id
                example: '1'
              business_id:
                type: string
                format: int64
                description: business id
                example: '1'
              completed:
                type: boolean
              email_to_patient_on_completion:
                type: boolean
                nullable: true
              patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
              patient_form_template_id:
                type: string
                format: int64
                description: patient form template id
                example: '1'
              content:
                type: object
                nullable: true
                properties:
                  sections:
                    type: array
                    nullable: false
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          nullable: true
                          maxLength: 255
                        description:
                          type: string
                          nullable: true
                        questions:
                          type: array
                          nullable: false
                          items:
                            oneOf:
                              - $ref: '#/components/schemas/PatientFormQuestionText'
                              - $ref: >-
                                  #/components/schemas/PatientFormQuestionParagraph
                              - $ref: >-
                                  #/components/schemas/PatientFormQuestionAddress
                              - $ref: '#/components/schemas/PatientFormQuestionDate'
                              - $ref: '#/components/schemas/PatientFormQuestionEmail'
                              - $ref: '#/components/schemas/PatientFormQuestionPhone'
                              - $ref: >-
                                  #/components/schemas/PatientFormQuestionPronouns
                              - $ref: >-
                                  #/components/schemas/PatientFormQuestionSignature
                              - $ref: >-
                                  #/components/schemas/PatientFormQuestionCheckboxes
                              - $ref: >-
                                  #/components/schemas/PatientFormQuestionRadiobuttons
                              - $ref: '#/components/schemas/PatientFormQuestionSelect'
                              - $ref: >-
                                  #/components/schemas/PatientFormQuestionFullName
              name:
                type: string
                maxLength: 255
              restricted_to_practitioner:
                type: boolean
                nullable: true
    PatientFormTemplate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              content:
                type: object
                nullable: true
                properties:
                  sections:
                    type: array
                    nullable: false
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          nullable: true
                          maxLength: 255
                        description:
                          type: string
                          nullable: true
                        questions:
                          type: array
                          nullable: false
                          items:
                            oneOf:
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionText
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionParagraph
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionAddress
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionDate
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionEmail
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionPhone
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionPronouns
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionSignature
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionCheckboxes
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionRadiobuttons
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionSelect
                              - $ref: >-
                                  #/components/schemas/PatientFormTemplateQuestionFullName
              email_to_patient_on_completion:
                type: boolean
                nullable: true
              name:
                type: string
                maxLength: 255
              restricted_to_practitioner:
                type: boolean
                nullable: true
    PractitionerReferenceNumber:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
                nullable: true
              reference_number:
                type: string
                nullable: true
              business_id:
                type: string
                format: int64
                description: business id
                example: '1'
              practitioner_id:
                type: string
                format: int64
                description: practitioner id
                example: '1'
    Product:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              item_code:
                type: string
                maxLength: 100
                nullable: true
              name:
                type: string
                maxLength: 255
              serial_number:
                type: string
                maxLength: 255
                nullable: true
              price:
                type: number
                format: decimal
              price_includes_tax:
                type: boolean
                nullable: true
              product_supplier_id:
                type: string
                format: int64
                description: product supplier id
                example: '1'
              stock_level:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMinimum: true
                exclusiveMaximum: true
                nullable: true
              tax_id:
                type: string
                format: int64
                description: tax id
                example: '1'
              cost_price:
                type: string
                format: decimal
                minimum: 0
                maximum: 4000000000
                exclusiveMaximum: true
                nullable: true
              notes:
                type: string
                nullable: true
              product_supplier_name:
                type: string
                deprecated: true
    ProductSupplier:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
    ProductUpdate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              item_code:
                type: string
                maxLength: 100
                nullable: true
              name:
                type: string
                maxLength: 255
              serial_number:
                type: string
                maxLength: 255
                nullable: true
              price:
                type: number
                format: decimal
              price_includes_tax:
                type: boolean
                nullable: true
              product_supplier_id:
                type: string
                format: int64
                description: product supplier id
                example: '1'
              stock_level:
                type: string
                format: decimal
                minimum: -4000000000
                maximum: 4000000000
                exclusiveMinimum: true
                exclusiveMaximum: true
                nullable: true
              tax_id:
                type: string
                format: int64
                description: tax id
                example: '1'
              cost_price:
                type: string
                format: decimal
                minimum: 0
                maximum: 4000000000
                exclusiveMaximum: true
                nullable: true
              notes:
                type: string
                nullable: true
              product_supplier_name:
                type: string
                deprecated: true
    ReferralSource:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              notes:
                type: string
                nullable: true
              referrer_id:
                type: string
                example: '1'
                format: int64
              referral_source_type_id:
                type: string
                format: int64
                description: referral source type id
                example: '1'
              subcategory:
                type: string
                nullable: true
    Relationship:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
              related_patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
              relation:
                type: integer
                nullable: false
                description: |
                  | Enum Value | Description |
                  |---|---|
                  |10|Parent|
                  |20|Child|
                  |30|Sibling|
                  |40|Spouse|
                  |50|Partner|
                  |60|Relative|
                  |70|Other|
                enum:
                  - 10
                  - 20
                  - 30
                  - 40
                  - 50
                  - 60
                  - 70
    StockAdjustment:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              quantity:
                type: string
                format: decimal
                nullable: true
                description: >-
                  A negative value is only allowed when a decreasing adjustment
                  type has been selected and vice versa.
              adjustment_type:
                type: string
                enum:
                  - Correction
                  - Damaged
                  - Item Sold
                  - Other
                  - Out of Date
                  - Returned
                  - Stock Purchase
                description: >
                  The reason for modifying the stock level.


                  **Increase types**: `Stock Purchase`, `Returned`, `Other`


                  **Decrease types**: `Damaged`, `Out of Date`, `Item Sold`,
                  `Other`, `Correction`
              comment:
                type: string
                nullable: true
                description: Use notes attribute instead.
                deprecated: true
              notes:
                type: string
                nullable: true
              product_id:
                type: string
                format: int64
                description: The existing product you want to adjust the stock level of.
                example: '1'
    Tax:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              amount:
                type: string
                format: decimal
                minimum: 0
                maximum: 4000000000
                exclusiveMaximum: true
              name:
                type: string
              rate:
                type: string
                format: decimal
                minimum: 0
                maximum: 4000000000
                exclusiveMaximum: true
    TreatmentNote:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              attendee_id:
                type: string
                format: int64
                description: attendee id
                example: '1'
              booking_id:
                type: string
                format: int64
                description: booking id
                example: '1'
              content:
                type: object
                nullable: true
                properties:
                  sections:
                    type: array
                    nullable: false
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          nullable: true
                          maxLength: 255
                        description:
                          type: string
                          nullable: true
                        questions:
                          type: array
                          nullable: false
                          items:
                            oneOf:
                              - $ref: '#/components/schemas/TreatmentNoteQuestionText'
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteQuestionParagraph
                              - $ref: '#/components/schemas/TreatmentNoteQuestionDate'
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteQuestionBodycharts
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteQuestionCheckboxes
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteQuestionRadiobuttons
              draft:
                type: boolean
                nullable: true
              patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
              title:
                type: string
              treatment_note_template_id:
                type: string
                format: int64
                description: treatment note template id
                example: '1'
    TreatmentNoteTemplate:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              content:
                type: object
                nullable: false
                properties:
                  sections:
                    type: array
                    nullable: false
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          nullable: true
                          maxLength: 255
                        description:
                          type: string
                          nullable: true
                        questions:
                          type: array
                          nullable: false
                          items:
                            oneOf:
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteTemplateQuestionText
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteTemplateQuestionParagraph
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteTemplateQuestionDate
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteTemplateQuestionBodycharts
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteTemplateQuestionCheckboxes
                              - $ref: >-
                                  #/components/schemas/TreatmentNoteTemplateQuestionRadiobuttons
              name:
                type: string
                maxLength: 255
              print_settings:
                type: object
                properties:
                  include_patient_address:
                    type: boolean
                  include_patient_dob:
                    type: boolean
                  include_patient_medicare:
                    type: boolean
                  include_patient_occupation:
                    type: boolean
                  include_patient_reference_number:
                    type: boolean
                  title:
                    type: string
    UnavailableBlock:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              business_id:
                type: string
                format: int64
                description: business id
                example: '1'
              ends_at:
                type: string
                format: date-time
              notes:
                type: string
                nullable: true
              practitioner_id:
                type: string
                format: int64
                description: practitioner id
                example: '1'
              starts_at:
                type: string
                format: date-time
              unavailable_block_type_id:
                type: string
                format: int64
                description: unavailable block type id
                example: '1'
              repeat_rule:
                type: object
                properties:
                  number_of_repeats:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    nullable: true
                  repeat_type:
                    type: string
                    enum:
                      - Daily
                      - Monthly
                      - Weekly
                    nullable: true
                  repeating_interval:
                    type: integer
                    minimum: 0
                    maximum: 100
                    exclusiveMinimum: true
                    nullable: true
                nullable: true
    UnavailableBlockType:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              color:
                type: string
                pattern: ^#(\h{6}|\h{3})$
              duration_in_minutes:
                type: integer
                minimum: 0
                maximum: 1440
                exclusiveMinimum: true
                exclusiveMaximum: true
              name:
                type: string
                maxLength: 255
    UploadedPatientAttachment:
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              patient_id:
                type: string
                format: int64
                description: patient id
                example: '1'
              description:
                type: string
                maxLength: 255
                nullable: true
              upload_url:
                type: string
                description: >-
                  Must be a presigned URL returned by the [presigned URL upload
                  process](/guides/uploading_patient_attachments/)
                example: >-
                  https://cliniko-files-example-bucket.s3.amazonaws.com/123/patients/456/attachments/temp/s0m3-w31rd-l0c4t10n-1na-t3mpd1r/the-name-of-the-file.txt
                format: uri
              filename:
                type: string
                maxLength: 255
                nullable: true
security:
  - basicAuth: []
paths:
  /appointment_types:
    get:
      tags:
        - Appointment Type
      summary: List appointment types
      operationId: ListAppointmentTypes-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointment_types:
                    type: array
                    items:
                      $ref: '#/components/schemas/AppointmentType'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: >
            Filter result by one or more fields.


            See [Filtering Results](/#filtering-results)


            Available filters:


            | Value | Format |

            |---|---|

            | appointment_confirmation_template_ids |
            [array](/#array-filter-operators) |

            | appointment_follow_up_template_ids |
            [array](/#array-filter-operators) |

            | appointment_reminder_template_ids |
            [array](/#array-filter-operators) |

            | archived_at | [date-time](/#datetime-filter-operators) |

            | category | [string](/#string-filter-operators) |

            | created_at | [date-time](/#datetime-filter-operators) |

            | id | [int64](/#numeric-filter-operators) |

            | online_payments_mode | [string](/#string-filter-operators) |

            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |

            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Appointment Type
      summary: Create appointment type
      operationId: CreateAppointmentType-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentType'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/AppointmentType'
  /appointment_types/{id}:
    get:
      tags:
        - Appointment Type
      summary: Get appointment type
      operationId: GetAppointmentType-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentType'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Appointment Type
      summary: Update appointment type
      operationId: UpdateAppointmentType-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentType'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/AppointmentType'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Appointment Type
      summary: Archive appointment type
      operationId: DeleteAppointmentType-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /appointment_types/{id}/archive:
    post:
      tags:
        - Appointment Type
      summary: Archive appointment type
      operationId: ArchiveAppointmentType-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /practitioners/{practitioner_id}/appointment_types:
    get:
      tags:
        - Appointment Type
      summary: List appointment types for practitioner
      operationId: ListAppointmentTypesForPractitioner-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointment_types:
                    type: array
                    items:
                      $ref: '#/components/schemas/AppointmentType'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/appointment_types?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/appointment_types?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/appointment_types?page=3
      parameters:
        - name: practitioner_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: >
            Filter result by one or more fields.


            See [Filtering Results](/#filtering-results)


            Available filters:


            | Value | Format |

            |---|---|

            | appointment_confirmation_template_ids |
            [array](/#array-filter-operators) |

            | appointment_follow_up_template_ids |
            [array](/#array-filter-operators) |

            | appointment_reminder_template_ids |
            [array](/#array-filter-operators) |

            | archived_at | [date-time](/#datetime-filter-operators) |

            | category | [string](/#string-filter-operators) |

            | created_at | [date-time](/#datetime-filter-operators) |

            | id | [int64](/#numeric-filter-operators) |

            | online_payments_mode | [string](/#string-filter-operators) |

            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |

            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /appointment_type_billable_items:
    get:
      tags:
        - Appointment Type Billable Item
      summary: List appointment type billable items
      operationId: ListAppointmentTypeBillableItems-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointment_type_billable_items:
                    type: array
                    items:
                      $ref: '#/components/schemas/AppointmentTypeBillableItem'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_type_billable_items?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_type_billable_items?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_type_billable_items?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_type_id | [int64](/#numeric-filter-operators) |
            | billable_item_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Appointment Type Billable Item
      summary: Create appointment type billable item
      operationId: CreateAppointmentTypeBillableItem-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentTypeBillableItem'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/AppointmentTypeBillableItemCreate'
  /appointment_type_billable_items/{id}:
    get:
      tags:
        - Appointment Type Billable Item
      summary: Get appointment type billable item
      operationId: GetAppointmentTypeBillableItem-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentTypeBillableItem'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    patch:
      tags:
        - Appointment Type Billable Item
      summary: Update appointment type billable item
      operationId: UpdateAppointmentTypeBillableItem-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentTypeBillableItem'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/AppointmentTypeBillableItemUpdate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Appointment Type Billable Item
      summary: Delete appointment type billable item
      operationId: DeleteAppointmentTypeBillableItem-Delete
      responses:
        '204':
          description: Resource was deleted successfully
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /appointment_type_products:
    get:
      tags:
        - Appointment Type Product
      summary: List appointment type products
      operationId: ListAppointmentTypeProducts-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointment_type_products:
                    type: array
                    items:
                      $ref: '#/components/schemas/AppointmentTypeProduct'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_type_products?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_type_products?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_type_products?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_type_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | product_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Appointment Type Product
      summary: Create appointment type product
      operationId: CreateAppointmentTypeProduct-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentTypeProduct'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/AppointmentTypeProductCreate'
  /appointment_type_products/{id}:
    get:
      tags:
        - Appointment Type Product
      summary: Get appointment type product
      operationId: GetAppointmentTypeProduct-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentTypeProduct'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    patch:
      tags:
        - Appointment Type Product
      summary: Update appointment type product
      operationId: UpdateAppointmentTypeProduct-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppointmentTypeProduct'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/AppointmentTypeProductUpdate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Appointment Type Product
      summary: Delete appointment type product
      operationId: DeleteAppointmentTypeProduct-Delete
      responses:
        '204':
          description: Resource was deleted successfully
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /attendees:
    get:
      tags:
        - Attendee
      summary: List attendees
      operationId: ListAttendees-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  attendees:
                    type: array
                    items:
                      $ref: '#/components/schemas/Attendee'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/attendees?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/attendees?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/attendees?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | booking_id | [int64](/#numeric-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_case_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Attendee
      summary: Create attendee
      operationId: CreateAttendee-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attendee'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Attendee'
  /attendees/{id}:
    get:
      tags:
        - Attendee
      summary: Get attendee
      operationId: GetAttendee-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attendee'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Attendee
      summary: Update attendee
      operationId: UpdateAttendee-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attendee'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/AttendeeUpdate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Attendee
      summary: Archive attendee
      operationId: DeleteAttendee-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /attendees/{id}/archive:
    post:
      tags:
        - Attendee
      summary: Archive attendee
      operationId: ArchiveAttendee-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /attendees/{id}/cancel:
    patch:
      tags:
        - Attendee
      summary: Cancel attendee
      operationId: CancelAttendee-Patch
      responses:
        '204':
          description: Resource was cancelled
      requestBody:
        $ref: '#/components/requestBodies/AttendeeCancel'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
      description: >-
        Only attendees of group appointments can be cancelled via this endpoint.
        Cancelling an individual appointment should be done via the [cancel
        endpoint for individual
        appointments](/openapi/individual-appointment/cancelindividualappointment-patch)
  /group_appointments/{group_appointment_id}/attendees:
    get:
      tags:
        - Attendee
      summary: List attendees for group appointment
      operationId: ListAttendeesForGroupAppointment-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  attendees:
                    type: array
                    items:
                      $ref: '#/components/schemas/Attendee'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/group_appointments/1/attendees?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/group_appointments/1/attendees?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/group_appointments/1/attendees?page=3
      deprecated: true
      parameters:
        - name: group_appointment_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | booking_id | [int64](/#numeric-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_case_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /individual_appointments/{individual_appointment_id}/attendees:
    get:
      tags:
        - Attendee
      summary: List attendees for individual appointment
      operationId: ListAttendeesForIndividualAppointment-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  attendees:
                    type: array
                    items:
                      $ref: '#/components/schemas/Attendee'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/individual_appointments/1/attendees?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/individual_appointments/1/attendees?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/individual_appointments/1/attendees?page=3
      deprecated: true
      parameters:
        - name: individual_appointment_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | booking_id | [int64](/#numeric-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_case_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patient_cases/{patient_case_id}/attendees:
    get:
      tags:
        - Attendee
      summary: List attendees for patient case
      operationId: ListAttendeesForPatientCase-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  attendees:
                    type: array
                    items:
                      $ref: '#/components/schemas/Attendee'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/attendees?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/attendees?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/attendees?page=3
      deprecated: true
      parameters:
        - name: patient_case_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | booking_id | [int64](/#numeric-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /availability_blocks:
    get:
      tags:
        - Availability Block
      summary: List availability blocks
      operationId: ListAvailabilityBlocks-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  availability_blocks:
                    type: array
                    items:
                      $ref: '#/components/schemas/AvailabilityBlock'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/availability_blocks?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/availability_blocks?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/availability_blocks?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | business_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | starts_at | [date-time](/#datetime-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Availability Block
      summary: Create availability block
      operationId: CreateAvailabilityBlock-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailabilityBlock'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/AvailabilityBlock'
  /availability_blocks/{id}:
    get:
      tags:
        - Availability Block
      summary: Get availability block
      operationId: GetAvailabilityBlock-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailabilityBlock'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /businesses/{business_id}/practitioners/{practitioner_id}/appointment_types/{appointment_type_id}/available_times:
    get:
      tags:
        - Available Time
      summary: Get all available times
      operationId: GetAllAvailableTimes-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners/1/appointment_types/1/available_times?from=2013-05-21&to=2013-05-22&page=2"
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners/1/appointment_types/1/available_times?from=2013-05-21&to=2013-05-22&page=1"
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners/1/appointment_types/1/available_times?from=2013-05-21&to=2013-05-22&page=3"
                  available_times:
                    items:
                      $ref: '#/components/schemas/AvailableTime'
      parameters:
        - in: path
          name: business_id
          required: true
          schema:
            example: '1'
            format: int64
            type: string
        - in: path
          name: practitioner_id
          required: true
          schema:
            example: '1'
            format: int64
            type: string
        - in: path
          name: appointment_type_id
          required: true
          schema:
            example: '1'
            format: int64
            type: string
        - description: >-
            Cannot be more than 7 days before `to`. Cannot be older than the
            current date in the account's time zone.
          in: query
          name: from
          required: true
          schema:
            format: date
            type: string
        - description: >-
            Cannot be more than 7 days after `from`. Cannot be older than the
            current date in the account's time zone.
          in: query
          name: to
          required: true
          schema:
            format: date
            type: string
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
      description: >-
        Find appointment start times that are currently available for the
        practitioner based on parameters provided.
  /businesses/{business_id}/practitioners/{practitioner_id}/appointment_types/{appointment_type_id}/next_available_time:
    get:
      tags:
        - Available Time
      summary: Get next available time
      operationId: GetNextAvailableTime-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners/1/appointment_types/1/next_available_time
                  appointment_start:
                    format: date-time
                    type: string
      parameters:
        - in: path
          name: business_id
          required: true
          schema:
            example: '1'
            format: int64
            type: string
        - in: path
          name: practitioner_id
          required: true
          schema:
            example: '1'
            format: int64
            type: string
        - in: path
          name: appointment_type_id
          required: true
          schema:
            example: '1'
            format: int64
            type: string
        - description: >-
            Cannot be more than 7 days before `to`. Cannot be older than the
            current date in the account's time zone.
          in: query
          name: from
          required: true
          schema:
            format: date
            type: string
        - description: >-
            Cannot be more than 7 days after `from`. Cannot be older than the
            current date in the account's time zone.
          in: query
          name: to
          required: true
          schema:
            format: date
            type: string
  /billable_items:
    get:
      tags:
        - Billable Item
      summary: List billable items
      operationId: ListBillableItems-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  billable_items:
                    type: array
                    items:
                      $ref: '#/components/schemas/BillableItem'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/billable_items?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/billable_items?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/billable_items?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | tax_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Billable Item
      summary: Create billable item
      operationId: CreateBillableItem-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillableItem'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/BillableItem'
  /billable_items/{id}:
    get:
      tags:
        - Billable Item
      summary: Get billable item
      operationId: GetBillableItem-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillableItem'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Billable Item
      summary: Update billable item
      operationId: UpdateBillableItem-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillableItem'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/BillableItem'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Billable Item
      summary: Archive billable item
      operationId: DeleteBillableItem-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /billable_items/{id}/archive:
    post:
      tags:
        - Billable Item
      summary: Archive billable item
      operationId: ArchiveBillableItem-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /bookings:
    get:
      tags:
        - Booking
      summary: List bookings
      operationId: ListBookings-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  bookings:
                    type: array
                    items:
                      $ref: '#/components/schemas/Booking'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/bookings?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/bookings?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/bookings?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_type_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | did_not_arrive | [boolean](/#boolean-filter-operators) |
            | email_reminder_sent | [boolean](/#boolean-filter-operators) |
            | ends_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | invoice_status | [integer](/#numeric-filter-operators) |
            | patient_ids | [array](/#array-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | repeated_from_id | [int64](/#numeric-filter-operators) |
            | sms_reminder_sent | [boolean](/#boolean-filter-operators) |
            | starts_at | [date-time](/#datetime-filter-operators) |
            | treatment_note_status | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /bookings/{id}:
    get:
      tags:
        - Booking
      summary: Get booking
      operationId: GetBooking-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Booking'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patient_cases/{patient_case_id}/bookings:
    get:
      tags:
        - Booking
      summary: List bookings for patient case
      operationId: ListBookingsForPatientCase-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  bookings:
                    type: array
                    items:
                      $ref: '#/components/schemas/Booking'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/bookings?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/bookings?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/bookings?page=3
      deprecated: true
      parameters:
        - name: patient_case_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_type_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | did_not_arrive | [boolean](/#boolean-filter-operators) |
            | email_reminder_sent | [boolean](/#boolean-filter-operators) |
            | ends_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | invoice_status | [integer](/#numeric-filter-operators) |
            | patient_ids | [array](/#array-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | repeated_from_id | [int64](/#numeric-filter-operators) |
            | sms_reminder_sent | [boolean](/#boolean-filter-operators) |
            | starts_at | [date-time](/#datetime-filter-operators) |
            | treatment_note_status | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /businesses:
    get:
      tags:
        - Business
      summary: List businesses
      operationId: ListBusinesses-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  businesses:
                    type: array
                    items:
                      $ref: '#/components/schemas/Business'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/businesses?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/businesses?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/businesses?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_type_ids | [array](/#array-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Business
      summary: Create business
      operationId: CreateBusiness-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Business'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Business'
  /businesses/{id}:
    get:
      tags:
        - Business
      summary: Get business
      operationId: GetBusiness-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Business'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Business
      summary: Update business
      operationId: UpdateBusiness-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Business'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Business'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Business
      summary: Archive business
      operationId: DeleteBusiness-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /businesses/{id}/archive:
    post:
      tags:
        - Business
      summary: Archive business
      operationId: ArchiveBusiness-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /businesses/{id}/unarchive:
    post:
      tags:
        - Business
      summary: Unarchive business
      operationId: UnarchiveBusiness-Post
      responses:
        '200':
          description: Resource was unarchived
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Business'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /communications:
    get:
      tags:
        - Communication
      summary: List communications
      operationId: ListCommunications-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  communications:
                    type: array
                    items:
                      $ref: '#/components/schemas/Communication'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/communications?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/communications?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/communications?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | category_code | [integer](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | letter_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | type_code | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Communication
      summary: Create memo communication
      operationId: CreateMemoCommunication-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemoCommunication'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MemoCommunicationBody'
      description: >
        Creating a memo with SMS or email as communication type will not send a
        communication.


        A memo just records that a communication has taken place.
  /communications/{id}:
    get:
      tags:
        - Communication
      summary: Get communication
      operationId: GetCommunication-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Communication'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Communication
      summary: Update memo communication
      operationId: UpdateMemoCommunication-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemoCommunication'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MemoCommunicationBody'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /communications/{id}/archive:
    post:
      tags:
        - Communication
      summary: Archive memo communication
      operationId: ArchiveMemoCommunication-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /concession_prices:
    get:
      tags:
        - Concession Price
      summary: List concession prices
      operationId: ListConcessionPrices-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  concession_prices:
                    type: array
                    items:
                      $ref: '#/components/schemas/ConcessionPrice'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/concession_prices?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/concession_prices?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/concession_prices?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | billable_item_id | [int64](/#numeric-filter-operators) |
            | concession_type_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Concession Price
      summary: Create concession price
      operationId: CreateConcessionPrice-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcessionPrice'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/ConcessionPriceCreate'
  /concession_prices/{id}:
    get:
      tags:
        - Concession Price
      summary: Get concession price
      operationId: GetConcessionPrice-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcessionPrice'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    patch:
      tags:
        - Concession Price
      summary: Update concession price
      operationId: UpdateConcessionPrice-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcessionPrice'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/ConcessionPriceUpdate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /concession_types:
    get:
      tags:
        - Concession Type
      summary: List concession types
      operationId: ListConcessionTypes-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  concession_types:
                    type: array
                    items:
                      $ref: '#/components/schemas/ConcessionType'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/concession_types?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/concession_types?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/concession_types?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Concession Type
      summary: Create concession type
      operationId: CreateConcessionType-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcessionType'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/ConcessionType'
  /concession_types/{id}:
    get:
      tags:
        - Concession Type
      summary: Get concession type
      operationId: GetConcessionType-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcessionType'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Concession Type
      summary: Update concession type
      operationId: UpdateConcessionType-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcessionType'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/ConcessionType'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /contacts:
    get:
      tags:
        - Contact
      summary: List contacts
      operationId: ListContacts-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  contacts:
                    type: array
                    items:
                      $ref: '#/components/schemas/Contact'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/contacts?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/contacts?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/contacts?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | company_name | [string](/#string-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | email | [string](/#string-filter-operators) |
            | first_name | [string](/#string-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | last_name | [string](/#string-filter-operators) |
            | occupation | [string](/#string-filter-operators) |
            | type_code | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Contact
      summary: Create contact
      operationId: CreateContact-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Contact'
  /contacts/{id}:
    get:
      tags:
        - Contact
      summary: Get contact
      operationId: GetContact-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Contact
      summary: Update contact
      operationId: UpdateContact-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Contact'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Contact
      summary: Archive contact
      operationId: DeleteContact-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /contacts/{id}/archive:
    post:
      tags:
        - Contact
      summary: Archive contact
      operationId: ArchiveContact-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /daily_availabilities:
    get:
      tags:
        - Daily Availability
      summary: List daily availabilities
      operationId: ListDailyAvailabilities-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  daily_availabilities:
                    type: array
                    items:
                      $ref: '#/components/schemas/DailyAvailability'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/daily_availabilities?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/daily_availabilities?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/daily_availabilities?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | business_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /daily_availabilities/{id}:
    get:
      tags:
        - Daily Availability
      summary: Get daily availability
      operationId: GetDailyAvailability-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyAvailability'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /businesses/{business_id}/daily_availabilities:
    get:
      tags:
        - Daily Availability
      summary: List daily availabilities for business
      operationId: ListDailyAvailabilitiesForBusiness-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  daily_availabilities:
                    type: array
                    items:
                      $ref: '#/components/schemas/DailyAvailability'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/daily_availabilities?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/daily_availabilities?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/daily_availabilities?page=3
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /practitioners/{practitioner_id}/daily_availabilities:
    get:
      tags:
        - Daily Availability
      summary: List daily availabilities for practitioner
      operationId: ListDailyAvailabilitiesForPractitioner-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  daily_availabilities:
                    type: array
                    items:
                      $ref: '#/components/schemas/DailyAvailability'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/daily_availabilities?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/daily_availabilities?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/daily_availabilities?page=3
      parameters:
        - name: practitioner_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | business_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /group_appointments:
    get:
      tags:
        - Group Appointment
      summary: List group appointments
      operationId: ListGroupAppointments-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  group_appointments:
                    type: array
                    items:
                      $ref: '#/components/schemas/GroupAppointment'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/group_appointments?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/group_appointments?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/group_appointments?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_type_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | ends_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_ids | [array](/#array-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | repeated_from_id | [int64](/#numeric-filter-operators) |
            | starts_at | [date-time](/#datetime-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Group Appointment
      summary: Create group appointment
      operationId: CreateGroupAppointment-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupAppointment'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/GroupAppointment'
  /group_appointments/{id}:
    get:
      tags:
        - Group Appointment
      summary: Get group appointment
      operationId: GetGroupAppointment-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupAppointment'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Group Appointment
      summary: Update group appointment
      operationId: UpdateGroupAppointment-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupAppointment'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/GroupAppointment'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Group Appointment
      summary: Archive group appointment
      operationId: DeleteGroupAppointment-Delete
      responses:
        '204':
          description: Resource was archived successfully
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
      deprecated: true
  /group_appointments/{id}/archive:
    post:
      tags:
        - Group Appointment
      summary: Archive group appointment
      operationId: ArchiveGroupAppointment-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /group_appointments/{id}/conflicts:
    get:
      tags:
        - Group Appointment
      summary: Get conflicts for a group appointment
      operationId: GetGroupAppointmentConflicts-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  conflicts:
                    type: object
                    properties:
                      exist:
                        type: boolean
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /individual_appointments:
    get:
      tags:
        - Individual Appointment
      summary: List individual appointments
      operationId: ListIndividualAppointments-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  individual_appointments:
                    type: array
                    items:
                      $ref: '#/components/schemas/IndividualAppointment'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/individual_appointments?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/individual_appointments?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/individual_appointments?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_type_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | did_not_arrive | [boolean](/#boolean-filter-operators) |
            | ends_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | repeated_from_id | [int64](/#numeric-filter-operators) |
            | starts_at | [date-time](/#datetime-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Individual Appointment
      summary: Create individual appointment
      operationId: CreateIndividualAppointment-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndividualAppointment'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/IndividualAppointment'
  /individual_appointments/{id}:
    get:
      tags:
        - Individual Appointment
      summary: Get individual appointment
      operationId: GetIndividualAppointment-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndividualAppointment'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | cancelled_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Individual Appointment
      summary: Update individual appointment
      operationId: UpdateIndividualAppointment-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndividualAppointment'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/IndividualAppointment'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Individual Appointment
      summary: Archive individual appointment
      operationId: DeleteIndividualAppointment-Delete
      responses:
        '204':
          description: Resource was archived successfully
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
      deprecated: true
  /individual_appointments/{id}/archive:
    post:
      tags:
        - Individual Appointment
      summary: Archive individual appointment
      operationId: ArchiveIndividualAppointment-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /individual_appointments/{id}/cancel:
    patch:
      tags:
        - Individual Appointment
      summary: Cancel individual appointment
      operationId: CancelIndividualAppointment-Patch
      responses:
        '204':
          description: Resource was cancelled
      requestBody:
        $ref: '#/components/requestBodies/IndividualAppointmentCancel'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /individual_appointments/{id}/conflicts:
    get:
      tags:
        - Individual Appointment
      summary: Get conflicts for an individual appointment
      operationId: GetIndividualAppointmentConflicts-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  conflicts:
                    type: object
                    properties:
                      exist:
                        type: boolean
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /invoices:
    get:
      tags:
        - Invoice
      summary: List invoices
      operationId: ListInvoices-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoices:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/invoices?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/invoices?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/invoices?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | attendee_id | [int64](/#numeric-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | closed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | issue_date | [date](/#date-filter-operators) |
            | number | [integer](/#numeric-filter-operators) |
            | original_invoice_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | status | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /invoices/{id}:
    get:
      tags:
        - Invoice
      summary: Get invoice
      operationId: GetInvoice-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /appointments/{appointment_id}/invoices:
    get:
      tags:
        - Invoice
      summary: List invoices for appointment
      operationId: ListInvoicesForAppointment-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoices:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointments/1/invoices?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointments/1/invoices?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointments/1/invoices?page=3
      parameters:
        - name: appointment_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | attendee_id | [int64](/#numeric-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | closed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | issue_date | [date](/#date-filter-operators) |
            | number | [integer](/#numeric-filter-operators) |
            | original_invoice_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | status | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /attendees/{attendee_id}/invoices:
    get:
      tags:
        - Invoice
      summary: List invoices for attendee
      operationId: ListInvoicesForAttendee-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoices:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/attendees/1/invoices?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/attendees/1/invoices?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/attendees/1/invoices?page=3
      deprecated: true
      parameters:
        - name: attendee_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | closed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | issue_date | [date](/#date-filter-operators) |
            | number | [integer](/#numeric-filter-operators) |
            | original_invoice_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | status | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patient_cases/{patient_case_id}/invoices:
    get:
      tags:
        - Invoice
      summary: List invoices for patient case
      operationId: ListInvoicesForPatientCase-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoices:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/invoices?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/invoices?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/invoices?page=3
      parameters:
        - name: patient_case_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | attendee_id | [int64](/#numeric-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | closed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | issue_date | [date](/#date-filter-operators) |
            | number | [integer](/#numeric-filter-operators) |
            | original_invoice_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | status | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patients/{patient_id}/invoices:
    get:
      tags:
        - Invoice
      summary: List invoices for patient
      operationId: ListInvoicesForPatient-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoices:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/invoices?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/invoices?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/invoices?page=3
      deprecated: true
      parameters:
        - name: patient_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | attendee_id | [int64](/#numeric-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | closed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | issue_date | [date](/#date-filter-operators) |
            | number | [integer](/#numeric-filter-operators) |
            | original_invoice_id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | status | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /practitioners/{practitioner_id}/invoices:
    get:
      tags:
        - Invoice
      summary: List invoices for practitioner
      operationId: ListInvoicesForPractitioner-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoices:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/invoices?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/invoices?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/invoices?page=3
      deprecated: true
      parameters:
        - name: practitioner_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | appointment_id | [int64](/#numeric-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | attendee_id | [int64](/#numeric-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | closed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | issue_date | [date](/#date-filter-operators) |
            | number | [integer](/#numeric-filter-operators) |
            | original_invoice_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | status | [integer](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /invoice_items:
    get:
      tags:
        - Invoice Item
      summary: List invoice items
      operationId: ListInvoiceItems-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoice_items:
                    type: array
                    items:
                      $ref: '#/components/schemas/InvoiceItem'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/invoice_items?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/invoice_items?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/invoice_items?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | invoice_id | [int64](/#numeric-filter-operators) |
            | source_item_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /invoice_items/{id}:
    get:
      tags:
        - Invoice Item
      summary: Get invoice item
      operationId: GetInvoiceItem-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceItem'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /invoices/{invoice_id}/invoice_items:
    get:
      tags:
        - Invoice Item
      summary: List invoice items for invoice
      operationId: ListInvoiceItemsForInvoice-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  invoice_items:
                    type: array
                    items:
                      $ref: '#/components/schemas/InvoiceItem'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/invoices/1/invoice_items?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/invoices/1/invoice_items?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/invoices/1/invoice_items?page=3
      deprecated: true
      parameters:
        - name: invoice_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | source_item_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /medical_alerts:
    get:
      tags:
        - Medical Alert
      summary: List medical alerts
      operationId: ListMedicalAlerts-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  medical_alerts:
                    type: array
                    items:
                      $ref: '#/components/schemas/MedicalAlert'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/medical_alerts?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/medical_alerts?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/medical_alerts?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Medical Alert
      summary: Create medical alert
      operationId: CreateMedicalAlert-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicalAlert'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/MedicalAlert'
  /medical_alerts/{id}:
    get:
      tags:
        - Medical Alert
      summary: Get medical alert
      operationId: GetMedicalAlert-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicalAlert'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Medical Alert
      summary: Update medical alert
      operationId: UpdateMedicalAlert-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicalAlert'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/MedicalAlert'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Medical Alert
      summary: Archive medical alert
      operationId: DeleteMedicalAlert-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /medical_alerts/{id}/archive:
    post:
      tags:
        - Medical Alert
      summary: Archive medical alert
      operationId: ArchiveMedicalAlert-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patients/{patient_id}/medical_alerts:
    get:
      tags:
        - Medical Alert
      summary: List medical alerts for patient
      operationId: ListMedicalAlertsForPatient-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  medical_alerts:
                    type: array
                    items:
                      $ref: '#/components/schemas/MedicalAlert'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/medical_alerts?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/medical_alerts?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/medical_alerts?page=3
      deprecated: true
      parameters:
        - name: patient_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patients:
    get:
      tags:
        - Patient
      summary: List patients
      operationId: ListPatients-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patients:
                    type: array
                    items:
                      $ref: '#/components/schemas/Patient'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patients?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patients?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patients?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | accepted_privacy_policy | [boolean](/#boolean-filter-operators) |
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | date_of_birth | [date](/#date-filter-operators) |
            | email | [string](/#string-filter-operators) |
            | first_name | [string](/#string-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | last_name | [string](/#string-filter-operators) |
            | old_reference_id | [string](/#string-filter-operators) |
            | preferred_first_name | [string](/#string-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Patient
      summary: Create patient
      operationId: CreatePatient-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Patient'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Patient'
  /patients/{id}:
    get:
      tags:
        - Patient
      summary: Get patient
      operationId: GetPatient-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Patient'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Patient
      summary: Update patient
      operationId: UpdatePatient-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Patient'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Patient'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Patient
      summary: Archive patient
      operationId: ArchivePatient-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patients/{id}/archive:
    post:
      tags:
        - Patient
      summary: Archive patient
      operationId: ArchivePatient-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patients/{id}/unarchive:
    post:
      tags:
        - Patient
      summary: Unarchive patient
      operationId: UnarchivePatient-Post
      responses:
        '200':
          description: Resource was unarchived
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Patient'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patient_attachments:
    get:
      tags:
        - Patient Attachment
      summary: List patient attachments
      operationId: ListPatientAttachments-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_attachments:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientAttachment'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_attachments?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_attachments?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_attachments?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | content_type | [string](/#string-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | description | [string](/#string-filter-operators) |
            | filename | [string](/#string-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | processed_at | [date-time](/#datetime-filter-operators) |
            | size | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Patient Attachment
      summary: Create uploaded patient attachment
      operationId: CreateUploadedPatientAttachment-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadedPatientAttachment'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/UploadedPatientAttachment'
      description: >-
        To create a patient attachment, you must first [generate a presigned
        URL](/guides/uploading_patient_attachments/), upload your file to that
        URL, and then supply that URL and response key in the `upload_url`
        request body parameter.
      externalDocs:
        description: Uploading patient attachments
        url: /guides/uploading_patient_attachments/
  /patient_attachments/{id}:
    get:
      tags:
        - Patient Attachment
      summary: Get patient attachment
      operationId: GetPatientAttachment-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientAttachment'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Patient Attachment
      summary: Update patient attachment
      operationId: UpdatePatientAttachment-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientAttachment'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/FullPatientExportBody'
                - $ref: '#/components/schemas/UploadedPatientAttachmentBody'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Patient Attachment
      summary: Archive patient attachment
      operationId: DeletePatientAttachment-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patient_attachments/{id}/archive:
    post:
      tags:
        - Patient Attachment
      summary: Archive patient attachment
      operationId: ArchivePatientAttachment-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patient_cases/{patient_case_id}/patient_attachments:
    get:
      tags:
        - Patient Attachment
      summary: List patient attachments for patient case
      operationId: ListPatientAttachmentsForPatientCase-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_attachments:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientAttachment'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/patient_attachments?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/patient_attachments?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/1/patient_attachments?page=3
      parameters:
        - name: patient_case_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | content_type | [string](/#string-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | description | [string](/#string-filter-operators) |
            | filename | [string](/#string-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | processed_at | [date-time](/#datetime-filter-operators) |
            | size | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patients/{patient_id}/attachment_presigned_post:
    get:
      tags:
        - Patient Attachment
      summary: Get a presigned URL to upload your file to S3
      operationId: PresignedPost-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachmentPresignedPost'
      parameters:
        - in: path
          name: patient_id
          required: true
          schema:
            example: '1'
            format: int64
            type: string
      externalDocs:
        description: Uploading patient attachments
        url: /guides/uploading_patient_attachments/
  /patients/{patient_id}/patient_attachments:
    get:
      tags:
        - Patient Attachment
      summary: List patient attachments for patient
      operationId: ListPatientAttachmentsForPatient-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_attachments:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientAttachment'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/patient_attachments?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/patient_attachments?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/patient_attachments?page=3
      deprecated: true
      parameters:
        - name: patient_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | content_type | [string](/#string-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | description | [string](/#string-filter-operators) |
            | filename | [string](/#string-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | processed_at | [date-time](/#datetime-filter-operators) |
            | size | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patient_cases:
    get:
      tags:
        - Patient Case
      summary: List patient cases
      operationId: ListPatientCases-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_cases:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientCase'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patient_cases?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patient_cases?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patient_cases?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | closed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | expiry_date | [date](/#date-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | issue_date | [date](/#date-filter-operators) |
            | name | [string](/#string-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | referral_type | [string](/#string-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Patient Case
      summary: Create patient case
      operationId: CreatePatientCase-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientCase'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/PatientCase'
  /patient_cases/active:
    get:
      tags:
        - Patient Case
      summary: List active patient cases
      operationId: ListActivePatientCases-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_cases:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientCase'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/active?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/active?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_cases/active?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | closed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | expiry_date | [date](/#date-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | issue_date | [date](/#date-filter-operators) |
            | name | [string](/#string-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | referral_type | [string](/#string-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patient_cases/{id}:
    get:
      tags:
        - Patient Case
      summary: Get patient case
      operationId: GetPatientCase-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientCase'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Patient Case
      summary: Update patient case
      operationId: UpdatePatientCase-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientCase'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/PatientCase'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patient_cases/{id}/archive:
    post:
      tags:
        - Patient Case
      summary: Archive patient case
      operationId: ArchivePatientCase-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patient_forms:
    get:
      tags:
        - Patient Form
      summary: List patient forms
      operationId: ListPatientForms-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_forms:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientForm'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patient_forms?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patient_forms?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/patient_forms?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | attendee_id | [int64](/#numeric-filter-operators) |
            | completed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_form_template_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Patient Form
      summary: Create patient form
      operationId: CreatePatientForm-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientForm'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/PatientForm'
      description: >-
        When creating a patient form with a `patient_form_template_id`, the
        values for `name`, `content`, and `restricted_to_practitioner` will be
        pulled from the template. However, you may provide any of those values
        to override the template, or even provide all of your own values and
        exclude the `patient_form_template_id` altogether.
  /patient_forms/{id}:
    get:
      tags:
        - Patient Form
      summary: Get patient form
      operationId: GetPatientForm-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientForm'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Patient Form
      summary: Update patient form
      operationId: UpdatePatientForm-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientForm'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/PatientForm'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /attendees/{attendee_id}/patient_forms:
    get:
      tags:
        - Patient Form
      summary: List patient forms for attendee
      operationId: ListPatientFormsForAttendee-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_forms:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientForm'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/attendees/1/patient_forms?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/attendees/1/patient_forms?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/attendees/1/patient_forms?page=3
      deprecated: true
      parameters:
        - name: attendee_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | completed_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_form_template_id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patient_forms/{id}/archive:
    post:
      tags:
        - Patient Form
      summary: Archive patient form
      operationId: ArchivePatientForm-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patient_form_templates:
    get:
      tags:
        - Patient Form Template
      summary: List patient form templates
      operationId: ListPatientFormTemplates-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_form_templates:
                    type: array
                    items:
                      $ref: '#/components/schemas/PatientFormTemplate'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_form_templates?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_form_templates?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patient_form_templates?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Patient Form Template
      summary: Create patient form template
      operationId: CreatePatientFormTemplate-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientFormTemplate'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/PatientFormTemplate'
  /patient_form_templates/{id}:
    get:
      tags:
        - Patient Form Template
      summary: Get patient form template
      operationId: GetPatientFormTemplate-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientFormTemplate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Patient Form Template
      summary: Update patient form template
      operationId: UpdatePatientFormTemplate-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientFormTemplate'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/PatientFormTemplate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patient_form_templates/{id}/archive:
    post:
      tags:
        - Patient Form Template
      summary: Archive patient form template
      operationId: ArchivePatientFormTemplate-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /practitioners:
    get:
      tags:
        - Practitioner
      summary: List practitioners
      operationId: ListPractitioners-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitioners:
                    type: array
                    items:
                      $ref: '#/components/schemas/Practitioner'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/practitioners?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/practitioners?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/practitioners?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | active | [boolean](/#boolean-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /practitioners/inactive:
    get:
      tags:
        - Practitioner
      summary: List inactive practitioners
      operationId: ListInactivePractitioners-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitioners:
                    type: array
                    items:
                      $ref: '#/components/schemas/Practitioner'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/inactive?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/inactive?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/inactive?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | active | [boolean](/#boolean-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /practitioners/{id}:
    get:
      tags:
        - Practitioner
      summary: Get practitioner
      operationId: GetPractitioner-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Practitioner'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /appointment_types/{appointment_type_id}/practitioners:
    get:
      tags:
        - Practitioner
      summary: List practitioners for appointment type
      operationId: ListPractitionersForAppointmentType-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitioners:
                    type: array
                    items:
                      $ref: '#/components/schemas/Practitioner'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types/1/practitioners?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types/1/practitioners?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types/1/practitioners?page=3
      parameters:
        - name: appointment_type_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | active | [boolean](/#boolean-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /businesses/{business_id}/practitioners:
    get:
      tags:
        - Practitioner
      summary: List practitioners for business
      operationId: ListPractitionersForBusiness-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitioners:
                    type: array
                    items:
                      $ref: '#/components/schemas/Practitioner'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners?page=3
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | active | [boolean](/#boolean-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /appointment_types/{appointment_type_id}/practitioners/inactive:
    get:
      tags:
        - Practitioner
      summary: List inactive practitioners for appointment type
      operationId: ListInactivePractitionersForAppointmentType-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitioners:
                    type: array
                    items:
                      $ref: '#/components/schemas/Practitioner'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types/1/practitioners/inactive?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types/1/practitioners/inactive?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/appointment_types/1/practitioners/inactive?page=3
      parameters:
        - name: appointment_type_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | active | [boolean](/#boolean-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /businesses/{business_id}/practitioners/inactive:
    get:
      tags:
        - Practitioner
      summary: List inactive practitioners for business
      operationId: ListInactivePractitionersForBusiness-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitioners:
                    type: array
                    items:
                      $ref: '#/components/schemas/Practitioner'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners/inactive?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners/inactive?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/practitioners/inactive?page=3
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | active | [boolean](/#boolean-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | show_in_online_bookings | [boolean](/#boolean-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
            | user_id | [int64](/#numeric-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /practitioner_reference_numbers:
    get:
      tags:
        - Practitioner Reference Number
      summary: List practitioner reference numbers
      operationId: ListPractitionerReferenceNumbers-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitioner_reference_numbers:
                    type: array
                    items:
                      $ref: '#/components/schemas/PractitionerReferenceNumber'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioner_reference_numbers?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioner_reference_numbers?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioner_reference_numbers?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | business_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | reference_number | [string](/#string-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Practitioner Reference Number
      summary: Create practitioner reference number
      operationId: CreatePractitionerReferenceNumber-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PractitionerReferenceNumber'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/PractitionerReferenceNumber'
  /practitioner_reference_numbers/{id}:
    get:
      tags:
        - Practitioner Reference Number
      summary: Get practitioner reference number
      operationId: GetPractitionerReferenceNumber-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PractitionerReferenceNumber'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    patch:
      tags:
        - Practitioner Reference Number
      summary: Update practitioner reference number
      operationId: UpdatePractitionerReferenceNumber-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PractitionerReferenceNumber'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/PractitionerReferenceNumber'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Practitioner Reference Number
      summary: Delete practitioner reference number
      operationId: DeletePractitionerReferenceNumber-Delete
      responses:
        '204':
          description: Resource was deleted successfully
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /practitioners/{practitioner_id}/practitioner_reference_numbers:
    get:
      tags:
        - Practitioner Reference Number
      summary: List practitioner reference numbers for practitioner
      operationId: ListPractitionerReferenceNumbersForPractitioner-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitioner_reference_numbers:
                    type: array
                    items:
                      $ref: '#/components/schemas/PractitionerReferenceNumber'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/practitioner_reference_numbers?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/practitioner_reference_numbers?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/practitioners/1/practitioner_reference_numbers?page=3
      deprecated: true
      parameters:
        - name: practitioner_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | business_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | reference_number | [string](/#string-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /products:
    get:
      tags:
        - Product
      summary: List products
      operationId: ListProducts-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/Product'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/products?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/products?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/products?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | name | [string](/#string-filter-operators) |
            | tax_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Product
      summary: Create product
      operationId: CreateProduct-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Product'
  /products/{id}:
    get:
      tags:
        - Product
      summary: Get product
      operationId: GetProduct-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Product
      summary: Update product
      operationId: UpdateProduct-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/ProductUpdate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Product
      summary: Archive product
      operationId: DeleteProduct-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /products/{id}/archive:
    post:
      tags:
        - Product
      summary: Archive product
      operationId: ArchiveProduct-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /product_suppliers:
    get:
      tags:
        - Product Supplier
      summary: List product suppliers
      operationId: ListProductSuppliers-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  product_suppliers:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProductSupplier'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/product_suppliers?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/product_suppliers?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/product_suppliers?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | name | [string](/#string-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Product Supplier
      summary: Create product supplier
      operationId: CreateProductSupplier-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSupplier'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/ProductSupplier'
  /product_suppliers/{id}:
    get:
      tags:
        - Product Supplier
      summary: Get product supplier
      operationId: GetProductSupplier-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSupplier'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    patch:
      tags:
        - Product Supplier
      summary: Update product supplier
      operationId: UpdateProductSupplier-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSupplier'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/ProductSupplier'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Product Supplier
      summary: Delete product supplier
      operationId: DeleteProductSupplier-Delete
      responses:
        '204':
          description: Resource was deleted successfully
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /settings/public:
    get:
      tags:
        - Public Settings
      summary: Get public settings
      operationId: GetPublicSettings-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicSettings'
  /referral_sources:
    get:
      tags:
        - Referral Source
      summary: List referral sources
      operationId: ListReferralSources-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  referral_sources:
                    type: array
                    items:
                      $ref: '#/components/schemas/ReferralSource'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/referral_sources?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/referral_sources?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/referral_sources?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | referral_source_type_id | [int64](/#numeric-filter-operators) |
            | referrer_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /patients/{patient_id}/referral_source:
    get:
      tags:
        - Referral Source
      summary: Get referral source
      operationId: GetReferralSource-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferralSource'
      parameters:
        - name: patient_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Referral Source
      summary: Update referral source
      operationId: UpdateReferralSource-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferralSource'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/ReferralSource'
      parameters:
        - name: patient_id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /referral_source_types:
    get:
      tags:
        - Referral Source Type
      summary: List referral source types
      operationId: ListReferralSourceTypes-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  referral_source_types:
                    type: array
                    items:
                      $ref: '#/components/schemas/ReferralSourceType'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/referral_source_types?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/referral_source_types?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/referral_source_types?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /referral_source_types/{id}:
    get:
      tags:
        - Referral Source Type
      summary: Get referral source type
      operationId: GetReferralSourceType-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferralSourceType'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /relationships:
    get:
      tags:
        - Relationship
      summary: List relationships
      operationId: ListRelationships-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  relationships:
                    type: array
                    items:
                      $ref: '#/components/schemas/Relationship'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/relationships?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/relationships?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/relationships?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Relationship
      summary: Create relationship
      operationId: CreateRelationship-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Relationship'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Relationship'
  /relationships/{id}:
    get:
      tags:
        - Relationship
      summary: Get relationship
      operationId: GetRelationship-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Relationship'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Relationship
      summary: Update relationship
      operationId: UpdateRelationship-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Relationship'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Relationship'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /relationships/{id}/archive:
    post:
      tags:
        - Relationship
      summary: Archive relationship
      operationId: ArchiveRelationship-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /services:
    get:
      tags:
        - Service
      summary: List services
      operationId: ListServices-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  services:
                    type: array
                    items:
                      $ref: '#/components/schemas/Service'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/services?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/services?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/services?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
  /businesses/{business_id}/services:
    get:
      tags:
        - Service
      summary: List services for business
      operationId: ListServicesForBusiness-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  services:
                    type: array
                    items:
                      $ref: '#/components/schemas/Service'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/services?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/services?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/businesses/1/services?page=3
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
  /settings:
    get:
      tags:
        - Settings
      summary: Get settings
      operationId: GetSettings-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Settings'
      description: >-
        This endpoint is only accessible to users with a role that can view
        settings.
  /patient_forms/{patient_form_id}/signatures/{id}:
    get:
      tags:
        - Signature
      summary: Get signature
      operationId: GetSignature-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Signature'
      parameters:
        - name: patient_form_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /stock_adjustments:
    get:
      tags:
        - Stock Adjustment
      summary: List stock adjustments
      operationId: ListStockAdjustments-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  stock_adjustments:
                    type: array
                    items:
                      $ref: '#/components/schemas/StockAdjustment'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/stock_adjustments?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/stock_adjustments?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/stock_adjustments?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | product_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Stock Adjustment
      summary: Create stock adjustment
      operationId: CreateStockAdjustment-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockAdjustment'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/StockAdjustment'
  /stock_adjustments/{id}:
    get:
      tags:
        - Stock Adjustment
      summary: Get stock adjustment
      operationId: GetStockAdjustment-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockAdjustment'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /taxes:
    get:
      tags:
        - Tax
      summary: List taxes
      operationId: ListTaxes-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  taxes:
                    type: array
                    items:
                      $ref: '#/components/schemas/Tax'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/taxes?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/taxes?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/taxes?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Tax
      summary: Create tax
      operationId: CreateTax-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tax'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Tax'
  /taxes/{id}:
    get:
      tags:
        - Tax
      summary: Get tax
      operationId: GetTax-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tax'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    patch:
      tags:
        - Tax
      summary: Update tax
      operationId: UpdateTax-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tax'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/Tax'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Tax
      summary: Delete tax
      operationId: DeleteTax-Delete
      responses:
        '204':
          description: Resource was deleted successfully
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /treatment_notes:
    get:
      tags:
        - Treatment Note
      summary: List treatment notes
      operationId: ListTreatmentNotes-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  treatment_notes:
                    type: array
                    items:
                      $ref: '#/components/schemas/TreatmentNote'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/treatment_notes?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/treatment_notes?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/treatment_notes?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | attendee_id | [int64](/#numeric-filter-operators) |
            | booking_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | draft | [boolean](/#boolean-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | patient_id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | treatment_note_template_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Treatment Note
      summary: Create treatment note
      operationId: CreateTreatmentNote-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatmentNote'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/TreatmentNote'
  /treatment_notes/{id}:
    get:
      tags:
        - Treatment Note
      summary: Get treatment note
      operationId: GetTreatmentNote-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatmentNote'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Treatment Note
      summary: Update treatment note
      operationId: UpdateTreatmentNote-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatmentNote'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/TreatmentNote'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Treatment Note
      summary: Archive treatment note
      operationId: DeleteTreatmentNote-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /patients/{patient_id}/treatment_notes:
    get:
      tags:
        - Treatment Note
      summary: List treatment notes for patient
      operationId: ListTreatmentNotesForPatient-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  treatment_notes:
                    type: array
                    items:
                      $ref: '#/components/schemas/TreatmentNote'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/treatment_notes?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/treatment_notes?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/patients/1/treatment_notes?page=3
      parameters:
        - name: patient_id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | attendee_id | [int64](/#numeric-filter-operators) |
            | booking_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | draft | [boolean](/#boolean-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | treatment_note_template_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /treatment_notes/{id}/archive:
    post:
      tags:
        - Treatment Note
      summary: Archive treatment note
      operationId: ArchiveTreatmentNote-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /treatment_notes/{id}/unarchive:
    post:
      tags:
        - Treatment Note
      summary: Unarchive treatment note
      operationId: UnarchiveTreatmentNote-Post
      responses:
        '200':
          description: Resource was unarchived
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatmentNote'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /treatment_note_templates:
    get:
      tags:
        - Treatment Note Template
      summary: List treatment note templates
      operationId: ListTreatmentNoteTemplates-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  treatment_note_templates:
                    type: array
                    items:
                      $ref: '#/components/schemas/TreatmentNoteTemplate'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/treatment_note_templates?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/treatment_note_templates?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/treatment_note_templates?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Treatment Note Template
      summary: Create treatment note template
      operationId: CreateTreatmentNoteTemplate-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatmentNoteTemplate'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/TreatmentNoteTemplate'
  /treatment_note_templates/{id}:
    get:
      tags:
        - Treatment Note Template
      summary: Get treatment note template
      operationId: GetTreatmentNoteTemplate-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatmentNoteTemplate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Treatment Note Template
      summary: Update treatment note template
      operationId: UpdateTreatmentNoteTemplate-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatmentNoteTemplate'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/TreatmentNoteTemplate'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Treatment Note Template
      summary: Archive treatment note template
      operationId: DeleteTreatmentNoteTemplate-Delete
      responses:
        '204':
          description: Resource was archived successfully
      deprecated: true
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /treatment_note_templates/{id}/archive:
    post:
      tags:
        - Treatment Note Template
      summary: Archive treatment note template
      operationId: ArchiveTreatmentNoteTemplate-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /unavailable_blocks:
    get:
      tags:
        - Unavailable Block
      summary: List unavailable blocks
      operationId: ListUnavailableBlocks-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  unavailable_blocks:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnavailableBlock'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/unavailable_blocks?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/unavailable_blocks?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/unavailable_blocks?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | business_id | [int64](/#numeric-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
            | ends_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | practitioner_id | [int64](/#numeric-filter-operators) |
            | repeated_from_id | [int64](/#numeric-filter-operators) |
            | starts_at | [date-time](/#datetime-filter-operators) |
            | unavailable_block_type_id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Unavailable Block
      summary: Create unavailable block
      operationId: CreateUnavailableBlock-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableBlock'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/UnavailableBlock'
  /unavailable_blocks/{id}:
    get:
      tags:
        - Unavailable Block
      summary: Get unavailable block
      operationId: GetUnavailableBlock-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableBlock'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | deleted_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Unavailable Block
      summary: Update unavailable block
      operationId: UpdateUnavailableBlock-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableBlock'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/UnavailableBlock'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
    delete:
      tags:
        - Unavailable Block
      summary: Archive unavailable block
      operationId: DeleteUnavailableBlock-Delete
      responses:
        '204':
          description: Resource was archived successfully
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
      deprecated: true
  /unavailable_blocks/{id}/archive:
    post:
      tags:
        - Unavailable Block
      summary: Archive unavailable block
      operationId: ArchiveUnavailableBlock-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /unavailable_blocks/{id}/conflicts:
    get:
      tags:
        - Unavailable Block
      summary: Get conflicts for an unavailable block
      operationId: GetUnavailableBlockConflicts-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  conflicts:
                    type: object
                    properties:
                      exist:
                        type: boolean
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /unavailable_block_types:
    get:
      tags:
        - Unavailable Block Type
      summary: List unavailable block types
      operationId: ListUnavailableBlockTypes-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  unavailable_block_types:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnavailableBlockType'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/unavailable_block_types?page=2
                      previous:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/unavailable_block_types?page=1
                      next:
                        type: string
                        format: uri
                        example: >-
                          https://api.au1.cliniko.com/v1/unavailable_block_types?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    post:
      tags:
        - Unavailable Block Type
      summary: Create unavailable block type
      operationId: CreateUnavailableBlockType-Post
      responses:
        '201':
          description: Resource was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableBlockType'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/UnavailableBlockType'
  /unavailable_block_types/{id}:
    get:
      tags:
        - Unavailable Block Type
      summary: Get unavailable block type
      operationId: GetUnavailableBlockType-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableBlockType'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | archived_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
    patch:
      tags:
        - Unavailable Block Type
      summary: Update unavailable block type
      operationId: UpdateUnavailableBlockType-Patch
      responses:
        '200':
          description: Resource was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableBlockType'
        '422':
          $ref: '#/components/responses/ValidationError'
      requestBody:
        $ref: '#/components/requestBodies/UnavailableBlockType'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /unavailable_block_types/{id}/archive:
    post:
      tags:
        - Unavailable Block Type
      summary: Archive unavailable block type
      operationId: ArchiveUnavailableBlockType-Post
      responses:
        '204':
          description: Resource was archived
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
  /user:
    get:
      tags:
        - User
      summary: Get authenticated user
      operationId: GetAuthenticatedUser-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
  /users:
    get:
      tags:
        - User
      summary: List users
      operationId: ListUsers-Get
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  users:
                    type: array
                    items:
                      $ref: '#/components/schemas/User'
                  total_entries:
                    type: integer
                    example: 1
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/users?page=2
                      previous:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/users?page=1
                      next:
                        type: string
                        format: uri
                        example: https://api.au1.cliniko.com/v1/users?page=3
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - $ref: '#/components/parameters/Sort'
        - $ref: '#/components/parameters/Order'
        - in: query
          name: q[]
          description: |
            Filter result by one or more fields.

            See [Filtering Results](/#filtering-results)

            Available filters:

            | Value | Format |
            |---|---|
            | created_at | [date-time](/#datetime-filter-operators) |
            | id | [int64](/#numeric-filter-operators) |
            | updated_at | [date-time](/#datetime-filter-operators) |
          schema:
            type: array
            items:
              type: string
  /users/{id}:
    get:
      tags:
        - User
      summary: Get user
      operationId: GetUser-Get
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: int64
tags:
  - name: Appointment Type
  - name: Appointment Type Billable Item
  - name: Appointment Type Product
  - name: Attendee
  - name: Availability Block
  - name: Available Time
    description: >
      Cliniko users can configure how available times are displayed in our
      online bookings module.


      The API endpoints that retrieve available times will respect these
      settings.  The settings are:


      <h3>Maximum number of appointments per day segment</h3>


      Day parts are morning (before Midday), afternoon (Midday to 5pm) and
      evening (5pm onwards).


      Possible settings are: 1, 2, 3, 4, 5 or unlimited.


      <h3>Minimum advance time required for online bookings</h3>


      This is the minimum amount of time from now that a available time will be
      shown.


      Possible settings are: Now, 1 Hour, 2 Hours, 4 Hours, Tomorrow or 2 Days.


      <h3>How far ahead bookings are offered</h3>


      This limits how far in the future available times are offered.


      Possible settings are: 28 days, 84 days, 182 days or 365 days


      <h3>Business to be displayed in online bookings</h3>


      Setting to choose which businesses can be displayed in our online bookings
      module.


      The API will not return available times for businesses not enabled for
      online bookings.


      <h3>Appointment Type to be displayed in online bookings</h3>


      Setting to choose which appointment types can be displayed in our online
      bookings module.


      The API will not return available times for appointment types not enabled
      for online bookings.


      <h3>Practitioner to be displayed in online bookings</h3>


      Setting to choose which practitioners can be displayed in our online
      bookings module.


      The API will not return available times for practitioners not enabled for
      online bookings.
  - name: Billable Item
  - name: Booking
  - name: Business
    description: >
      Businesses represent a business or location (e.g. a clinic). Each Cliniko
      account can have unlimited businesses.


      These are typically used for each physical location if there is more than
      one. Most Cliniko accounts have just one

      business.
  - name: Communication
  - name: Concession Price
  - name: Concession Type
  - name: Contact
  - name: Daily Availability
    description: The regularly scheduled availabilities of a practitioner at a business
  - name: Group Appointment
  - name: Individual Appointment
  - name: Invoice
  - name: Invoice Item
  - name: Medical Alert
  - name: Patient
    description: >
      Patients are the people that book in for appointments. There isn't much in
      Cliniko that doesn't revolve around

      patients.


      When you're working with patient information, make sure you abide by the
      relevant regulations for security and

      privacy.


      A couple of fields in the patient record deserve special consideration:


      `accepted_privacy_policy` stores the patient's consent to the business's
      own privacy policy. Values can be null

      (no response), true (accepted) or false (rejected). Please consider how
      this may affect you storing information

      on this patient.


      `time_zone` will contain a valid IANA time zone identifier if the
      patient's time zone has been set, or null if it

      hasn't. It can be set via the API, in which case it accepts IANA time zone
      identifiers.
  - name: Patient Attachment
  - name: Patient Case
  - name: Patient Form
    description: >
      HTML is supported in answers to paragraph questions. We sanitize these
      answers to ensure the HTML is safe

      and our editor can support the formatting.


      Currently, the following tags are supported: `p`, `div`, `br`, `ul`, `ol`,
      `li`, `blockquote`, `h1`, `h2`,  `b`, `i`, `u`, and `a`.


      The angle bracket characters (`<`, and `>`) should be sent as html
      encodings (ex: `<` should be sent as `&lt;`).


      Content inside unescaped angle brackets could be identified as unsupported
      HTML and will be stripped.
  - name: Patient Form Template
  - name: Practitioner
    description: >
      All practitioners have an associated user account. Not all users are
      practitioners (e.g. receptionists wouldn't be).


      You can only create appointments for practitioners (not for users).
  - name: Practitioner Reference Number
  - name: Product
  - name: Product Supplier
  - name: Public Settings
  - name: Referral Source
    description: Referral source of a patient
  - name: Referral Source Type
    description: Types of referrals for patients
  - name: Relationship
  - name: Service
  - name: Settings
  - name: Signature
  - name: Stock Adjustment
  - name: Tax
  - name: Treatment Note
    description: >
      Notes taken about a patient visit.


      HTML is supported in answers to paragraph questions. We sanitize these
      answers to ensure the HTML is safe

      and our editor can support the formatting.


      Currently, the following tags are supported: `p`, `div`, `br`, `ul`, `ol`,
      `li`, `blockquote`, `h1`, `h2`,  `b`, `i`, `u`, and `a`.


      The angle bracket characters (`<`, and `>`) should be sent as html
      encodings (ex: `<` should be sent as `&lt;`).


      Content inside unescaped angle brackets could be identified as unsupported
      HTML and will be stripped.
  - name: Treatment Note Template
    description: >
      Templates that are the starting point for treatment notes.


      HTML is supported in answers to paragraph questions. We sanitize these
      answers to ensure the HTML is safe

      and our editor can support the formatting.


      Currently, the following tags are supported: `p`, `div`, `br`, `ul`, `ol`,
      `li`, `blockquote`, `h1`, `h2`,  `b`, `i`, `u`, and `a`.


      The angle bracket characters (`<`, and `>`) should be sent as html
      encodings (ex: `<` should be sent as `&lt;`).


      Content inside unescaped angle brackets could be identified as unsupported
      HTML and will be stripped.
  - name: Unavailable Block
  - name: Unavailable Block Type
  - name: User
