> ## 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.
# Replays
> Create and inspect replay conversations through the public API.
Replays run an existing conversation through a selected agent configuration so you can compare a previous answer with what Fini would do now. Use them after a prompt, knowledge, Rulebook, or model change to verify a known conversation before you roll the change into broader testing.
<Info>
Replay runs create separate replay conversations. They do not overwrite the original conversation, publish a fix, or apply prompt, knowledge, or rule changes by themselves.
</Info>
## Endpoints
| Method | Path | Scope | Purpose |
| - | - | - | - |
| `POST` | `/v2/replays/public` | `write` | Create and run a replay from a target Fini response. |
| `GET` | `/v2/replays/interactions/{interactionId}/public` | `read` | List replay conversations created from one original conversation. |
| `GET` | `/v2/replays/{id}/public` | `read` | Fetch one replay conversation. |
| `GET` | `/v2/replays/{id}/events/public` | `read` | Fetch the events for one replay conversation. |
## Replay modes
<ResponseField name="until" type="string">
Replays the conversation up to the user event linked to the target response. This is the default mode when `mode` is omitted.
</ResponseField>
<ResponseField name="single" type="string">
Replays only the selected response turn.
</ResponseField>
## Model overrides
`mlModels` lets you override model selection for one replay run without changing the agent's saved configuration.
<ResponseField name="performPlanning" type="string">
Model name used for the planning step.
</ResponseField>
<ResponseField name="searchKnowledge" type="string">
Model name used for knowledge search.
</ResponseField>
<ResponseField name="generateAnswer" type="string">
Model name used for answer generation.
</ResponseField>
<ResponseField name="tagSelection" type="string">
Model name used for tag selection.
</ResponseField>
The API accepts only these four operation keys. If `mlModels` is present, it must contain at least one supported operation and every value must be a non-empty string.
## Rule execution modes
`ruleExecutionMode` controls how Rulebook logic behaves during the replay. When omitted, Fini uses `simulate`.
<ResponseField name="reuse" type="string">
Reuses the rule choice and rule result payloads from the original answer. Use this when you want to regenerate answer text without retesting Rulebook selection.
</ResponseField>
<ResponseField name="simulate" type="string">
Re-evaluates the latest rules and uses saved historical results for matching external actions. This is the default and avoids performing live external action calls.
</ResponseField>
<ResponseField name="execute" type="string">
Re-evaluates the latest rules and runs live external actions. Use this only when those side effects are acceptable for the replay.
</ResponseField>
If you provide rule-version artifacts, use `simulate` or `execute`. `reuse` cannot be combined with rule-version overrides.
## Related pages
<CardGroup cols={2}>
<Card title="Create replay" icon="plus" href="/en/api-reference/create-replay">
Start a replay for a known Fini response event.
</Card>
<Card title="List replays" icon="list" href="/en/api-reference/list-replays">
See every replay created from one original conversation.
</Card>
<Card title="Get replay" icon="message" href="/en/api-reference/get-replay">
Fetch the replay conversation record.
</Card>
<Card title="Get replay events" icon="comments" href="/en/api-reference/get-replay-events">
Fetch the message events created during the replay.
</Card>
</CardGroup>
## Related topics
- [Get replay](/en/api-reference/get-replay.md)
- [Create replay](/en/api-reference/create-replay.md)
- [List replays](/en/api-reference/list-replays.md)
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.
Replays

