Upcoming appointments for a phone number (deprecated)
Each entry carries an `actionToken` — the handle the `scheduling.modify` endpoints require — and the patient’s masked name. **Deprecated:** the phone number travels in the query string, where proxy logs and error trackers keep it. Use POST /scheduling/appointments/search, which takes the same number in a body and answers identically. This form keeps working. Required scope: `scheduling.read`.
Deprecated
/scheduling/appointmentsAuthorization
ApiKeyAuth An external API key, sent as Authorization: Bearer mflo_…. Scopes are checked per route; see each operation’s description.
In: header
Query Parameters
^\+[1-9]\d{6,14}$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/scheduling/appointments?contactPhone=string"{ "data": [ { "actionToken": "string", "patientMaskedName": "string", "start": "string", "startIso": "string", "spokenLabel": "string", "specialist": "string", "appointmentType": "string", "durationMin": 0, "price": "string", "location": { "name": "string", "address": "string" }, "instructions": "string", "status": "string", "contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d" } ]}List bookable visit types GET
Only types the clinic opened to online booking. `price` is present only for privately paid visits that have one. Required scope: `scheduling.read`.
Free slots for a visit type GET
An empty `data` array is a normal answer, not an error. `degraded: true` means an external calendar was unreachable and the listed times are not yet certain — never present a degraded slot as confirmed. Required scope: `scheduling.read`.