Skip to main content
Use this endpoint to retrieve the full transcript for an appointment recording. Shilo sanitizes the raw transcript and resolves speaker labels using AI — replacing generic labels like “Speaker 1” with the actual names of the rep and client. Because speaker resolution depends on completed analysis, you should wait until the appointment’s analysis.progress field reaches 100 before requesting the transcript, or be prepared to handle a 409 response and retry.
Accounts integrated with Follow Up Boss CRM are not supported for transcript retrieval and will receive a 403 Forbidden response.

Endpoint

Authentication

All requests require your API key in the x-api-key header.

Path Parameters

string
required
The unique identifier for the appointment recording. Two formats are accepted:
  • {uuid} — The Shilo recording UUID (e.g., ee6f2136-b94a-4438-9335-3acf5b2a0d31)
  • external_recording_id:{string} — The external recording ID your integration provided (e.g., external_recording_id:ext-789)

Response

A successful request returns HTTP 200 with a transcript object. The exact shape of the transcript object varies by integration, but will include speaker-attributed text segments with timing information.
The transcript response shape may vary depending on your CRM integration. The example below shows a representative structure. Always treat the transcript as a free-form JSON object (additionalProperties: true in the OpenAPI spec).
Fetch the transcript only after analysis.progress equals 100. If speaker resolution is still in progress, the API returns 409 Conflict — wait and retry.

Error Responses

Example Request

Example Response