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

# List Transcripts

> Retrieve a paginated list of call transcripts and session reports within the caller's authorized scope.

Retrieve a detailed, paginated list of past conversational sessions.

The Transcripts endpoint is one of the most powerful tools in the API. It allows you to fetch full chat histories, audit agent performance, extract metadata (like call duration and message counts), and review post-call session reports.

<Info>
  **Authentication Required:** You must include your API key in the `x-api-key` header. You will only receive transcripts that fall under your authorized organizational or user scope.
</Info>

### Powerful Filtering Capabilities

To analyze specific slices of your data, you can combine multiple query parameters.

#### 1. Entity Filters

Target specific conversations using IDs:

* **`agentId`**: View all conversations handled by a specific Voice Agent. Great for evaluating how well a newly deployed agent is performing.
* **`sessionId`**: Retrieve the exact transcript for a single, known conversation.
* **`orgId`**: Filter calls belonging to a specific organization (useful for multi-tenant applications).

#### 2. Time-Based Filters

Extract records from specific date ranges using ISO-8601 formatted timestamps (e.g., `2026-03-01T00:00:00Z`):

* **`from`**: The start date/time.
* **`to`**: The end date/time.

#### 3. Sorting & Pagination

Manage large datasets effectively:

* **`limit` & `offset`**: Standard pagination controls.
* **`sort`**: Order your results chronologically (`asc`) or see the most recent calls first (`desc`).

### Understanding the Response Payload

A successful request returns a paginated list containing an `items` array. Each item in this array represents a single session and contains rich metadata.

**Key fields in a Transcript object:**

* **`chatHistory`**: An array of message objects representing the turn-by-turn conversation between the human user and the Voice Agent.
* **`sessionReport`**: An intelligent, auto-generated summary or structured data extraction from the call (if configured on your agent).
* **Call Metrics**:
  * **`durationMs`**: Total length of the session in milliseconds.
  * **`messageCount`**: Total number of turns/messages exchanged.
  * **`closeReason`**: Why the session ended (e.g., user disconnected, timeout, or agent ended the call).


## OpenAPI

````yaml get /transcripts
openapi: 3.0.3
info:
  title: Lyzr Voice LiveKit API
  version: 1.0.0
servers:
  - url: https://voice-livekit.studio.lyzr.ai/v1
security: []
paths:
  /transcripts:
    get:
      summary: List Transcripts
      description: >-
        Retrieve a paginated list of call transcripts and session reports within
        the caller's authorized scope.
      parameters:
        - name: limit
          in: query
          description: The maximum number of transcripts to return per page.
          schema:
            type: integer
            example: 10
        - name: offset
          in: query
          description: The number of items to skip for pagination.
          schema:
            type: integer
            example: 0
        - name: sort
          in: query
          description: Sort order based on creation time.
          schema:
            type: string
            enum:
              - asc
              - desc
            example: desc
        - name: agentId
          in: query
          description: Filter transcripts by a specific Agent ID.
          schema:
            type: string
            example: f790923795a23467555c0ad6
        - name: orgId
          in: query
          description: Filter transcripts by Organization ID.
          schema:
            type: string
            format: uuid
            example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        - name: sessionId
          in: query
          description: Fetch the transcript for a specific LiveKit session.
          schema:
            type: string
            format: uuid
            example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        - name: from
          in: query
          description: >-
            Start date for filtering (ISO date or ISO date-time with offset).
            Example: 2026-03-01T00:00:00Z
          schema:
            type: string
            example: '2026-03-01T00:00:00Z'
        - name: to
          in: query
          description: >-
            End date for filtering (ISO date or ISO date-time with offset).
            Example: 2026-03-25T23:59:59Z
          schema:
            type: string
            example: '2026-03-25T23:59:59Z'
      responses:
        '200':
          description: Paginated transcripts retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        sessionId:
                          type: string
                          format: uuid
                        roomName:
                          type: string
                        agentId:
                          type: string
                        orgId:
                          type: string
                          format: uuid
                        createdByUserId:
                          type: string
                        sessionReport:
                          type: object
                          additionalProperties: true
                        chatHistory:
                          type: array
                          items:
                            type: object
                            additionalProperties: true
                        closeReason:
                          type: string
                        durationMs:
                          type: integer
                        messageCount:
                          type: integer
                        startedAt:
                          type: string
                          format: date-time
                        endedAt:
                          type: string
                          format: date-time
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                  total:
                    type: integer
                    example: 42
                  limit:
                    type: integer
                    example: 10
                  offset:
                    type: integer
                    example: 0
                  nextOffset:
                    type: integer
                    example: 10
        '400':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  issues:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
                  example:
                    type: object
                    additionalProperties: true
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````