Skip to main content
Use this endpoint to update an existing appointment. Common uses include rescheduling (updating start and end), cancelling (setting status to cancelled and providing cancelationReason), or marking arrival. Send only the fields you want to change.

Request

PATCH https://api.clinikapi.com/v1/appointments/{id}

Headers

x-api-key
string
required
Your ClinikAPI secret key (clk_live_* or clk_test_*).
Content-Type
string
required
Must be application/json.

Path Parameters

id
string
required
The ID of the appointment to update.

Body

status
string
Updated status. One of: proposed, pending, booked, arrived, fulfilled, cancelled, noshow, checked-in, waitlist.
start
string
Updated start time in ISO 8601 format.
end
string
Updated end time in ISO 8601 format.
minutesDuration
integer
Updated duration in minutes.
cancelationReason
string
Reason for cancellation. Required when setting status to cancelled.
patientInstruction
string
Updated patient instructions.
comment
string
Updated internal comment.

Response

Returns 200 OK with the complete updated appointment.
data.id
string
Appointment ID.
data.status
string
Updated status.
meta
object
Standard response metadata.

Examples

curl — cancel an appointment

curl -X PATCH https://api.clinikapi.com/v1/appointments/appt_jkl345 \
  -H "x-api-key: clk_live_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "cancelled",
    "cancelationReason": "Patient requested reschedule"
  }'

TypeScript SDK

import { ClinikAPI } from "@clinikapi/sdk";

const client = new ClinikAPI({ apiKey: "clk_live_abc123" });

const updated = await client.appointments.update("appt_jkl345", {
  status: "cancelled",
  cancelationReason: "Patient requested reschedule",
});