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

# get session transcript

> Returns the conversation transcript for a session. Transcripts are never returned for zero-data-retention sessions, including to Anam-internal admin API keys. Admin keys may fetch transcripts for non-ZDR sessions of any organization.



## OpenAPI

````yaml https://api.anam.ai/swagger.json get /v1/sessions/{id}/transcript
openapi: 3.1.0
info:
  title: Anam AI API
  version: '1.0'
servers:
  - url: https://api.anam.ai
    description: Anam API
security:
  - BearerAuth: []
tags:
  - name: Sessions
  - name: Avatar Videos
  - name: Meetings
  - name: Personas
  - name: Avatars
  - name: Voices
  - name: Pronunciation Dictionaries
  - name: LLMs
  - name: Knowledge
  - name: Tools
  - name: Share Links
  - name: Engine
paths:
  /v1/sessions/{id}/transcript:
    get:
      tags:
        - Sessions
      summary: get session transcript
      description: >-
        Returns the conversation transcript for a session. Transcripts are never
        returned for zero-data-retention sessions, including to Anam-internal
        admin API keys. Admin keys may fetch transcripts for non-ZDR sessions of
        any organization.
      operationId: getSessionTranscript
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
          description: Session ID
        - in: query
          name: offset
          schema:
            type: integer
            minimum: 0
            default: 0
          description: Index of the first message to return.
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 100
          description: >-
            The most messages to return, up to 100. Omit it for every message
            from `offset` on.
      responses:
        '200':
          description: Successfully retrieved transcript
          content:
            application/json:
              schema:
                type: object
                properties:
                  sessionId:
                    type: string
                    description: The session ID
                  personaName:
                    type: string
                    description: Name of the persona in the session
                  startTime:
                    type: string
                    format: date-time
                    description: Session start time
                  endTime:
                    type:
                      - string
                      - 'null'
                    format: date-time
                    description: Session end time
                  durationMs:
                    type:
                      - integer
                      - 'null'
                    description: Session duration in milliseconds
                  totalMessages:
                    type: integer
                    description: >-
                      Total number of messages in the transcript, including any
                      outside this page
                  nextOffset:
                    type:
                      - integer
                      - 'null'
                    description: >-
                      The `offset` that returns the next messages, or `null`
                      when this page reaches the end
                  transcriptsEnabled:
                    type: boolean
                    description: >-
                      Whether transcripts were enabled for this session. When
                      false (sessionOptions.dataRetention.transcripts or
                      sessionReplay.enableSessionReplay set to false), each
                      message reads TRANSCRIPTS_DISABLED.
                  messages:
                    type: array
                    items:
                      type: object
                      properties:
                        role:
                          type: string
                          enum:
                            - user
                            - persona
                        message:
                          type: string
                        timestamp:
                          type:
                            - string
                            - 'null'
                          format: date-time
                        speakingDurationSeconds:
                          type:
                            - number
                            - 'null'
                        wasInterrupted:
                          type: boolean
                          description: Only present for persona messages
              examples:
                default:
                  $ref: '#/components/examples/SessionTranscriptResponse'
        '400':
          description: Bad request - Invalid session ID
        '401':
          description: Unauthorized - Invalid or missing API key
        '403':
          description: Forbidden - API key lacks the required permission
        '404':
          description: >-
            Not Found - Session not found, zero-data-retention, or no transcript
            available
        '410':
          description: Gone - Session report was deleted
        '500':
          description: Server error
        '503':
          description: >-
            The API key could not be checked because of a temporary server
            problem. The key may be valid; retry after `Retry-After` seconds.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableError'
components:
  examples:
    SessionTranscriptResponse:
      summary: The message log of a completed session
      value:
        sessionId: 00000000-0000-0000-0000-000000000000
        personaName: Cara
        startTime: '2026-04-20T09:00:00.000Z'
        endTime: '2026-04-20T09:12:34.000Z'
        durationMs: 754000
        totalMessages: 6
        transcriptsEnabled: true
        messages:
          - role: persona
            message: Hi! How can I help?
            timestamp: '2026-04-20T09:00:01.000Z'
            speakingDurationSeconds: 1.4
            wasInterrupted: false
          - role: user
            message: Can you tell me a joke?
            timestamp: '2026-04-20T09:00:05.000Z'
            speakingDurationSeconds: 2.1
  schemas:
    ServiceUnavailableError:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          example: Service temporarily unavailable
        message:
          type: string
          example: We could not check your API key. Please retry shortly.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````

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