SmileCloudDocs

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

FieldTypeDescription
idstringUnique appointment id.
patientobject | nullEmbedded patient summary (id, first_name, last_name).
branchobject | nullEmbedded branch reference (id, name).
typeobject | nullAppointment type (id, name, duration_minutes).
statusobject | nullStatus (id, name, color).
providersarrayEmbedded provider references (id, name).
startstring | nullISO 8601 start time.
endstring | nullISO 8601 end time.
created_atstring | nullISO 8601 timestamp.
updated_atstring | nullISO 8601 timestamp.

#List appointments

GET

Returns a paginated list. Filters combine with AND.

ParameterInDescription
fromqueryISO 8601 - only appointments starting at/after this time.
toqueryISO 8601 - only appointments starting at/before this time.
branch_idqueryFilter by branch.
provider_idqueryFilter by provider.
patient_idqueryFilter by patient.
status_idqueryFilter by status.
limit, cursorqueryPagination.
response_formatqueryconcise (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.