---
title: "Reschedule (move slot)"
method: PATCH
path: "/v1/appointments/{id}/reschedule"
tags: ["Appointments"]
---

# Reschedule (move slot)

`PATCH /v1/appointments/{id}/reschedule`

Requires the `appointments:write` scope.

## Path parameters

- `id` integer, required

## Request body

- object
  - `start` string, required — New slot datetime, e.g. '2026-05-11 15:00'. Writes a reschedule audit entry.
  - `provider` integer — Defaults to the current provider if omitted.
  - `services` integer[] — Service ids (array/plural on this endpoint).
  - `ignore_rules` string[]

## Response `200`

Moved to the new slot

## Other responses

- `400` — Slot clash / prep-time / schedule violation
- `401` — Missing or invalid API key
- `402` — Monthly quota exceeded
- `403` — Insufficient scope, inactive subscription, or the clinic hasn't authorized API access
- `429` — Rate limit exceeded — see Retry-After header
- `502` — Upstream unavailable

---

[API](https://skmtc.dev/yezza/apis/yezza-clinic-api-external-access.md) · [All operations](https://skmtc.dev/yezza/apis/yezza-clinic-api-external-access/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/yezza/yezza-clinic-api-external-access/revisions/fb0639413542/schema)
