Free slots for a visit type
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`.
/scheduling/availabilityAuthorization
ApiKeyAuth An external API key, sent as Authorization: Bearer mflo_…. Scopes are checked per route; see each operation’s description.
In: header
Query Parameters
uuiduuiduuid^\d{4}-\d{2}-\d{2}$^\d{4}-\d{2}-\d{2}$1 <= value <= 2510Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/scheduling/availability?appointmentTypeId=497f6eca-6276-4993-bfeb-53cbbbba6f08&from=string&to=string"{ "data": [ { "slotToken": "string", "start": "string", "startIso": "string", "spokenLabel": "string", "durationMin": 0, "specialistId": "a25091c8-1aa5-4711-bc69-63b2a2156762", "appointmentTypeId": "e85b36df-f66d-49ec-b392-d57627235aad", "locationId": "1a5515a3-ba81-4a42-aee7-ad9ffc090a54" } ], "degraded": true, "degradedReason": "calendar_unreachable"}Upcoming appointments for a phone number (deprecated) GET
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`.
Outcome of an unresolved booking GET
The only correct way to find out what happened to a 202. `PENDING`/`UNCERTAIN` means it is still being resolved; poll, never re-book. Required scope: `scheduling.read`.