Skip to main content

Create Appointment

POST /appointments

Books a new appointment for a patient.

Scope required: appointment.write

Request Body

{
"patient_id": "018f1a2b-3c4d-7e5f-a6b7-c8d9e0f1a2b3",
"doctor_id": "018d1e2f-3a4b-7c5d-e6f7-a8b9c0d1e2f3",
"appointment_date": "2026-02-15",
"start_time": "09:00",
"duration": 30,
"notes": "Follow-up visit"
}
FieldTypeRequiredDescription
patient_idUUID
doctor_idUUIDUser UUID of the physician
appointment_datestringY-m-d (clinic-local date)
start_timestringHH:MM (clinic-local time)
durationintegerMinutes; defaults to clinic setting
notesstringInternal notes

Response 201

{
"data": {
"id": "018a1b2c-3d4e-7f5a-b6c7-d8e9f0a1b2c3",
"status": "scheduled",
"appointment_date": "2026-02-15",
"start_time": "09:00",
"end_time": "09:30"
}
}