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

# List tracks

> List the read-only narration track followed by audio tracks and their instances.

<section className="api-next-steps" aria-label="Continue building">
  ## Continue building

  <Columns cols={2}>
    <Card title="Arrange background audio" icon="book-open" href="/guides/studio-projects">Upload files and place them on tracks.</Card>
    <Card title="Create an instance" icon="audio-lines" href="/api-reference/studio/create-an-instance">Place audio on a track.</Card>
    <Card title="Studio CLI" icon="terminal" href="/cli/reference/studio">Run the same operations from a terminal.</Card>
  </Columns>
</section>


## OpenAPI

````yaml /openapi.json get /v1/studio/projects/{project_id}/tracks
openapi: 3.1.0
info:
  title: Breeze Developer API
  description: >-
    Breeze Developer API for models, voices, text-to-speech, history, balance,
    usage, and browser-managed API keys.
  version: 1.0.0
servers:
  - url: https://api.breeze.blue
security: []
tags:
  - name: Models
    description: Supported TTS models.
  - name: Text to Speech
    description: Text-to-speech synthesis and instruction enhancement.
  - name: Voices
    description: Saved voices and voice settings.
  - name: Voice Previews
    description: Create, audition, and save temporary voice previews.
  - name: Account
    description: Balance, usage, and API keys.
  - name: History
    description: Generated audio history.
  - name: Studio
    description: Projects, scripts, arrangement and audio materials.
paths:
  /v1/studio/projects/{project_id}/tracks:
    get:
      tags:
        - Studio
      summary: List tracks
      description: >-
        List the read-only narration track followed by audio tracks and their
        instances.
      operationId: studio_tracks_list
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: string
            title: Project Id
          description: Studio project ID, such as prj_….
      responses:
        '200':
          description: Tracks and the current edit_token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrackList'
          headers:
            x-breeze-api-key-id:
              description: >-
                Public API key identifier used to authenticate the request, when
                an API key was used.
              schema:
                type: string
        '401':
          description: HTTP 401 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: HTTP 404 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: HTTP 422 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl \
              --request GET \
              --url "https://api.breeze.blue/v1/studio/projects/prj_example/tracks" \
              --header "xi-api-key: $BREEZE_API_KEY"
        - lang: Python
          label: Python
          source: |-
            from breeze_blue import BreezeBlue

            client = BreezeBlue()
            result = client.studio.tracks.list("prj_example")
        - lang: TypeScript
          label: TypeScript
          source: |-
            import { BreezeBlueClient } from "@breeze.blue/sdk";

            const client = new BreezeBlueClient();
            const result = await client.studio.tracks.list("prj_example");
components:
  schemas:
    TrackList:
      properties:
        items:
          items:
            $ref: '#/components/schemas/TrackView'
          type: array
          title: Items
          description: Resources in order.
        edit_token:
          type: string
          title: Edit Token
          description: >-
            Current edit_token. Send it as expected_edit_token on the next
            write.
      additionalProperties: false
      type: object
      required:
        - items
        - edit_token
      title: TrackList
    ErrorResponse:
      properties:
        ok:
          default: false
          title: Ok
          type: boolean
        code:
          title: Code
          type: string
        detail:
          title: Detail
          type: string
        error:
          title: Error
          type: string
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          title: Meta
      required:
        - code
        - detail
        - error
      title: ErrorResponse
      type: object
    ValidationErrorResponse:
      properties:
        ok:
          default: false
          title: Ok
          type: boolean
        code:
          title: Code
          type: string
        detail:
          title: Detail
          type: string
        error:
          title: Error
          type: string
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
      required:
        - code
        - detail
        - error
      title: ValidationErrorResponse
      type: object
    TrackView:
      properties:
        id:
          type: string
          title: Id
          description: Track ID; narration for the narration track.
        name:
          type: string
          title: Name
          description: Track name.
        chapter_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Chapter Id
          description: Chapter the track is limited to; null spans the whole project.
        volume:
          type: number
          title: Volume
          default: 1
          description: Track volume.
        muted:
          type: boolean
          title: Muted
          default: false
          description: Whether the track is muted.
        readonly:
          type: boolean
          title: Readonly
          default: false
          description: true for the narration track, which is edited through clips.
        instances:
          items:
            $ref: '#/components/schemas/InstanceView'
          type: array
          title: Instances
          description: Audio instances on the track.
      additionalProperties: false
      type: object
      required:
        - id
        - name
      title: TrackView
    InstanceView:
      properties:
        id:
          type: string
          title: Id
          description: Instance ID.
        file_id:
          type: string
          title: File Id
          description: Audio file played by the instance.
        position:
          $ref: '#/components/schemas/Position'
          description: Where the instance starts on the timeline.
        trim_start:
          type: integer
          title: Trim Start
          description: First source frame to play.
        trim_end:
          type: integer
          title: Trim End
          description: Source frame where playback stops. Must be greater than trim_start.
        effects:
          $ref: '#/components/schemas/Effects'
          description: Volume, speed, and fades.
        length:
          anyOf:
            - type: integer
            - type: 'null'
          title: Length
          description: >-
            Timeline length in frames. When longer than the trimmed audio, the
            audio repeats. null plays the trimmed audio once.
        phase:
          type: integer
          title: Phase
          default: 0
          description: >-
            Frame within the trimmed audio where a split repeated region
            resumes.
        envelope_offset:
          type: integer
          title: Envelope Offset
          default: 0
          description: >-
            Offset within the fade envelope shared by the parts of a split
            instance.
        envelope_length:
          anyOf:
            - type: integer
            - type: 'null'
          title: Envelope Length
          description: Length of the shared fade envelope; null uses the instance length.
        issues:
          items:
            type: string
          type: array
          title: Issues
          description: >-
            Placement problems, such as anchor_missing when the followed clip is
            gone.
      additionalProperties: false
      type: object
      required:
        - id
        - file_id
        - position
        - trim_start
        - trim_end
        - effects
      title: InstanceView
    Position:
      properties:
        mode:
          type: string
          enum:
            - fixed
            - follow
          title: Mode
          default: fixed
          description: fixed starts at frame; follow starts relative to clip_id.
        frame:
          type: integer
          maximum: 1036800000
          minimum: 0
          title: Frame
          default: 0
          description: Start frame for fixed positions.
        clip_id:
          anyOf:
            - type: string
              maxLength: 128
              minLength: 1
              pattern: \S
            - type: 'null'
          title: Clip Id
          description: Clip to follow. Required for follow positions.
        edge:
          type: string
          enum:
            - start
            - end
          title: Edge
          default: start
          description: 'Clip edge to follow: start or end.'
        offset:
          type: integer
          maximum: 1036800000
          minimum: -1036800000
          title: Offset
          default: 0
          description: Frames added to the followed edge. Negative values start earlier.
      additionalProperties: false
      type: object
      title: Position
    Effects:
      properties:
        speed:
          type: number
          maximum: 2
          minimum: 0.5
          title: Speed
          default: 1
          description: Playback speed, from 0.5 to 2.
        volume:
          type: number
          maximum: 2
          minimum: 0
          title: Volume
          default: 1
          description: Volume multiplier, from 0 to 2.
        fade_in_seconds:
          type: number
          maximum: 7200
          minimum: 0
          title: Fade In Seconds
          default: 0
          description: Fade-in duration in seconds.
        fade_out_seconds:
          type: number
          maximum: 7200
          minimum: 0
          title: Fade Out Seconds
          default: 0
          description: Fade-out duration in seconds.
      additionalProperties: false
      type: object
      title: Effects
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: xi-api-key
      description: Breeze Developer API key.

````

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