---
title: "Start transcription"
method: POST
path: "/workspaces/{workspaceId}/consultations/{consultationId}/transcriptions/start"
tags: ["recordings", "transcriptions"]
---

# Start transcription

`POST /workspaces/{workspaceId}/consultations/{consultationId}/transcriptions/start`

## Request

- Base URL: `https://vetnio.com/api/v2`
- URL: `https://vetnio.com/api/v2/workspaces/{workspaceId}/consultations/{consultationId}/transcriptions/start`
- Auth: HTTP bearer

Starts background transcription of every uploaded recording that has not been transcribed yet, in recording-ID order. Uploading audio does not start transcription by itself; call this after your uploads. The endpoint returns immediately with the number of recordings waiting; the work continues after the response. Poll `GET .../consultations/{consultationId}` until `transcriptionStatus` is `completed` or `failed`, then read `GET .../transcription`.

Safe to call repeatedly: transcribed recordings are skipped, recordings another call is already transcribing are not processed twice, and failed recordings are retried (up to 3 attempts in total). If `transcriptionStatus` is still `processing` after about 10 minutes, call it again; jobs that have been running for more than 5 minutes are picked up again. If nothing is waiting, `recordingsProcessed` is `0` and no work starts.

Transcription uses third-party speech-to-text and AI spelling correction. Any member of the workspace can start it; returns `403` for archived consultations.

## Path parameters

- `workspaceId` string, required: Identifier of the clinic (workspace), as returned by `GET /workspaces`. The key's user must be a member of the clinic, or an admin of the organization it belongs to.
- `consultationId` string, required: Identifier of the consultation (UUID), as returned when it was created or by `GET /workspaces/{workspaceId}/consultations`. It must belong to the clinic in `workspaceId`.

## Response `200`

Transcription status with the number of recordings queued for processing.

- TranscriptionStart: Response returned after triggering background transcription for a consultation's recordings.
  - `message` string, required: Human-readable outcome: `Transcription process started` when work was started, or `No untranscribed recordings found` when there was nothing to do. Use `recordingsProcessed` rather than parsing this text.
  - `recordingsProcessed` number, required: Number of recordings waiting for transcription when the call was made. `0` means nothing was started. Recordings that an earlier call is already transcribing are counted but not transcribed twice; recordings that failed permanently are not counted.

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `500`: Internal server error

---

[API](https://skmtc.dev/vetnio/apis/vetnio-api.md) - [All operations](https://skmtc.dev/vetnio/apis/vetnio-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vetnio/apis/vetnio-api/revisions/d004afd5617d?raw)
