Mediflo
REST APIBot sessions

Get per-call diagnostics

Why the call closed, what errored, how the pipeline performed. Deliberately serves NO conversation content: the transcript is a separate call, so an integration that only debugs never receives caller speech. `other` carries a curated set of further diagnostics, and runtime error messages are summarised to their type — short classified messages such as SIP statuses pass as written, and Mediflo support sees the full text; treat the named fields as the contract. Required scope: `bot-calls.read`.

GET/bot-sessions/{dispatchId}/telemetry

Authorization

ApiKeyAuth
AuthorizationBearer <token>

An external API key, sent as Authorization: Bearer mflo_…. Scopes are checked per route; see each operation’s description.

In: header

Path Parameters

dispatchId*string
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/bot-sessions/497f6eca-6276-4993-bfeb-53cbbbba6f08/telemetry"
{  "data": {    "dispatchId": "a1a7028f-f483-4bbb-b8e5-fe878bddb1ae",    "closeReason": "string",    "closeError": "string",    "shutdownReason": "string",    "sipError": "string",    "userEverSpoke": true,    "totalSilenceTimeouts": 0,    "trackerDurationS": 0,    "errors": [      {        "source": "string",        "message": "string",        "timestamp": 0      }    ],    "pipelineMetrics": {      "property1": null,      "property2": null    },    "falseInterruptions": {      "property1": null,      "property2": null    },    "transcriptCounters": {      "property1": null,      "property2": null    },    "other": {      "property1": null,      "property2": null    }  }}