Outcome of an unresolved booking
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`.
/scheduling/booking-operations/{operationId}Authorization
ApiKeyAuth An external API key, sent as Authorization: Bearer mflo_…. Scopes are checked per route; see each operation’s description.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/scheduling/booking-operations/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": { "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969", "status": "PENDING", "appointment": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "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" }, "errorCode": "string" }}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`.
Patient fields, notice policies, sites and readiness GET
Call this first. `bookingEnabled: false` means the clinic cannot take a booking right now and `unavailableReason` says why — a 200, not an error, so a client can say so rather than retry. Required scope: `scheduling.read`.