---
title: "Get Call Transcript"
method: GET
path: "/calls/{call_id}/transcript"
tags: ["Calls"]
---

# Get Call Transcript

`GET /calls/{call_id}/transcript`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/calls/{call_id}/transcript`
- Auth: none declared

Get call transcript with presigned recording URL.

Returns transcript data including:
- Real-time transcript from bot (available immediately)
- Full aligned transcript with timestamps (when AssemblyAI completes)
- Presigned URL for audio playback (expires in 1 hour)
- Processing status and metadata

Requires user authentication (not agent token).

## Path parameters

- `call_id` string, uuid, required

## Response `200`

Successful Response

- CallTranscriptResponse: Call transcript response with recording URL and structured data.
  - `transcript_id` string, uuid, required
  - `call_id` string, uuid, required
  - `status` string, required
  - `utterances` TranscriptUtterance[], nullable, required
    - `speaker` string, required
    - `text` string, required
    - `start_ms` integer, required
    - `end_ms` integer, required
    - `confidence` number, nullable
    - `words` TranscriptWord[], required
      - `text` string, required
      - `start_ms` integer, required
      - `end_ms` integer, required
      - `confidence` number, nullable
  - `transcript_realtime` RealtimeTranscriptItem[], nullable, required
    - `speaker` string, nullable: Speaker identifier: 'user' or 'assistant'
    - `text` string, nullable: The transcribed text for this turn
    - `timestamp` string, date-time, nullable: Timestamp of when this transcript item occurred
    - `start_ms` integer, nullable: Start offset in recording-clock milliseconds
    - `end_ms` integer, nullable: End offset in recording-clock milliseconds
  - `recording_url` string, nullable, required
  - `recording_duration_ms` integer, nullable, required
  - `recording_peaks` number[], nullable
  - `created_at` string, date-time, required
  - `transcription_completed_at` string, date-time, nullable, required
  - `error_message` string, nullable, required
  - `transfer_split_point_ms` integer, nullable
  - `continuation_split_point_ms` integer, nullable
  - `post_transfer_voicemail` TranscriptUtterance[], nullable
    - `speaker` string, required
    - `text` string, required
    - `start_ms` integer, required
    - `end_ms` integer, required
    - `confidence` number, nullable
    - `words` TranscriptWord[], required
      - `text` string, required
      - `start_ms` integer, required
      - `end_ms` integer, required
      - `confidence` number, nullable
  - `segments` TranscriptSegmentResponse[]
    - `kind` string, required
    - `start_ms` integer, required
    - `name` string, nullable
    - `extension` string, nullable
    - `queue_name` string, nullable
    - `from_hold` boolean
    - `reason` string, nullable
  - `detected_language` string, nullable
  - `detected_language_name` string, nullable
  - `translated_utterances` TranslatedUtteranceResponse[], nullable
    - `speaker` string, required
    - `text` string, required
    - `original_text` string, required
    - `start_ms` integer, required
    - `end_ms` integer, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-14** `5d668a9fc9dd`: 2 info
  - added the optional property `continuation_split_point_ms` to the response with the `200` status
  - added the optional property `segments` to the response with the `200` status

[Operation history](https://skmtc.dev/openintake/apis/openintake-api/changes/calls/:call_id/transcript/get.md)

---

[API](https://skmtc.dev/openintake/apis/openintake-api.md) - [All operations](https://skmtc.dev/openintake/apis/openintake-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openintake/apis/openintake-api/revisions/de90a8dcbc07?raw)
