---
title: "The bubble’s diarized transcript. 404 not_found when the bubble has no transcript (yet); the same uniform 404 for unreadable/nonexistent bubbles."
method: GET
path: "/v1/bubbles/{id}/transcript"
---

# The bubble’s diarized transcript. 404 not_found when the bubble has no transcript (yet); the same uniform 404 for unreadable/nonexistent bubbles.

`GET /v1/bubbles/{id}/transcript`

## Request

- Base URL: `https://api.usebubbles.com`
- URL: `https://api.usebubbles.com/v1/bubbles/{id}/transcript`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Query parameters

- `format` string

## Response `200`

Success.

- union: GET /v1/bubbles/{id}/transcript — json (default) or text per the format query param.
  - TranscriptJson: A diarized transcript (format=json, the default).
    - `bubble_id` string, required: The bubble uuid this transcript belongs to.
    - `format` 'json', required: The transcript format.
    - `segments` TranscriptSegment[], required: The diarized segments in order.
      - `speaker` TranscriptSpeaker, required: The speaker of a transcript segment.
        - `id` string, nullable, required: The Bubbles user id when the speaker is a known user, else null.
        - `name` string, nullable, required: The diarized speaker name when available, else null.
      - `text` string, required: The spoken text of the segment.
      - `start_time_seconds` number, required: Segment start, seconds from media start.
      - `end_time_seconds` number, required: Segment end, seconds from media start.
  - TranscriptText: A plain-text transcript (format=text).
    - `bubble_id` string, required: The bubble uuid this transcript belongs to.
    - `format` 'text', required: The transcript format.
    - `text` string, required: The plain-text rendition: `Speaker: …` blocks separated by blank lines.

## Other responses

- `400`: A query parameter or request body was malformed (invalid_request).
- `401`: Missing, malformed, or wrong-kind credential (unauthorized / token_revoked / account_deleted).
- `404`: The resource does not exist or is not readable by the caller (not_found).
- `429`: Rate limit exceeded (rate_limited); see the Retry-After header.
- `500`: An unexpected server error occurred (internal_error).

---

[API](https://skmtc.dev/usebubbles/apis/bubbles-public-api.md) - [All operations](https://skmtc.dev/usebubbles/apis/bubbles-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usebubbles/apis/bubbles-public-api/revisions/31570f5d4b05?raw)
