List phone numbers
Read-only. Numbers and trunks are provisioned by Mediflo; this API binds an existing number to a bot. Required scope: `phone-numbers.read`.
/phone-numbersAuthorization
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 <= value1 <= value <= 100Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/phone-numbers"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "phoneNumber": "string", "displayName": "string", "isActive": true, "hasInboundFlow": true, "bots": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" } ], "createdAt": "2019-08-24T14:15:22Z" } ], "pagination": { "page": 0, "limit": 0, "total": 0, "totalPages": 0 }}Find a patient by phone number POST
Reads only — a POST because the phone number belongs in a body, not in a URL that logs keep. An unknown number answers 200 with `found: false` — a new patient is the normal case, not an error, and a 404 here would be an existence oracle. Names are masked; patients are named by an opaque `patientRef`. Required scope: `patients.read`.
Route an inbound number to a bot POST
Creates (or refreshes) the generated start → dispatchBot IVR flow and activates it. Idempotent. Returns 409 `PHONE_NUMBER_HAS_CUSTOM_FLOW` when the number already routes through a hand-built flow — those are never replaced. Required scope: `bots.write`.