# Appointments

Book, reschedule, and cancel patient appointments. List and retrieve appointment details, including patient, practitioner, site, and reason information.

 - [GET /appointments](https://docs.api.dentally.com/docs/versions/2026-01-01/nexgen/appointments/list-appointments.md): Returns a **paginated** list of appointments for the practice identified by `X-Practice-Id`. Results are ordered by **creation time**, latest first (`created_at` descending), then by `id` descending f
 - [POST /appointments](https://docs.api.dentally.com/docs/versions/2026-01-01/nexgen/appointments/create-appointment.md): Creates a new appointment for the practice identified by `X-Practice-Id`. The appointment location (`site_id`) is determined by the site of the practitioner specified in `practitioner_id`. On success,
 - [GET /appointments/{id}](https://docs.api.dentally.com/docs/versions/2026-01-01/nexgen/appointments/get-appointment.md): Returns the **single appointment** matching `id` for the practice identified by `X-Practice-Id`. The identifier is the same `id` returned when listing appointments. If no appointment exists for that p
 - [PATCH /appointments/{id}](https://docs.api.dentally.com/docs/versions/2026-01-01/nexgen/appointments/update-appointment.md): Updates the appointment matching `id` for the practice identified by `X-Practice-Id`. Only the fields provided in the request body will be modified; omitted fields remain unchanged. If no appointment
 - [POST /appointments/{id}/cancel](https://docs.api.dentally.com/docs/versions/2026-01-01/nexgen/appointments/cancel-appointment.md): Cancels the appointment matching `id` for the practice identified by `X-Practice-Id`. The appointment `state` is set to `Cancelled` and `cancelled_at` is recorded. Cancellation is only permitted when
