> ## Documentation Index
> Fetch the complete documentation index at: https://developers.wisprflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a transcript

> Get the final transcript of one meeting, with speakers named.

Requires both `admin:meetings:read` and `admin:meetings:transcripts:read`. The same visibility rules as the
list endpoint apply: a meeting the organization cannot see returns 404, the same as one that does not exist.
For a visible meeting, the response says why a transcript is withheld: 403 when the organization shares notes
without transcripts or the meeting's owner is covered by a HIPAA business associate agreement, 410 when it was
deleted under a retention policy, and 409 while the meeting is still processing. Successful reads are recorded
in the organization's audit log.



## OpenAPI

````yaml /openapi.json get /public/v1/admin/meetings/{meeting_id}/transcript
openapi: 3.1.0
info:
  description: >-
    Read your organization's Wispr Flow data. Authenticate every request with an
    organization API key (`sk_...`) as a Bearer token; each endpoint requires a
    specific permission on the key. Rate limits apply per organization and are
    shared by all of its keys. List endpoints use cursor pagination and return
    results newest first. Only meetings opted in to organization insights are
    visible.
  title: Wispr Flow Public API
  version: 1.0.0
servers:
  - description: Production
    url: https://api.wisprflow.ai
security:
  - bearerAuth: []
paths:
  /public/v1/admin/meetings/{meeting_id}/transcript:
    get:
      tags:
        - Meetings
      summary: Get a transcript
      description: >-
        Get the final transcript of one meeting, with speakers named.


        Requires both `admin:meetings:read` and
        `admin:meetings:transcripts:read`. The same visibility rules as the

        list endpoint apply: a meeting the organization cannot see returns 404,
        the same as one that does not exist.

        For a visible meeting, the response says why a transcript is withheld:
        403 when the organization shares notes

        without transcripts or the meeting's owner is covered by a HIPAA
        business associate agreement, 410 when it was

        deleted under a retention policy, and 409 while the meeting is still
        processing. Successful reads are recorded

        in the organization's audit log.
      operationId: getMeetingTranscript
      parameters:
        - description: The meeting `id` returned by the list endpoint.
          in: path
          name: meeting_id
          required: true
          schema:
            description: The meeting `id` returned by the list endpoint.
            format: uuid
            title: Meeting Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeetingTranscript'
          description: The meeting's transcript.
        '401':
          content:
            application/json:
              examples:
                Invalid API key:
                  value:
                    detail: Invalid API key
              schema:
                $ref: '#/components/schemas/ErrorDetail'
          description: >-
            The API key is missing, malformed, invalid, expired or revoked, or
            the organization's API access is not enabled.
          headers:
            WWW-Authenticate:
              description: Always `Bearer`.
              schema:
                type: string
        '403':
          content:
            application/json:
              examples:
                Meeting covered by a HIPAA agreement:
                  value:
                    detail: >-
                      Transcripts are not available for meetings covered by a
                      HIPAA agreement
                Missing permission:
                  value:
                    detail: Permission denied
                Organization shares notes without transcripts:
                  value:
                    detail: >-
                      Your organization's note sharing settings do not include
                      transcripts
              schema:
                $ref: '#/components/schemas/ErrorDetail'
          description: >-
            The API key lacks a required permission, or the organization's
            policy withholds this transcript.
        '404':
          content:
            application/json:
              examples:
                Meeting does not exist:
                  value:
                    detail: Meeting not found
                Meeting not visible to the organization:
                  value:
                    detail: Meeting not found
              schema:
                $ref: '#/components/schemas/ErrorDetail'
          description: >-
            The meeting does not exist or is not visible to the organization.
            Both return the same response.
        '408':
          content:
            application/json:
              examples:
                Request timed out:
                  value:
                    detail: Request timed out
              schema:
                $ref: '#/components/schemas/ErrorDetail'
          description: The request did not complete within the server's request deadline.
        '409':
          content:
            application/json:
              examples:
                The transcript is not ready yet:
                  value:
                    detail: The transcript is not ready yet
              schema:
                $ref: '#/components/schemas/ErrorDetail'
          description: >-
            The meeting has not finished processing. Retry after the
            `Retry-After` delay.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                minimum: 1
                type: integer
        '410':
          content:
            application/json:
              examples:
                The transcript was deleted under your organization's retention policy:
                  value:
                    detail: >-
                      The transcript was deleted under your organization's
                      retention policy
              schema:
                $ref: '#/components/schemas/ErrorDetail'
          description: >-
            The transcript was deleted under the organization's retention
            policy. This is permanent.
        '422':
          content:
            application/json:
              examples:
                Transcript too large:
                  value:
                    detail: >-
                      Transcript is larger than the 16 MiB response limit and
                      cannot be returned. Retrying will not help.
              schema:
                anyOf:
                  - $ref: '#/components/schemas/HTTPValidationError'
                  - $ref: '#/components/schemas/ErrorDetail'
          description: >-
            The meeting ID is not a valid UUID, or the transcript is larger than
            the response limit. An oversized transcript is permanent for the
            meeting; do not retry.
        '429':
          content:
            application/json:
              examples:
                Rate limit exceeded:
                  value:
                    detail: Rate limit exceeded
              schema:
                $ref: '#/components/schemas/ErrorDetail'
          description: >-
            The organization's rate limit is exhausted. The limit is shared by
            all of the organization's API keys.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                minimum: 1
                type: integer
        '503':
          content:
            application/json:
              examples:
                Service unavailable:
                  value:
                    detail: Service unavailable
              schema:
                $ref: '#/components/schemas/ErrorDetail'
          description: A dependency is temporarily unavailable. Retry with backoff.
          headers:
            Retry-After:
              description: Seconds to wait before retrying, when known.
              schema:
                minimum: 1
                type: integer
components:
  schemas:
    MeetingTranscript:
      description: The meeting's final transcript.
      properties:
        meeting_id:
          description: The meeting ID.
          format: uuid
          title: Meeting Id
          type: string
        segments:
          description: Spoken turns in recording order.
          items:
            $ref: '#/components/schemas/TranscriptSegment'
          title: Segments
          type: array
      required:
        - meeting_id
        - segments
      title: MeetingTranscript
      type: object
    ErrorDetail:
      description: Error body returned for every non-validation error.
      properties:
        detail:
          description: Human-readable error message.
          title: Detail
          type: string
      required:
        - detail
      title: ErrorDetail
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    TranscriptSegment:
      description: One spoken turn.
      properties:
        speaker:
          description: >-
            Who spoke. The owner appears with their account name and other
            matched people with the name the meeting records for them; a voice
            nobody identified is `Speaker` followed by a number. Names are
            user-written.
          title: Speaker
          type: string
        start_seconds:
          anyOf:
            - type: integer
            - type: 'null'
          description: Seconds from the start of the recording, or null if unknown.
          title: Start Seconds
        text:
          description: What was said, including any corrections made by the owner.
          title: Text
          type: string
      required:
        - speaker
        - start_seconds
        - text
      title: TranscriptSegment
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    bearerAuth:
      description: >-
        A WorkOS-issued organization API key (`sk_...`) with the
        `admin:meetings:read` permission. Transcripts also require
        `admin:meetings:transcripts:read`.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.