---
title: "Get an Omni call transcript"
method: GET
path: "/v1/omni/calls/{call_id}/transcript"
tags: ["Omni"]
---

# Get an Omni call transcript

`GET /v1/omni/calls/{call_id}/transcript`

## Request

- Base URL: `https://api.pyai.com`
- URL: `https://api.pyai.com/v1/omni/calls/{call_id}/transcript`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

The full conversation transcript for the call. Resolves whether the transcript is stored inline or offloaded to an external URL, the response is always the transcript document itself. `404` if no transcript exists (e.g. the call failed before any speech, or the engine has not yet pushed the record). Requires `omni:read`.

## Path parameters

- `call_id` string, required: Stable opaque PyAI-owned call identifier. Use it unchanged across every Omni call sub-resource.

## Response `200`

Call transcript

- OmniCallTranscript
  - `object` string
  - `call_id` string: Stable opaque PyAI-owned call identifier. Use it unchanged across every Omni call sub-resource.
  - `transcript` object: Canonical transcript document.
    - `turns` object[], required
      - `role` 'user' | 'assistant', required
      - `text` string, required
      - `start_ms` integer
      - `end_ms` integer

## Other responses

- `404`: Resource not found (`code: not_found`)

---

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