---
title: "Edit appointment (beta)"
method: PATCH
path: "/appointments/{id}"
tags: ["Appointments"]
---

# Edit appointment (beta)

`PATCH /appointments/{id}`

## Request

- Base URL: `https://nexhealth.info`
- URL: `https://nexhealth.info/appointments/{id}`
- Auth: API key in header `Authorization`

> 🚧 Beta
>
> Send `Nex-Api-Version: v3.1.0` to use this endpoint. It is still changing, and access is limited to approved partner institutions. Contact NexHealth before you build on it.

> **Changed from v3.0.0:** Removes response fields `data.appt.is_guardian`, `data.appt.is_new_clients_patient`, `data.appt.last_sync_time`, `data.appt.referrer` (+1 more); changes response field `data.appt.patient_confirmed`.

This endpoint updates an existing appointment.

## Path parameters

- `id` integer, required

## Query parameters

- `subdomain` string, required

## Headers

- `Nex-Api-Version` string, required

## Request body

- PatchAppointmentsId: Edit appointment
  - `appt` object, required: Appointment detail object
    - `confirmed` boolean: Denotes the office has confirmed the appt, update this to write back confirm status
    - `cancelled` boolean: Denotes the office has cancelled the appt, update this to write back cancel status
    - `checkin_at` string, date-time: Denotes the office has checked in the appt at this time, update this to write back checked in status. Must be a parseable date/time string, recommended format is YYYY-MM-DDThh:mm:ss+0000
    - `start_time` string, date-time: Appointment start time. Must be a parseable date/time string. Recommended format is YYYY-MM-DDThh:mm:ss+0000.
    - `end_time` string, date-time: Appointment end time. Must be a parseable date/time string. Recommended format is YYYY-MM-DDThh:mm:ss+0000.
    - `operatory_id` integer: The operatory for this appointment
    - `note` string: A note that will be written to the EHR

## Response `200`

Successful

- APIV31EntitiesAppointmentResponseResponse: API_V31_Entities_AppointmentResponse_Response model
  - `code` boolean: Indicates the success or failure of the request
  - `description` string: Additional context on the request to help with debugging.
  - `error` string[]: Any errors that occur during the execution of the request.
  - `data` APIV31EntitiesAppointmentResponse
    - `appt` APIV31EntitiesAppointmentWithoutIncludes
      - `id` integer: Appointment ID
      - `patient_id` integer: Appointment patient ID
      - `provider_id` integer: Provider ID
      - `provider_name` string: Provider name
      - `start_time` string, date-time: Appointment scheduled start time in UTC
      - `confirmed` boolean: Appointment confirmation status
      - `patient_missed` boolean: Did the patient no show? Not supported by all integrations
      - `created_at` string, date-time: Appointment created time in UTC
      - `updated_at` string, date-time: Appointment last updation time in UTC
      - `note` string: Appointment note
      - `end_time` string, date-time: Appointment scheduled end time in UTC
      - `unavailable` boolean: Is this appointment a scheduling block (blocks off the schedule)
      - `cancelled` boolean: Is this appointment cancelled?
      - `timezone` string: Appointment timezone
      - `institution_id` integer: Institution ID
      - `appointment_type_id` integer: Nexhealth appointment_type ID, 0 if not set
      - `checkin_at` string, date-time: Time the patient checked in at in UTC. Not supported by all integrations
      - `location_id` integer: Appointment location ID
      - `foreign_id` string: Identifier NexHealth uses to uniquely match this record to its counterpart in the integrated EHR. How it is derived differs between EHRs and may change; treat it as an opaque string and do not parse it.
      - `foreign_id_type` string: Unique identifier for the integrated system itself
      - `misc` object: Miscellaneous information for the appointment
      - `patient_confirmed` integer: Is this appointment confirmed by the patient (as opposed to the office)?
      - `created_by_user_id` integer: ID of the user who booked the appointment
      - `patient_confirmed_at` string, date-time: Time of patient_confirmation in UTC
      - `cancelled_at` string, date-time: Time of appointment cancellation in UTC. Note this will not be reset if the appointment is uncancelled
      - `confirmed_at` string, date-time: Time of appointment confirmation by the office in UTC
      - `sooner_if_possible` boolean: Does patient want an earlier time?
      - `operatory_id` integer: Operatory ID for the appointment
      - `checked_out` boolean: Has the patient checked out? Not supported by all integrations
      - `checked_out_at` string, date-time: Time of check out in UTC
      - `is_past_patient` boolean: Does this patient have prior appointments?
      - `timezone_offset` string: Timezone offset string
  - `count` integer: Number of total objects, in case of collection.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/nexhealth/apis/nexhealth-api-v3-1-0-beta.md) - [All operations](https://skmtc.dev/nexhealth/apis/nexhealth-api-v3-1-0-beta/llms.txt) - [OpenAPI document](https://skmtc.dev/nexhealth/apis/nexhealth-api-v3-1-0-beta/revisions/93cb4af790a5?raw)
