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

# Obtenir le lien de téléchargement d'un enregistrement

> Returns a fresh signed link to download a call's recording, valid for 60 minutes. The link works without an Allo login: do not share it beyond the people who may hear the call. Only a user who can play the recording in Allo gets one, and never for a call on a HIPAA-enabled team.

<Note>
  **Scope requis :** `CONVERSATIONS_READ`
</Note>

Renvoie un nouveau lien qui télécharge l'enregistrement d'un appel, valable 60 minutes. Utilisez-le quand le `recording_download_url` reçu a expiré, ou quand vous avez besoin d'un lien à la demande. L'endpoint fonctionne sur tous les comptes, pas seulement sur les comptes créés par un partenaire.

* `{id}` est un ID d'appel (`cll-*`). Un ID au préfixe non reconnu renvoie `400 INVALID_ITEM_ID`.
* `url` télécharge le fichier de l'enregistrement sans connexion à Allo. Toute personne qui a le lien peut télécharger l'enregistrement jusqu'à `expires_at` : ne le partagez qu'avec les personnes autorisées à écouter l'appel.
* `expires_at` tombe 60 minutes après la requête. Rappelez l'endpoint pour obtenir un nouveau lien.

## Qui peut obtenir le lien

L'utilisateur de l'API key doit pouvoir écouter l'enregistrement dans Allo : le propriétaire de la ligne, un admin ou manager de l'équipe, un membre avec qui la ligne est partagée, ou le destinataire d'un partage de résumé. Tout autre utilisateur reçoit `403 RECORDING_ACCESS_DENIED`.

Allo ne crée jamais de lien de téléchargement pour un appel d'une équipe HIPAA. Ces appels renvoient `403 RECORDING_DOWNLOAD_RESTRICTED` : écoutez l'enregistrement dans l'application Allo.

## Erreurs

| Code | Signification |
| - | - |
| `CONVERSATION_ITEM_NOT_FOUND` | Aucun appel avec cet ID n'est visible par l'utilisateur de la clé (`404`). |
| `RECORDING_NOT_FOUND` | L'appel n'a pas d'enregistrement, ou l'ID est celui d'un SMS (`msg-*`) (`404`). Seuls les appels décrochés sur des lignes avec l'enregistrement activé en ont un. |
| `RECORDING_ACCESS_DENIED` | L'utilisateur de la clé ne peut pas écouter cet enregistrement (`403`). |
| `RECORDING_DOWNLOAD_RESTRICTED` | La ligne appartient à une équipe HIPAA (`403`). |
| `RECORDING_DOWNLOAD_UNAVAILABLE` | Le lien n'a pas pu être créé (`500`). Toujours `retryable: true` : réessayez dans quelques secondes. |


## OpenAPI

````yaml GET /v2/api/conversations/items/{id}/recording
openapi: 3.0.3
info:
  title: Allo API
  description: >-
    Allo API provides programmatic access to your Allo account, allowing you to
    manage webhooks, retrieve calls and contacts, and send SMS messages.


    All requests to `/v1/api/**` endpoints automatically go through quota
    checking and scope validation.
  version: 1.0.0
  contact:
    name: Allo Support
servers:
  - url: https://api.withallo.com
    description: Production server
security: []
tags:
  - name: Summary Templates
    description: >-
      Manage call summary templates that control how AI-generated call summaries
      are structured for your team.
  - name: Webhooks
    description: >-
      Manage webhook endpoints to receive real-time notifications about events
      in your Allo account. Each endpoint subscribes to one or more event topics
      and is verified with a signing secret.
  - name: Calls
    description: >-
      Retrieve and search call records with filtering and pagination. Filter
      calls by your Allo phone number.
  - name: Contacts
    description: >-
      Search and retrieve contact information with sorting and pagination.
      Includes engagement level tracking.
  - name: SMS
    description: Send SMS messages to phone numbers using your Allo numbers.
  - name: Phone Numbers
    description: Retrieve information about your Allo phone numbers.
  - name: Analytics
    description: Pre-computed call metrics, team performance, and outbound dial funnel
  - name: CRM
    description: Manage people, companies, and deals in your CRM.
  - name: Notes
    description: >-
      Internal team notes on conversations and CRM people, with @mention
      support. Notes are never visible to the contact.
  - name: Threads
    description: >-
      Team discussion threads attached to a conversation item (call, SMS, or
      conversation note). One thread per item.
  - name: AI Receptionist
    description: >-
      Read and write the AI receptionist configuration of a phone line: business
      details, voice, prompt, capabilities, business hours, transfer rules,
      scheduling calendars and knowledge sources.
paths:
  /v2/api/conversations/items/{id}/recording:
    get:
      tags:
        - Conversations
      summary: Get recording download link
      description: >-
        Returns a fresh signed link to download a call's recording, valid for 60
        minutes. The link works without an Allo login: do not share it beyond
        the people who may hear the call. Only a user who can play the recording
        in Allo gets one, and never for a call on a HIPAA-enabled team.
      operationId: getConversationItemRecording
      parameters:
        - name: id
          in: path
          required: true
          description: Call ID (`cll-*`).
          schema:
            type: string
            example: cll-abc123
      responses:
        '200':
          description: Download link
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      url:
                        type: string
                        description: >-
                          Signed link that downloads the recording, with no
                          login.
                        example: >-
                          https://storage.withallo.com/object/sign/recordings/abc123.mp3?token=eyJhbGciOi...
                      expires_at:
                        type: string
                        format: date-time
                        description: >-
                          When the link stops working, 60 minutes after the
                          request.
                        example: '2026-10-19T15:30:00Z'
              example:
                data:
                  url: >-
                    https://storage.withallo.com/object/sign/recordings/abc123.mp3?token=eyJhbGciOi...
                  expires_at: '2026-10-19T15:30:00Z'
        '400':
          description: The ID has an unrecognized prefix (INVALID_ITEM_ID).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
        '401':
          $ref: '#/components/responses/ApiUnauthorized'
        '403':
          description: >-
            The API key lacks the CONVERSATIONS_READ scope, the key's user
            cannot play this recording (RECORDING_ACCESS_DENIED), or the line
            belongs to a HIPAA-enabled team (RECORDING_DOWNLOAD_RESTRICTED).
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
        '404':
          description: >-
            No call with this ID (CONVERSATION_ITEM_NOT_FOUND), or the item has
            no recording (RECORDING_NOT_FOUND). An SMS (`msg-*`) has no
            recording.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
        '429':
          $ref: '#/components/responses/ApiRateLimited'
        '500':
          description: >-
            The download link could not be created
            (RECORDING_DOWNLOAD_UNAVAILABLE). Retry in a few seconds.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
      security:
        - ApiKeyAuth: []
components:
  responses:
    ApiUnauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    ApiRateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    ApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            retryable:
              type: boolean
            request_id:
              type: string
            retry_after_seconds:
              type: integer
              nullable: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization

````

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