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

# Create partial transcription

`POST /workspaces/{workspaceId}/consultations/{consultationId}/partial-transcriptions`

## Request

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

Adds text to the consultation's transcript as a new partial transcription. The text is stored as-is, merged into the full transcript immediately (ordered by creation time among the audio recordings), and used by later document generation. The text is not spell-checked or otherwise changed, and adding it does not start audio transcription.

Not idempotent: every call adds another entry, and there is no endpoint to edit or remove a partial transcription, so retry only when you know the first call failed. 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`.

## Request body

- object
  - `text` string, required: Text to add to the transcript verbatim, 1 to 50,000 characters. Typical uses: notes typed during the visit, an owner's SMS or email, or a transcript produced by your own speech-to-text.
  - `languageCode` 'sv' | 'en' | 'af' | 'am' | 'ar' | 'hy' | 'as' | 'ast' | 'az' | 'be' | 'bn' | 'bs' | 'bg' | 'my' | 'yue' | 'ca' | 'ceb' | 'ny' | 'zh' | 'hr' | 'cs' | 'da' | 'nl' | 'et' | 'fil' | 'fi' | 'fr' | 'ff' | 'gl' | 'lg' | 'ka' | 'de' | 'el' | 'gu' | 'ha' | 'he' | 'hi' | 'hu' | 'is' | 'ig' | 'id' | 'ga' | 'it' | 'ja' | 'jv' | 'kea' | 'kn' | 'kk' | 'km' | 'ko' | 'ku' | 'ky' | 'lo' | 'lv' | 'ln' | 'lt' | 'luo' | 'lb' | 'mk' | 'ms' | 'ml' | 'mt' | 'mi' | 'mr' | 'mn' | 'ne' | 'nso' | 'no' | 'oc' | 'or' | 'ps' | 'fa' | 'pl' | 'pt' | 'pa' | 'ro' | 'ru' | 'sr' | 'sn' | 'sd' | 'sk' | 'sl' | 'so' | 'es' | 'sw' | 'tl' | 'ta' | 'tg' | 'te' | 'th' | 'tr' | 'uk' | 'umb' | 'ur' | 'uz' | 'vi' | 'cy' | 'wo' | 'xh' | 'zu': Language of the text, as one of the supported lowercase ISO 639 codes. Defaults to `en`. Stored in the generated `recordingId`; the text itself is not translated.

## Response `200`

Confirmation with the generated recording ID for the new partial transcription.

- PartialTranscriptionCreated: Confirmation returned after creating a text-only partial transcription. The text is normally added to the full transcript straight away and used by later document generation; `message` says so when the consultation is being moved or erased and the transcript has not been updated yet.
  - `success` boolean, required: Always `true` when the partial transcription was created successfully.
  - `recordingId` string, required: Generated ID of the new text partial transcription, in the form `<epoch-ms>-<uuid>-text-<language>`.
  - `message` string, required: Human-readable confirmation message. It says so when the text is stored but not yet in the consultation transcript because the consultation is being moved or erased.

## 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)
