List Appointments
GET /appointments
Returns a paginated list of appointments for the authenticated clinic.
Scope required: appointment.read
Query Parameters
| Parameter | Type | Description |
|---|---|---|
patient_id | UUID | Filter by patient |
doctor_id | UUID | Filter by doctor (User UUID) |
status | string | scheduled | completed | cancelled | no_show |
date_from | string | Start date — Y-m-d (clinic-local) |
date_to | string | End date — Y-m-d (clinic-local) |
page | integer | Default: 1 |
limit | integer | Default: 20, max: 100 |
Response 200
{
"data": [
{
"id": "018a1b2c-3d4e-7f5a-b6c7-d8e9f0a1b2c3",
"patient": {
"id": "018f1a2b-3c4d-7e5f-a6b7-c8d9e0f1a2b3",
"full_name": "Ali Yılmaz"
},
"doctor": {
"id": "018d1e2f-3a4b-7c5d-e6f7-a8b9c0d1e2f3",
"full_name": "Dr. Ayşe Kaya"
},
"appointment_date": "2026-02-15",
"start_time": "09:00",
"end_time": "09:30",
"status": "scheduled",
"notes": null,
"created_at": "2026-01-10T14:22:00+03:00"
}
],
"meta": { "page": 1, "limit": 20, "total": 1, "total_pages": 1 }
}