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

# List transcripts

> Transcripts newest first, up to limit per page. To read the next page, pass the last id as starting_after while has_more is true.



## OpenAPI

````yaml GET /transcripts
openapi: 3.1.0
info:
  title: Maybloc API
  version: 1.0.0
  description: >-
    Speech-to-text for recorded audio. Upload a recording and get back a
    transcript with every speaker separated, overlapping speech kept, and every
    word timed.
servers:
  - url: https://app.maybloc.com/api/v1
    description: Maybloc v1
security:
  - bearerAuth: []
tags:
  - name: Uploads
    description: Send a recording straight to private storage.
  - name: Transcripts
    description: Transcribe recordings and read the results.
  - name: Account
    description: Your workspace and its balance.
paths:
  /transcripts:
    get:
      tags:
        - Transcripts
      summary: List transcripts
      description: >-
        Transcripts newest first, up to limit per page. To read the next page,
        pass the last id as starting_after while has_more is true.
      operationId: listTranscripts
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 100
        - name: starting_after
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: The id of the last transcript of the previous page.
      responses:
        '200':
          description: A list of transcripts
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    const: list
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Transcript'
                  has_more:
                    type: boolean
        '400':
          description: Invalid limit or starting_after
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Transcript:
      type: object
      properties:
        id:
          type: string
          format: uuid
        object:
          type: string
          const: transcript
        model:
          type: string
        status:
          type: string
          enum:
            - queued
            - processing
            - completed
            - failed
            - canceled
        file_name:
          type: string
        speaker_names:
          type: object
          additionalProperties:
            type: string
        config:
          $ref: '#/components/schemas/RunConfig'
        duration_ms:
          type: integer
        error:
          type:
            - string
            - 'null'
          description: Why it failed or was canceled.
        cost:
          type: object
          properties:
            currency:
              type: string
              const: usd
            estimated_micro_usd:
              type: integer
              description: Held from your balance when the transcript is created.
            charged_micro_usd:
              type:
                - integer
                - 'null'
              description: >-
                Set when it completes. Failed and canceled transcripts are not
                charged.
        created_at:
          type: string
          format: date-time
        completed_at:
          type:
            - string
            - 'null'
          format: date-time
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
              examples:
                - invalid_request
                - insufficient_credit
                - rate_limited
            message:
              type: string
            request_id:
              type: string
              description: Quote this when contacting support.
    RunConfig:
      type: object
      additionalProperties: false
      description: >-
        How the transcript is made. Unknown fields are rejected. The
        playground's Export config writes this object.
      properties:
        model:
          type: string
          enum:
            - calico-1-flash
          default: calico-1-flash
        language:
          type: string
          enum:
            - auto
            - en
            - es
            - fr
            - de
            - it
            - pt
            - nl
            - pl
            - ru
            - uk
            - tr
            - ar
            - fa
            - he
            - hi
            - ur
            - bn
            - ta
            - te
            - mr
            - gu
            - pa
            - kn
            - ml
            - zh
            - ja
            - ko
            - th
            - vi
            - id
            - ms
            - tl
            - sv
            - da
            - 'no'
            - fi
            - cs
            - ro
            - hu
            - el
            - bg
            - hr
            - sk
            - sl
            - sr
          default: auto
          description: >-
            ISO 639-1 code of the spoken language, or auto to detect one
            language for the recording.
        addons:
          type: array
          uniqueItems: true
          items:
            type: string
            enum:
              - redact_pii
              - smart_format
              - subtitles
              - insights
              - identify_speakers
              - sentiment
              - topics
              - keywords
              - custom_fields
              - translation
          description: >-
            Made from the transcript and priced per minute on top of the model:
            redact_pii (PII redaction, +$0.0005/min), smart_format (Smart
            formatting, +$0.0005/min), subtitles (Subtitles, free), insights
            (Insights, +$0.001/min), identify_speakers (Speaker names,
            +$0.0005/min), sentiment (Sentiment, +$0.0005/min), topics (Topics
            and entities, +$0.0005/min), keywords (Key terms, +$0.0005/min),
            custom_fields (Custom fields, +$0.0005/min), translation
            (Translation, +$0.0015/min per language).
        translate_to:
          type: array
          uniqueItems: true
          maxItems: 5
          items:
            type: string
            enum:
              - en
              - es
              - fr
              - de
              - it
              - pt
              - nl
              - pl
              - ru
              - uk
              - tr
              - ar
              - fa
              - he
              - hi
              - ur
              - bn
              - ta
              - te
              - mr
              - gu
              - pa
              - kn
              - ml
              - zh
              - ja
              - ko
              - th
              - vi
              - id
              - ms
              - tl
              - sv
              - da
              - 'no'
              - fi
              - cs
              - ro
              - hu
              - el
              - bg
              - hr
              - sk
              - sl
              - sr
          description: >-
            With translation: 1 to 5 languages to translate into, each charged
            per minute.
        custom_fields:
          type: array
          maxItems: 20
          items:
            $ref: '#/components/schemas/CustomField'
          description: 'With custom_fields: 1 to 20 questions answered from the recording.'
    CustomField:
      type: object
      required:
        - key
        - question
      properties:
        key:
          type: string
          pattern: ^[a-z][a-z0-9_]{0,39}$
          description: Names the answer in the result.
        question:
          type: string
          maxLength: 500
        type:
          type: string
          enum:
            - text
            - number
            - boolean
            - list
            - speaker
            - choice
          default: text
          description: >-
            boolean is yes or no; speaker answers with a speaker id; choice
            answers with one of options.
        options:
          type: array
          items:
            type: string
          minItems: 2
          maxItems: 50
          description: With type choice.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'An API key: Authorization: Bearer mbk_live_...'

````

## Related topics

- [What does a Maybloc transcript result contain?](https://docs.maybloc.com/guides/results.md)
- [Languages supported by the Maybloc API](https://docs.maybloc.com/guides/languages.md)
- [How to authenticate Maybloc API requests](https://docs.maybloc.com/authentication.md)
- [Maybloc add-ons: redaction, summaries, sentiment and translation](https://docs.maybloc.com/guides/add-ons.md)
- [Create a transcript](https://docs.maybloc.com/api-reference/create-a-transcript.md)


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