> ## Documentation Index
> Fetch the complete documentation index at: https://wiz-myvocal.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a transcription

> Read the task state, the transcript and the billing summary.

Returns one transcription from the shared History. Poll this until `status` is `COMPLETED`,
`PARTIAL` or `FAILED`.

### Path

<ParamField path="transcriptionId" type="string" required>
  The `transcriptionId` returned by create, or an id from the History list.
</ParamField>

### Header

<ParamField header="accessKey" type="string" required>
  API key for authentication.
</ParamField>

### Response

Successful REST calls return `{ code: 1, message, data }`. The fields below are inside `data`;
JSON downloads are the documented exception and return the transcript view directly.

<ResponseField name="code" type="number">`1` for success.</ResponseField>
<ResponseField name="message" type="string">Result message.</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="properties" defaultOpen>
    <ResponseField name="transcriptionId" type="string">
      The MyVocal task id.
    </ResponseField>

    <ResponseField name="status" type="string">
      `QUEUED`, `PROCESSING`, `RECONCILING`, `COMPLETED`, `PARTIAL` or `FAILED`. A real-time task reports `COMPLETED`
      when it settled normally.
    </ResponseField>

    <ResponseField name="modelId" type="string">
      `myvocal_stt_v1` for Batch, `myvocal_stt_realtime_v1` for a real-time result.
    </ResponseField>

    <ResponseField name="languageHint" type="string">
      The requested language, or `auto`.
    </ResponseField>

    <ResponseField name="detectedLanguage" type="string">
      The detected language, only when the model returned one; otherwise `null`. It is never copied
      from `languageHint`. Batch results use three-letter codes (for example `eng`); real-time lines
      use two-letter codes (for example `en`).
    </ResponseField>

    <ResponseField name="audioDurationMs" type="string">
      The analysed audio duration, as a decimal string.
    </ResponseField>

    <ResponseField name="transcript" type="object">
      `null` before a result exists; a completed silent recording can have an empty transcript.
      `text`, `languageCode`, `languageConfidence`, `speakers`, `segments` and `channelResults`. Each
      segment carries `id`, `speakerId`, `channelIndex`, `startMs`, `endMs`, `text`, `timingStatus`,
      `tokens` and `characterAlignments`. Entities, the edited text and the per-channel results are
      MyVocal fields; a provider value is never exposed raw. `revisionStatus` is `NOT_REQUESTED`,
      `APPLIED` (edited text in `revisedText`), `EMPTY` or `FAILED` (with `revisionErrorCode`; a
      real-time edit that did not arrive before the session closed is `REVISION_NOT_RECEIVED`). In a
      `combined` channel result, a channel's `languageCode` is `null` unless the model returned a
      language for that channel.
    </ResponseField>

    See [known limitations](/guides/stt-availability) for current parameter-error classification and
    optional-feature behavior. Stop polling terminal tasks; read `billing` to determine actual charges.

    <ResponseField name="billing" type="object">
      The same billing summary as create. `billableCharacters` is what this task actually charges.
    </ResponseField>

    <ResponseField name="error" type="object">
      Present only for `FAILED`: `errorCode`, `message`, `retryable`, `action` and `requestId`.
    </ResponseField>
  </Expandable>
</ResponseField>


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