Transcript Corrections
WizChat automatically detects likely transcription errors in your video content and suggests corrections. You can review and resolve these suggestions — accepting, rejecting, or providing custom replacements — to improve the accuracy of your knowledge base.
This page was auto-drafted during a docs-sync run. Verify dashboard navigation labels against the current product before treating as authoritative.
How corrections work
When a video is transcribed, the system detects spans that may be mis-transcribed and generates candidate replacement words. Each correction has a status:
| Status | Meaning |
|---|---|
suggested_auto | The system has a high-confidence suggestion; not yet reviewed. |
needs_review | Flagged for human review (lower-confidence span). |
accepted | A suggested or candidate word was accepted. |
rejected | The correction was dismissed; the original stands. |
custom | A custom replacement text was applied. |
Accepting a correction, applying custom text, or undoing a previous transcript-changing resolution can trigger a transcript rebuild and re-embedding in the background, so your chatbot's answers reflect the corrected text.
Reviewing corrections via the Management API
List all corrections across a chatbot
GET /api/v1/chatbots/{chatbotId}/corrections
Required scope: documents:read
Returns a flat review queue of corrections across all of the chatbot's videos. Each item includes the video ID, video title, timestamp, original text, suggested replacement, and any candidates. Use the per-video endpoint when you need transcript context snippets around each correction span.
Response includes:
corrections— array ofPublicCorrectionobjectstotals— per-status counts across the chatbottruncated— whether the result was capped (paginate by video if you need all)
List corrections for a single video
GET /api/v1/videos/{videoId}/corrections
Required scope: documents:read
Returns a paginated list of corrections for one video (IDOR-guarded). Includes:
corrections— page ofPublicCorrectionobjectscorrectionTotal— total correction count for the videohasMoreCorrections/correctionPage— pagination signalscorrectionSummary— per-status totals for the videocorrectionReembedStatus— current async correction re-embed status, if any
Each PublicCorrection object includes:
| Field | Description |
|---|---|
id | Correction identifier. |
status | Current status (see table above). |
original | The original transcribed text. |
corrected | The suggested replacement, or null. |
candidates | Alternative candidate replacements. |
charStart / charEnd | Character offsets in the raw transcript. |
context | A short transcript window around the span, with the span marked. |
Resolving a correction
PATCH /api/v1/videos/{videoId}/corrections
Required scope: documents:write
Resolves one correction (IDOR-guarded). You can accept a candidate, reject the suggestion, apply custom text, or undo a previous resolution.
Request body:
| Field | Type | Description |
|---|---|---|
action | string | accept | reject | custom | undo |
correctionId | string | The correction to resolve (alternative to correctionIndex). |
correctionIndex | integer | Position in the correction list (alternative to correctionId). |
pickedCandidate | string | For action: "accept" — the candidate text to apply. |
customText | string | For action: "custom" — the replacement text. |
Response includes transcriptChanged (whether the transcript was modified) and reembedDispatched (whether a background re-embed was triggered).