curl --request GET \
--url 'https://api-prod.usefini.com/v2/fix-review/interactions/0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8/events/f61a9a11-2c3b-4704-8f57-7078854d87cf/sessions/91d2d432-b408-4496-920d-24ad6a1b9e87/public' \
--header 'Authorization: Bearer fini_your_api_key'
import requests
interaction_id = "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8"
event_id = "f61a9a11-2c3b-4704-8f57-7078854d87cf"
session_id = "91d2d432-b408-4496-920d-24ad6a1b9e87"
response = requests.get(
f"https://api-prod.usefini.com/v2/fix-review/interactions/{interaction_id}/events/{event_id}/sessions/{session_id}/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
session = response.json()
const interactionId = "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8";
const eventId = "f61a9a11-2c3b-4704-8f57-7078854d87cf";
const sessionId = "91d2d432-b408-4496-920d-24ad6a1b9e87";
const response = await fetch(
`https://api-prod.usefini.com/v2/fix-review/interactions/${interactionId}/events/${eventId}/sessions/${sessionId}/public`,
{ headers: { Authorization: "Bearer fini_your_api_key" } }
);
const session = await response.json();
{
"id": "a5221094-72d4-4b9c-8d30-2f785b108bd9",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"status": "resolved",
"source": "widget",
"user": {
"name": "Sam Lee",
"email": "[email protected]"
},
"messages": [
{
"role": "user",
"content": "How do refunds work?",
"createdAt": "2026-07-28T08:55:32.000Z"
},
{
"role": "assistant",
"content": "Refunds are available within 30 days.",
"createdAt": "2026-07-28T08:55:40.000Z"
}
],
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Refine with AI
Get Refine with AI session
Get one Refine with AI session by ID, including all iterations and recommendations.
GET
/
v2
/
fix-review
/
interactions
/
{id}
/
events
/
{eventId}
/
sessions
/
{sessionId}
/
public
curl --request GET \
--url 'https://api-prod.usefini.com/v2/fix-review/interactions/0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8/events/f61a9a11-2c3b-4704-8f57-7078854d87cf/sessions/91d2d432-b408-4496-920d-24ad6a1b9e87/public' \
--header 'Authorization: Bearer fini_your_api_key'
import requests
interaction_id = "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8"
event_id = "f61a9a11-2c3b-4704-8f57-7078854d87cf"
session_id = "91d2d432-b408-4496-920d-24ad6a1b9e87"
response = requests.get(
f"https://api-prod.usefini.com/v2/fix-review/interactions/{interaction_id}/events/{event_id}/sessions/{session_id}/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
session = response.json()
const interactionId = "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8";
const eventId = "f61a9a11-2c3b-4704-8f57-7078854d87cf";
const sessionId = "91d2d432-b408-4496-920d-24ad6a1b9e87";
const response = await fetch(
`https://api-prod.usefini.com/v2/fix-review/interactions/${interactionId}/events/${eventId}/sessions/${sessionId}/public`,
{ headers: { Authorization: "Bearer fini_your_api_key" } }
);
const session = await response.json();
{
"id": "a5221094-72d4-4b9c-8d30-2f785b108bd9",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"status": "resolved",
"source": "widget",
"user": {
"name": "Sam Lee",
"email": "[email protected]"
},
"messages": [
{
"role": "user",
"content": "How do refunds work?",
"createdAt": "2026-07-28T08:55:32.000Z"
},
{
"role": "assistant",
"content": "Refunds are available within 30 days.",
"createdAt": "2026-07-28T08:55:40.000Z"
}
],
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Returns one Refine with AI session by ID. Unlike Get active Refine with AI session, this route can retrieve an
active, published, or closed session. Use it after Create Refine with AI iteration returns a sessionId, or when you need to load a known Refine with AI review session from history.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs read scope.Path parameters
string
required
Conversation ID containing the reviewed response.
string
required
ID of the reviewed Fini response.
string
required
Refine with AI session ID returned by Create Refine with AI iteration.
Request example
curl --request GET \
--url 'https://api-prod.usefini.com/v2/fix-review/interactions/0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8/events/f61a9a11-2c3b-4704-8f57-7078854d87cf/sessions/91d2d432-b408-4496-920d-24ad6a1b9e87/public' \
--header 'Authorization: Bearer fini_your_api_key'
import requests
interaction_id = "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8"
event_id = "f61a9a11-2c3b-4704-8f57-7078854d87cf"
session_id = "91d2d432-b408-4496-920d-24ad6a1b9e87"
response = requests.get(
f"https://api-prod.usefini.com/v2/fix-review/interactions/{interaction_id}/events/{event_id}/sessions/{session_id}/public",
headers={"Authorization": "Bearer fini_your_api_key"},
)
session = response.json()
const interactionId = "0b8626b0-4cc8-4a3d-8fc2-f18ad1a4a1a8";
const eventId = "f61a9a11-2c3b-4704-8f57-7078854d87cf";
const sessionId = "91d2d432-b408-4496-920d-24ad6a1b9e87";
const response = await fetch(
`https://api-prod.usefini.com/v2/fix-review/interactions/${interactionId}/events/${eventId}/sessions/${sessionId}/public`,
{ headers: { Authorization: "Bearer fini_your_api_key" } }
);
const session = await response.json();
Response
Returns the sameFixReviewSession shape as the active-session route. The response includes originalAnswerSnapshot, latestIteration, and all iterations ordered newest first.
Use latestIteration.status to decide whether the fix review is still running or ready to inspect. When it is ready, compare latestIteration.oldAnswerSnapshot with latestIteration.newAnswerSnapshot, then inspect latestIteration.changes for generated draft IDs and rootCause details. The response shows the proposed fix and replay result; it does not publish the underlying prompt, knowledge, or rule change.
{
"id": "a5221094-72d4-4b9c-8d30-2f785b108bd9",
"botId": "2a1cf0f0-f35d-46ad-8e61-a15c86b2b312",
"status": "resolved",
"source": "widget",
"user": {
"name": "Sam Lee",
"email": "[email protected]"
},
"messages": [
{
"role": "user",
"content": "How do refunds work?",
"createdAt": "2026-07-28T08:55:32.000Z"
},
{
"role": "assistant",
"content": "Refunds are available within 30 days.",
"createdAt": "2026-07-28T08:55:40.000Z"
}
],
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Errors
400 Bad Request
400 Bad Request
The target event is invalid for fix review, or the session does not belong to the conversation and response supplied in the path.
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.404 Not Found
404 Not Found
The conversation, event, or session does not exist in the workspace.
500 Internal Server Error
500 Internal Server Error
Fini could not load the session or its related records.
Was this page helpful?

