---
title: "Update an appointment"
method: PATCH
path: "/v1/appointments/{appointment_id}"
tags: ["Appointments"]
---

# Update an appointment

`PATCH /v1/appointments/{appointment_id}`

## Request

- Base URL: `https://scribe-api.telepatia.ai`
- URL: `https://scribe-api.telepatia.ai/v1/appointments/{appointment_id}`
- Auth: HTTP bearer

Cancel a booking or mark it no-show, or repair a missed session link, by its public id (apt_...) or the consultationInternalId you sent at create. `status` accepts only `cancelled` or `noshow` (a booking is marked fulfilled only by the server when its session is created). `scribeSessionId` attaches the session whose id did not match the booking at create time, and marks it fulfilled. Provide exactly one of the two.

## Path parameters

- `appointment_id` string, required

## Request body

- AppointmentUpdateRequest: PATCH body. Provide exactly one of `status` or `scribeSessionId`. `status` is limited to `cancelled` / `noshow` (a booking is fulfilled only by the server when its session is created). `scribeSessionId` repairs a missed link: attach the session (`ss_`) whose id did not match the booking at create time; the booking then becomes `fulfilled`.
  - `status` 'cancelled' | 'noshow', nullable: Set the booking to cancelled or noshow.
  - `scribeSessionId` string, nullable: Public id of the session to attach when it was not auto-linked at create time. Sets the link and marks the booking fulfilled.

## Response `200`

Successful Response

- AppointmentResponse: A single appointment. `id` is the stable public id (apt_...).
  - `id` string, required: Stable public identifier.
  - `consultationInternalId` string, nullable
  - `status` string, required
  - `start` string, nullable
  - `end` string, nullable
  - `minutesDuration` integer, nullable
  - `serviceType` string, nullable
  - `appointmentType` string, nullable
  - `reason` string, nullable
  - `description` string, nullable
  - `scribeSessionModality` 'IN_PERSON' | 'TELEMEDICINE' | 'DICTATION': Supported scribe session modalities.
  - `medicalRecordConfigurationId` string, nullable: The template the booking opens on. Null when the booking names none, or when the template has been deleted since.
  - `createdAt` string, required: ISO-8601 timestamp when the appointment was created.

## Other responses

- `400`: Bad Request — invalid parameters, validation failures, or missing fields.
- `401`: Unauthorized — missing or invalid API key.
- `403`: Forbidden — the API key is not allowed to perform this operation.
- `404`: Not Found — the requested resource does not exist.
- `409`: Conflict — resource already exists or is in a conflicting state.
- `503`: Service Unavailable — an external dependency is down.

---

[API](https://skmtc.dev/telepatia/apis/scribe-public-api.md) - [All operations](https://skmtc.dev/telepatia/apis/scribe-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/telepatia/apis/scribe-public-api/revisions/be963942e472?raw)
