curl --request GET \
--url 'https://api-prod.usefini.com/v2/replays/9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625/events/public' \
--header 'Authorization: Bearer fini_your_api_key'
import requests
replay_id = "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625"
response = requests.get(
f"https://api-prod.usefini.com/v2/replays/{replay_id}/events/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
events = response.json()
const replayId = "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625";
const response = await fetch(
`https://api-prod.usefini.com/v2/replays/${replayId}/events/public`,
{
headers: {
Authorization: "Bearer fini_your_api_key",
},
}
);
const events = await response.json();
[
{
"id": "0b3a0bf5-c044-487f-93c3-fd4a8452fe96",
"companyId": "6bc9f4f8-3564-4a9c-8cc0-ea1f1dd66c2d",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"interactionId": "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625",
"role": "user",
"type": "message",
"createdAt": "2026-07-30T12:18:03.511Z",
"content": "How do refunds work?",
"externalCreatedAt": 1785416132511
},
{
"id": "69e64e28-6fd7-47ab-806d-f573a975188f",
"companyId": "6bc9f4f8-3564-4a9c-8cc0-ea1f1dd66c2d",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"interactionId": "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625",
"role": "finibot",
"type": "message",
"createdAt": "2026-07-30T12:18:14.904Z",
"content": "Refunds are available within 30 days.",
"originalEventId": "f61a9a11-2c3b-4704-8f57-7078854d87cf"
}
]
Replays
Get replay events
Fetch the events for one replay conversation.
GET
/
v2
/
replays
/
{id}
/
events
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/replays/9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625/events/public' \
--header 'Authorization: Bearer fini_your_api_key'
import requests
replay_id = "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625"
response = requests.get(
f"https://api-prod.usefini.com/v2/replays/{replay_id}/events/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
events = response.json()
const replayId = "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625";
const response = await fetch(
`https://api-prod.usefini.com/v2/replays/${replayId}/events/public`,
{
headers: {
Authorization: "Bearer fini_your_api_key",
},
}
);
const events = await response.json();
[
{
"id": "0b3a0bf5-c044-487f-93c3-fd4a8452fe96",
"companyId": "6bc9f4f8-3564-4a9c-8cc0-ea1f1dd66c2d",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"interactionId": "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625",
"role": "user",
"type": "message",
"createdAt": "2026-07-30T12:18:03.511Z",
"content": "How do refunds work?",
"externalCreatedAt": 1785416132511
},
{
"id": "69e64e28-6fd7-47ab-806d-f573a975188f",
"companyId": "6bc9f4f8-3564-4a9c-8cc0-ea1f1dd66c2d",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"interactionId": "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625",
"role": "finibot",
"type": "message",
"createdAt": "2026-07-30T12:18:14.904Z",
"content": "Refunds are available within 30 days.",
"originalEventId": "f61a9a11-2c3b-4704-8f57-7078854d87cf"
}
]
Returns the formatted events for one replay conversation. Use this after Get replay when you need the replayed messages and execution details rather than only the replay conversation metadata.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs read scope.Path parameters
string
required
Replay conversation ID whose events you want to fetch.
curl --request GET \
--url 'https://api-prod.usefini.com/v2/replays/9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625/events/public' \
--header 'Authorization: Bearer fini_your_api_key'
import requests
replay_id = "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625"
response = requests.get(
f"https://api-prod.usefini.com/v2/replays/{replay_id}/events/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
events = response.json()
const replayId = "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625";
const response = await fetch(
`https://api-prod.usefini.com/v2/replays/${replayId}/events/public`,
{
headers: {
Authorization: "Bearer fini_your_api_key",
},
}
);
const events = await response.json();
Response
Returns an array of formatted event objects.string
Event ID.
string
Replay conversation ID that owns the event.
enum
Event sender role, such as
user or finibot.string
Message content for the event, when present.
string
Original conversation event copied into or referenced by the replay, when present.
[
{
"id": "0b3a0bf5-c044-487f-93c3-fd4a8452fe96",
"companyId": "6bc9f4f8-3564-4a9c-8cc0-ea1f1dd66c2d",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"interactionId": "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625",
"role": "user",
"type": "message",
"createdAt": "2026-07-30T12:18:03.511Z",
"content": "How do refunds work?",
"externalCreatedAt": 1785416132511
},
{
"id": "69e64e28-6fd7-47ab-806d-f573a975188f",
"companyId": "6bc9f4f8-3564-4a9c-8cc0-ea1f1dd66c2d",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"interactionId": "9d4bbcf7-e7e1-44a6-9a64-ff0a12dfe625",
"role": "finibot",
"type": "message",
"createdAt": "2026-07-30T12:18:14.904Z",
"content": "Refunds are available within 30 days.",
"originalEventId": "f61a9a11-2c3b-4704-8f57-7078854d87cf"
}
]
Errors
401 Unauthorized
401 Unauthorized
The API key is missing, malformed, revoked, or invalid.
403 Forbidden
403 Forbidden
The API key does not include the
read scope required for this route.500 Internal Server Error
500 Internal Server Error
Fini failed while loading events for the replay conversation.
Was this page helpful?

