---
title: "Create an Appointment"
method: POST
path: "/api/v1/appointments"
tags: ["Appointments"]
---

# Create an Appointment

`POST /api/v1/appointments`

Permissions needed: CREATE_APPOINTMENTS
<strong>Create Appointment</strong> <br/> <br/>  Start Date and End Date is set as is format(2022-10-20 10:09:00), no alterations are done, so queries will return the exact date and time that was set. <br/> - Status enum is visible under the appointments change status method <br/> - record_id, room_id and examination_id must be set as null if not used.

## Query parameters

- `include` string

## Request body

- object — Appointment Create/Update Request Body
  - `clinic_id` integer, required — Clinic Id
  - `vet_id` integer, required — Vet Id
  - `patient_id` integer, required — Pet id
  - `visit_type_id` integer, required — Id of the VisitType
  - `observations` string — Observations
  - `status` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 — `1` - Pending Client Approval `2` - Pending Clinic Approval `3` - Rescheduled Clinic Approval `4` - Rescheduled Client Approval `5` - Confirmed `6` - Canceled By Client `7` - Canceled By Clinic' `8` - Automatically Created' `9` - No Show
  - `notification_message` string — Notification message
  - `reminder_notifications` object[] — Reminder notifications
    - `id` integer
    - `period` integer — Reminder will be sent X days/weeks/months (period_type) before the appointment
    - `period_type` 0 | 1 | 2 — * `0` - Day, * `1` - Week, * `2` - Month,
    - `notification_type` 0 | 1 | 2 — * `0` - Upcoming Reminder, * `1` - Recommended Reminder, * `2` - Product Reminder,
  - `record_id` integer, nullable — Record ID - set null if not used
  - `room_id` integer, nullable — Room ID - set null if not used
  - `examination_id` integer, nullable — Examination ID - set null if not used
  - `printable_file_ids` integer[] — Consent forms
  - `video_link` string, nullable — Video link
  - `datetime_start_utc` string, required — Start Date in UTC ISO Zulu format
  - `datetime_end_utc` string, required — End Date in UTC ISO Zulu format
  - `service_package_ids` integer[] — Service package ids
  - `user_note` string — Notes introduced by the pet parent
  - `recurrence` string, nullable — recurrence defined by RFC 5545
  - `source` integer — `0` - Added by clinic `1` - Requested via Web `2` - Requested via App
  - `requires_payment_deposit` boolean
  - `pet_parent` object
    - `id` integer
    - `email` string
    - `send_email` boolean
    - `name` string
    - `last_name` string
    - `phone` string — Phone number in E.164 format
    - `send_sms` boolean
    - `address` string
    - `address_2` string
  - `pet` object
    - `nickname` string
    - `species_id` integer
    - `breed_id` integer
    - `birthday_is_estimated` boolean
    - `birthdate` string
    - `gender` 'male' | 'female' | 'unknown'
    - `hormonal_status` 0 | 1 | 2
  - `drop_off` object, nullable — Drop-off scheduling data. Required when visit type has drop-off enabled.
    - `time` string — Drop-off time in HH:mm format
    - `vet_id` integer — Vet ID who handles the drop-off

## Response `200`

successful operation

- object
  - `data` object
    - `id` integer
    - `event_id` integer, nullable
    - `clinic_id` integer
    - `room_id` integer, nullable
    - `guest` boolean
    - `pet_id` integer, nullable
    - `record_id` integer, nullable
    - `status` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' — `1` - Pending Client Approval `2` - Pending Clinic Approval `3` - Rescheduled Clinic Approval `4` - Rescheduled Client Approval `5` - Confirmed `6` - Canceled By Client `7` - Canceled By Clinic' `8` - Automatically Created' `9` - No Show
    - `datetime` string
    - `end_datetime` string
    - `datetime_start_utc` string, date-time
    - `datetime_end_utc` string, date-time
    - `observations` string, nullable
    - `user_note` string, nullable
    - `pet_name` string, nullable
    - `owner_name` string, nullable
    - `patient` Data — unresolved $ref
    - `room` Items — unresolved $ref
    - `event` object, nullable — A scheduled event in a clinic. Viewable on the calendar.
      - `id` integer
      - `address_id` integer
      - `clinic_id` integer
      - `capacity` integer
      - `date` string, date-time
      - `name` string
      - `preferences` 'capacity-based' | 'schedule-based'
      - `appointments_number` integer
      - `visit_types` Items[] — unresolved $ref
    - `vet` Data — unresolved $ref
    - `owner_email` string, nullable
    - `owner_phone` string, nullable
    - `reminder_notifications` object
      - `items` Items — unresolved $ref
    - `newRequests` object[]
    - `consentForms` object[]
    - `video_link` string, nullable
    - `notification_message` string
    - `cancellation_reason` string, nullable
    - `recurrence` string, nullable — recurrence defined by RFC 5545
    - `has_google_cal_error` boolean, nullable
    - `duration` integer
    - `occasion` string, nullable
    - `token` string
    - `visit_type_id` integer, nullable
    - `visit_type` Items — unresolved $ref
    - `last_confirmed_at` string, date-time, nullable
    - `confirmed_by` 'client' | 'staff', nullable
    - `confirmation_source` 'phone' | 'sms_reminder' | 'email_reminder' | 'pet_portal' | 'public_calendar' | 'crm', nullable
    - `reconfirmed` boolean
    - `is_reschedulable` boolean, nullable
    - `is_cancelable` boolean, nullable
    - `drop_off` object, nullable — Drop-off scheduling data. Present when dropOff is included.
      - `id` integer
      - `time` string — Drop-off time in HH:mm format
      - `vet_id` integer
      - `appointment_id` integer
      - `vet` object, nullable — Vet resource, present when dropOff.vet is included
      - `datetime` string, nullable — Full UTC datetime computed from appointment date + drop-off time

## Other responses

- `400` — unresolved $ref

---

[API](https://skmtc.net/digitail/apis/digitail-api.md) · [All operations](https://skmtc.net/digitail/apis/digitail-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitail/digitail-api/revisions/bd9694db5fce/schema)
