---
title: "Get Session Transcript By Id"
method: GET
path: "/api/v1/sessions/transcript/{session_id}"
tags: ["sessions.transcript"]
---

# Get Session Transcript By Id

`GET /api/v1/sessions/transcript/{session_id}`

Return a session's transcript, and whether it is complete.

Transcript records reach the logs database through an asynchronous pipeline, so a read taken
immediately after a session ends can return a short record. `transcript_complete` is true only
when everything the session reported writing is present, across both the spoken transcript and
the tool activity in `actions`. A caller that needs the whole record should re-request with
exponential backoff until it is true, or until its own time limit passes, keeping the last
response either way.

A time limit is required rather than optional. `transcript_complete` never turns true for a
session still in progress, for a session on a channel that reports no expected count (only
voice reports one today), or for a session that ended before the field was introduced - so a
caller polling without a limit would never stop.

## Path parameters

- `session_id` string, required

## Response `200`

Successful Response

- SessionTranscriptionResponse — Text transcript of a given session. For more information, see [Console docs](https://docs.syllable.ai/workspaces/Sessions).
  - `session_id` string, required — Internal ID of the session
  - `transcription` SessionText[], required — Transcriptions of all messages in the session
    - `timestamp` string, date-time, required — Timestamp of the message
    - `lang` string, nullable — ISO 639 code of the language used for the message (may appear as "unset" if was not conclusively determined)
    - `source` string, nullable — Whether the user or agent sent the message
    - `text` string, nullable — Content of the message
  - `actions` SessionAction[], required — Tool invocations that occurred during the session
    - `timestamp` string, date-time, required — Timestamp of the tool invocation
    - `tool_name` string, nullable — Name of the tool that was invoked
    - `tool_request` string, nullable — Request sent to the tool API, if applicable
    - `tool_result` string, nullable — Response received from the tool API, if applicable
    - `tool_error` string, nullable — Error received from the tool API, if applicable
    - `duration_ms` number, nullable — How long the tool invocation took, in milliseconds
  - `transcript_complete` boolean — True when every record the session reported writing is present, across both the spoken transcript and the tool activity in `actions`. False means the record cannot be confirmed complete. Callers should re-request until this is true, or until their own time limit passes. A limit is required rather than advisable, because three of the cases behind a False never turn true: a session still in progress, a session whose channel reports no expected count - only voice does today, so this is every web chat, SMS and email session - and any session that ended before this field was introduced.

## Other responses

- `422` — Validation Error

## Changes

> 97 revisions in range; 1 not diffed.

- **2026-08-28** `98447c954621` — 1 info
  - added the optional property `transcript_complete` to the response with the `200` status
- **2026-06-29** `5541a5f3bbf3` — 1 info
  - added the optional property `actions/items/duration_ms` to the response with the `200` status
- **2026-06-29** `def2f82ed171` — 1 warning
  - removed the optional property `actions/items/duration_ms` from the response with the `200` status
- **2026-06-26** `0c3fa014cfed` — 1 info
  - added the optional property `actions/items/duration_ms` to the response with the `200` status
- **2026-06-25** `53b8cbbd8091` — 1 warning
  - removed the optional property `actions/items/duration_ms` from the response with the `200` status

[Full history](https://skmtc.dev/asksyllable/apis/syllablesdk/changes/api/v1/sessions/transcript/:session_id/get.md)

---

[API](https://skmtc.dev/asksyllable/apis/syllablesdk.md) · [All operations](https://skmtc.dev/asksyllable/apis/syllablesdk/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/asksyllable/syllablesdk/revisions/203a46065323/schema)
