Skip to main content
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 a FixReviewSession 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 until latestIteration.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: inspect latestIteration.error before retrying or escalating.
For a ready iteration:
  • Compare latestIteration.oldAnswerSnapshot.content with latestIteration.newAnswerSnapshot.content to see whether the replay improved the answer.
  • Use latestIteration.replayInteractionId and latestIteration.replayEventId to open or fetch the replayed conversation and answer.
  • Inspect latestIteration.changes. Each change includes changeType, a draft ID when Fini created one, and rootCause with the diagnosed failure mode and target details.
The session response does not apply the fix. A prompt, knowledge, or rule recommendation becomes live only after the corresponding draft is reviewed and published.

FixReviewSession object

Root cause object

rootCause includes the failure classification and the target Fini should change:
  • failureStage, such as planning, knowledge_search, knowledge_content, rule_execution, instruction_resolution, or answer_generation.
  • failureMode, such as required_search_skipped, incorrect_knowledge, or required_information_omitted.
  • reasoning, explaining why Fini selected this failure.
  • target.kind, which is prompt, kb_article, or rule.
  • target.operation, which is create or update when the target supports both.
  • Target-specific identifiers and fields, such as prompt section IDs, knowledge article IDs, editable knowledge fields, or rule IDs.
Use the draft ID on the 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_prompt
  • update_rule
  • create_article
  • update_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

The event does not belong to the conversation, is not Fini-authored, or has no linked user event for replay.
The API key is missing, malformed, revoked, or invalid.
The API key does not include the read scope required for this route.
The conversation or target event does not exist in the workspace.
Fini could not load the Refine with AI session or its related records.