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

# List replays

> List replay conversations created from one original conversation.

Returns replay conversations created from one original conversation. Use this after [Create replay](/en/api-reference/create-replay) when you want to compare all replay attempts for the same source conversation.

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token containing your Fini workspace API key. Format: `Bearer fini_...` The key needs `read` scope.
</ParamField>

## Path parameters

<ParamField path="interactionId" type="string" required>
  Original conversation ID whose replays you want to list.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api-prod.usefini.com/v2/replays/interactions/0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8/public' \
    --header 'Authorization: Bearer fini_your_api_key'
  ```

  ```python Python theme={null}
  import requests

  interaction_id = "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8"
  response = requests.get(
      f"https://api-prod.usefini.com/v2/replays/interactions/{interaction_id}/public",
      headers={"Authorization": "Bearer fini_your_api_key"},
  )
  replays = response.json()
  ```

  ```javascript Node.js theme={null}
  const interactionId = "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8";

  const response = await fetch(
    `https://api-prod.usefini.com/v2/replays/interactions/${interactionId}/public`,
    {
      headers: {
        Authorization: "Bearer fini_your_api_key",
      },
    }
  );
  const replays = await response.json();
  ```
</RequestExample>

## Response

<ResponseField name="total" type="number">
  Number of replay conversations returned.
</ResponseField>

<ResponseField name="replays" type="array">
  Replay conversation records. Each item is an interaction object with `parentInteractionId` pointing back to the original conversation and `replay` metadata describing the target event and replay status.
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "total": 1,
    "replays": [
      {
        "id": "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625",
        "companyId": "6bc9f4f8-3564-4a9c-8cc0-ea1f1dd66c2d",
        "botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
        "source": "replay",
        "channel": "widget",
        "status": "resolved",
        "createdAt": "2026-07-30T12:18:03.211Z",
        "updatedAt": "2026-07-30T12:18:14.904Z",
        "parentInteractionId": "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8",
        "replay": {
          "target_event_id": "f61a9a11-2c3b-4704-8f57-7078854d87cf",
          "status": "done"
        }
      }
    ]
  }
  ```
</ResponseExample>

## Errors

<AccordionGroup>
  <Accordion title="401 Unauthorized" icon="lock">
    The API key is missing, malformed, revoked, or invalid.
  </Accordion>

  <Accordion title="403 Forbidden" icon="shield-halved">
    The API key does not include the `read` scope required for this route.
  </Accordion>

  <Accordion title="500 Internal Server Error" icon="triangle-exclamation">
    Fini failed while loading replay conversations for the original conversation.
  </Accordion>
</AccordionGroup>
