Refine with AI
Get active Refine with AI session
Get the active Refine with AI session and iteration history for one Fini response.
GET
Returns the active Refine with AI session for one Fini response, including every iteration, generated recommendation, and answer replay. Returns JSON
null when the response has no active session.
Use this route when your UI or automation is anchored to a specific conversation response and needs the current active review, regardless of which iteration was most recently queued.
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 Fini response targeted by the review session. The event must belong to the conversation and have a linked user event.
Request example
Response
Returns aFixReviewSession object or JSON null. iterations is ordered by iterationNumber descending, and latestIteration duplicates its first item for convenient polling.
Using the result
Poll this endpoint untillatestIteration.status reaches a terminal state:
ready: review the replayed answer and proposed changes.no_change: Fini completed the analysis but did not find an actionable prompt, knowledge, or rule fix.failed: inspectlatestIteration.errorbefore retrying or escalating.
ready iteration:
- Compare
latestIteration.oldAnswerSnapshot.contentwithlatestIteration.newAnswerSnapshot.contentto see whether the replay improved the answer. - Use
latestIteration.replayInteractionIdandlatestIteration.replayEventIdto open or fetch the replayed conversation and answer. - Inspect
latestIteration.changes. Each change includeschangeType, a draft ID when Fini created one, androotCausewith the diagnosed failure mode and target details.
FixReviewSession object
FixReviewSession
FixReviewSession
FixIteration
FixIteration
AnswerSnapshot
AnswerSnapshot
FixChange
FixChange
Root cause object
rootCause includes the failure classification and the target Fini should change:
failureStage, such asplanning,knowledge_search,knowledge_content,rule_execution,instruction_resolution, oranswer_generation.failureMode, such asrequired_search_skipped,incorrect_knowledge, orrequired_information_omitted.reasoning, explaining why Fini selected this failure.target.kind, which isprompt,kb_article, orrule.target.operation, which iscreateorupdatewhen the target supports both.- Target-specific identifiers and fields, such as prompt section IDs, knowledge article IDs, editable knowledge fields, or rule IDs.
FixChange record to inspect the generated artifact in the relevant Fini surface. Use rootCause to explain why that artifact was proposed.
Fix-change enum values
changeType can be:
update_promptupdate_rulecreate_articleupdate_article
failureMode depends on failureStage. Common values include required_search_skipped, relevant_knowledge_not_available, incorrect_knowledge, required_rule_behavior_missing, required_instruction_omitted, and required_information_omitted.
Errors
400 Bad Request
400 Bad Request
The event does not belong to the conversation, is not Fini-authored, or has no linked user event for replay.
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 or target event does not exist in the workspace.
500 Internal Server Error
500 Internal Server Error
Fini could not load the Refine with AI session or its related records.

