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

# Get Conversation Recording

> Redirect to a signed recording download URL when the recording is ready.

Use this endpoint to access a conversation recording for a specific session.

When the recording is ready, this endpoint responds with an HTTP redirect to a signed recording download URL. If you are calling it programmatically, make sure your client follows redirects.

If the recording was not started, is unavailable, or is still processing, the endpoint returns an error response instead.


## OpenAPI

````yaml openapi/akapulu.json GET /conversations/{conversation_session_id}/recording
openapi: 3.1.0
info:
  title: Akapulu Labs API
  version: 1.0.0
  description: Public Akapulu Labs API reference.
servers:
  - url: https://akapulu.com/api
security:
  - bearerAuth: []
paths:
  /conversations/{conversation_session_id}/recording:
    get:
      summary: Get conversation recording
      description: Redirect to a signed recording download URL when the recording is ready.
      parameters:
        - name: conversation_session_id
          in: path
          required: true
          description: Conversation session ID.
          schema:
            type: string
            format: uuid
      responses:
        '302':
          description: Redirect to the recording download URL
          headers:
            Location:
              description: Signed recording download URL.
              schema:
                type: string
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Conversation session or recording not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              examples:
                missing_session:
                  value:
                    error: ConversationSession not found
                recording_not_started:
                  value:
                    error: Recording not started
                recording_unavailable:
                  value:
                    error: Recording unavailable
        '409':
          description: Recording is still processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              examples:
                recording_processing:
                  value:
                    error: Recording processing
components:
  schemas:
    ApiError:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable error message.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````