> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usetuner.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Re-score Transcription Accuracy

> Re-score one clip-replay call against the clips' current transcripts.

Runs synchronously (a text comparison only) and returns the refreshed accuracy block.
Clip edits never re-score on their own; this is how an outdated score is brought up to
date. On an unexpected error the old score is left untouched.



## OpenAPI

````yaml https://api.usetuner.ai/public/openapi.json post /api/v1/workspaces/{workspace_id}/agents/{agent_id}/calls/{call_id}/transcription-accuracy/rescore
openapi: 3.1.0
info:
  title: Tuner API
  description: >-
    Send calls to Tuner and manage agents, evaluation settings, simulations and
    workspace settings.
  version: 1.0.0
servers:
  - url: https://api.usetuner.ai
security: []
tags:
  - name: calls
    description: Send call recordings and transcripts to Tuner and retrieve call details.
    x-group: Calls
  - name: workspaces
    description: >-
      Manage your workspaces, the API keys used to access them, and their PII
      redaction and data retention settings.
    x-group: Workspaces
  - name: simulation
    description: >-
      Run simulated calls against your agents, manage simulation profiles, and
      look up the caller personas and background-noise environments they can
      use.
    x-group: Simulation
  - name: scenarios
    description: Manage the test scenarios that simulated calls follow.
    x-group: Scenarios
  - name: replay-testing
    description: >-
      Replay recorded caller audio against a new version of your agent: upload
      or extract voice clips from real calls, then run them as replay runs.
    x-group: Replay Testing
  - name: agents
    description: Create, update and list the voice agents connected to your workspace.
    x-group: Agents
  - name: agent-settings
    description: >-
      Configure how Tuner evaluates an agent's calls, including evaluations,
      call outcomes, intents, data extraction, rules and alerts, plus the
      agent's SIP and outbound call configuration.
    x-group: Agent Settings
  - name: traces
    description: Send OpenTelemetry traces from your agent to Tuner.
    x-group: Traces
  - name: providers
    description: List the voice providers Tuner can connect to.
    x-group: Providers
paths:
  /api/v1/workspaces/{workspace_id}/agents/{agent_id}/calls/{call_id}/transcription-accuracy/rescore:
    post:
      tags:
        - calls
        - calls
      summary: Re-score Transcription Accuracy
      description: >-
        Re-score one clip-replay call against the clips' current transcripts.


        Runs synchronously (a text comparison only) and returns the refreshed
        accuracy block.

        Clip edits never re-score on their own; this is how an outdated score is
        brought up to

        date. On an unexpected error the old score is left untouched.
      operationId: >-
        rescore_call_transcription_accuracy_api_v1_workspaces__workspace_id__agents__agent_id__calls__call_id__transcription_accuracy_rescore_post
      parameters:
        - name: call_id
          in: path
          required: true
          schema:
            type: integer
            description: Tuner's internal numeric ID for the call.
            title: Call Id
          description: Tuner's internal numeric ID for the call.
        - name: agent_id
          in: path
          required: true
          schema:
            type: integer
            description: Tuner's internal numeric ID for the agent.
            title: Agent Id
          description: Tuner's internal numeric ID for the agent.
        - name: workspace_id
          in: path
          required: true
          schema:
            type: integer
            description: Workspace ID. Find this in Workspace > General Settings.
            title: Workspace Id
          description: Workspace ID. Find this in Workspace > General Settings.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscriptionAccuracy'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                detail: Not authenticated
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: You do not have access to this workspace.
          content:
            application/json:
              example:
                detail: User does not have access to workspace 42
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Agent not found, or the call is not a replay of this agent.
          content:
            application/json:
              example:
                detail: Call with ID 88 not found
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            The call can't be scored (the reason is in the message); its old
            score was removed. Also returned, with nothing removed, while the
            replay is still running.
          content:
            application/json:
              example:
                detail: >-
                  This call can't be scored: the clips it played have fewer than
                  10 words to compare.
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - Bearer: []
components:
  schemas:
    TranscriptionAccuracy:
      properties:
        score:
          type: number
          title: Score
          description: Accuracy from 0 to 1 (1 minus the error rate, floored at 0)
        error_rate:
          type: number
          title: Error Rate
          description: Raw word error rate. Can exceed 1 when much noise was transcribed
        band:
          type: string
          enum:
            - good
            - fair
            - poor
          title: Band
          description: Quality band for the score
        reference_word_count:
          type: integer
          title: Reference Word Count
          description: Words the caller said (after cleaning)
        hypothesis_word_count:
          type: integer
          title: Hypothesis Word Count
          description: Words the agent heard (after cleaning)
        wrong_count:
          type: integer
          title: Wrong Count
          description: Caller words that were misheard
        missed_count:
          type: integer
          title: Missed Count
          description: Caller words that were not transcribed
        extra_count:
          type: integer
          title: Extra Count
          description: Transcribed words the caller did not say
        errors:
          items:
            $ref: '#/components/schemas/TranscriptionErrorEntry'
          type: array
          title: Errors
          description: >-
            Up to 50 mismatches in reading order. See `error_entry_count` for
            the total
        error_entry_count:
          type: integer
          title: Error Entry Count
          description: >-
            Total number of mismatch entries, including those beyond the 50
            stored
        language:
          type: string
          title: Language
          description: Language code the comparison used
        stt_provider:
          anyOf:
            - type: string
            - type: 'null'
          title: Stt Provider
          description: Raw speech-to-text provider name. Null when not reported
        stt_model:
          anyOf:
            - type: string
            - type: 'null'
          title: Stt Model
          description: Raw speech-to-text model name. Null when not reported
        partial_playback:
          type: boolean
          title: Partial Playback
          description: True when the call ended before every clip was played
        clips_total:
          type: integer
          title: Clips Total
          description: Clips in the set when the call was scored
        clips_scored:
          type: integer
          title: Clips Scored
          description: Clips that were played and compared
        clips_verified:
          type: integer
          title: Clips Verified
          description: How many of the scored clips are human-verified right now
        last_verified_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Verified At
          description: Latest verification time among the verified scored clips
        clips:
          items:
            $ref: '#/components/schemas/TranscriptionClipReference'
          type: array
          title: Clips
          description: The scored clips in playback order, with their current text
        is_outdated:
          type: boolean
          title: Is Outdated
          description: >-
            True when clip transcripts were edited or verified after this call
            was scored, or the scoring rules changed. Re-score the call to use
            the current transcripts. False when the clip set no longer exists
        calculated_at:
          type: string
          format: date-time
          title: Calculated At
          description: When the score was calculated
      type: object
      required:
        - score
        - error_rate
        - band
        - reference_word_count
        - hypothesis_word_count
        - wrong_count
        - missed_count
        - extra_count
        - error_entry_count
        - language
        - partial_playback
        - clips_total
        - clips_scored
        - clips_verified
        - is_outdated
        - calculated_at
      title: TranscriptionAccuracy
      description: >-
        How accurately the agent's speech-to-text heard the replayed caller
        clips.


        The score fields are stored when the call was scored. The verification
        fields, ``clips``

        and ``is_outdated`` are read live from the clip set. Absent (null) on
        the parent when the

        call has no score.
    ErrorResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Human-readable description of what went wrong.
      type: object
      required:
        - detail
      title: ErrorResponse
      description: Error body returned when a request fails.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TranscriptionErrorEntry:
      properties:
        kind:
          type: string
          enum:
            - wrong
            - missed
            - extra
          title: Kind
          description: >-
            'wrong' = misheard (a different word was transcribed), 'missed' =
            said but not transcribed, 'extra' = transcribed but not said
        said:
          anyOf:
            - type: string
            - type: 'null'
          title: Said
          description: What the caller said (original clip text). Null for 'extra'
        heard:
          anyOf:
            - type: string
            - type: 'null'
          title: Heard
          description: What the agent heard (transcribed text). Null for 'missed'
        clip_index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Clip Index
          description: turn_index of the clip that owns the said words. Null for 'extra'
        from_verified_clip:
          type: boolean
          title: From Verified Clip
          description: True when the owning clip's reference text was human-verified
      type: object
      required:
        - kind
        - from_verified_clip
      title: TranscriptionErrorEntry
      description: >-
        One mismatch between what the caller said and what the agent's
        speech-to-text heard.
    TranscriptionClipReference:
      properties:
        turn_index:
          type: integer
          title: Turn Index
          description: Zero-based position of the clip within the set
        reference_transcript:
          anyOf:
            - type: string
            - type: 'null'
          title: Reference Transcript
          description: Current reference text of the clip. Null when it has no text
        verified:
          type: boolean
          title: Verified
          description: True when the clip's text was human-verified
      type: object
      required:
        - turn_index
        - verified
      title: TranscriptionClipReference
      description: >-
        Current reference text of one scored clip (live data, not frozen at
        scoring time).
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    Bearer:
      type: http
      description: >-
        Use Tuner API key (tr_api_...) or user session token. Find your API key
        in Workspace Settings > API Keys.
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.