Appointments
Appointments are scheduled visits. List them across the clinic with rich filters, or fetch a single appointment by id. All endpoints require the appointments:read scope.
#The appointment object
| Field | Type | Description |
|---|---|---|
id | string | Unique appointment id. |
patient | object | null | Embedded patient summary (id, first_name, last_name). |
branch | object | null | Embedded branch reference (id, name). |
type | object | null | Appointment type (id, name, duration_minutes). |
status | object | null | Status (id, name, color). |
providers | array | Embedded provider references (id, name). |
start | string | null | ISO 8601 start time. |
end | string | null | ISO 8601 end time. |
created_at | string | null | ISO 8601 timestamp. |
updated_at | string | null | ISO 8601 timestamp. |
#List appointments
GET
Returns a paginated list. Filters combine with AND.
| Parameter | In | Description |
|---|---|---|
from | query | ISO 8601 - only appointments starting at/after this time. |
to | query | ISO 8601 - only appointments starting at/before this time. |
branch_id | query | Filter by branch. |
provider_id | query | Filter by provider. |
patient_id | query | Filter by patient. |
status_id | query | Filter by status. |
limit, cursor | query | Pagination. |
response_format | query | concise (default) or detailed. |
bash
curl -G https://api.smile-app.co.il/v1/appointments \
-H "Authorization: Bearer sk_live_..." \
--data-urlencode "from=2026-07-01T00:00:00+03:00" \
--data-urlencode "to=2026-07-07T23:59:59+03:00" \
--data-urlencode "branch_id=1"
json
{
"data": [
{
"id": "55021",
"patient": { "id": "8842", "first_name": "Dana", "last_name": "Levi" },
"branch": { "id": "1", "name": "Downtown Branch" },
"type": { "id": "3", "name": "Cleaning", "duration_minutes": 30 },
"status": { "id": "2", "name": "Confirmed", "color": "#16a34a" },
"providers": [{ "id": "12", "name": "Dr. Cohen" }],
"start": "2026-07-01T09:00:00+03:00",
"end": "2026-07-01T09:30:00+03:00"
}
],
"next_cursor": "eyJpZCI6IjU1MDIxIn0"
}
#Retrieve an appointment
GET
bash
curl https://api.smile-app.co.il/v1/appointments/55021 \
-H "Authorization: Bearer sk_live_..."
Times are timezone-aware
start and end are full ISO 8601 timestamps including the clinic's UTC offset. Parse them as instants - don't assume a fixed timezone.
#Related
- A patient's appointments - scope a list to one patient.
- Availability - find free slots to book into.
- Webhooks - get
appointment.created/updated/cancelledevents pushed to you.