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`.
/bot-sessions/{dispatchId}/telemetryAuthorization
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
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 } }}Get a short-lived URL to the call recording GET
Separate from `/telemetry` on purpose, like `/transcript`: the audio is what the caller and the bot said — personal data, including sensitive data. Returns a presigned URL into the object store that expires after 15 minutes; the bytes are never proxied through the API. `available: false` means the session has no stored recording. A malformed or unknown `dispatchId` is a 404, identical to one that belongs to another tenant. The `bot_call.completed` webhook’s `links.recording` points here. Required scope: `bot-calls.read`.
Get the conversation transcript GET
Separate from `/telemetry` on purpose. `available: false` means the session has no stored transcript. Contains what the caller and the bot said — personal data, including sensitive data. Required scope: `bot-calls.read`.