---
title: "Create a transcribe"
method: POST
path: "/transcribes"
tags: ["Transcribe"]
---

# Create a transcribe

`POST /transcribes`

Starts a transcription of the given reference (call, confbridge, or recording) and returns the result. Duplicate behavior differs by reference type: for a recording that already has a transcribe in the requested language, the existing transcribe is returned (200); for a call/confbridge that already has a progressing live transcribe in the requested language, the request is rejected with 409. Stop the existing transcribe first, or start with a different language.

## Request body

- object
  - `reference_type` 'unknown' | 'recording' | 'call' | 'confbridge', required
  - `reference_id` string, required — The ID of the reference for the transcription.
  - `language` string, required — The language of the transcription.
  - `direction` 'both' | 'in' | 'out'
  - `provider` '' | 'gcp' | 'aws'
  - `on_end_flow_id` string, uuid — The flow to execute when the transcription ends. The flow ID returned from the POST /flows or GET /flows response. If omitted, no follow-up flow is executed.

## Response `200`

The created transcribe details.

- TranscribeManagerTranscribe
  - `id` string, uuid — The unique identifier of the transcribe session. Returned from the `POST /transcribes` or `GET /transcribes` response.
  - `customer_id` string, uuid — The unique identifier of the customer who owns this transcribe session. Returned from the `GET /customers` response.
  - `activeflow_id` string, uuid — The unique identifier of the activeflow associated with this transcribe session. Returned from the `POST /activeflows` or `GET /activeflows` response.
  - `on_end_flow_id` string, uuid — The unique identifier of the flow to execute when the transcribe session ends. Returned from the `POST /flows` or `GET /flows` response.
  - `reference_type` 'unknown' | 'recording' | 'call' | 'confbridge'
  - `reference_id` string, uuid — The unique identifier of the resource being transcribed (call, conference, or recording). Returned from the corresponding resource endpoint.
  - `status` 'progressing' | 'done'
  - `language` string — BCP47 type's language code.
  - `direction` 'both' | 'in' | 'out'
  - `provider` '' | 'gcp' | 'aws'
  - `tm_create` string, date-time — Timestamp when created
  - `tm_update` string, date-time — Timestamp when updated
  - `tm_delete` string, date-time — Timestamp when deleted

## Other responses

- `400` — Invalid request (INVALID_ARGUMENT).
- `401` — Authentication required (UNAUTHENTICATED).
- `409` — State conflict (ALREADY_EXISTS or FAILED_PRECONDITION).
- `500` — Internal error (INTERNAL).

## Changes

- **2026-07-07** `b4f405c60dc3` — 1 info
  - added the non-success response with the status `409`
- **2026-06-16** `9d9cbd71ad4c` — 5 breaking, 1 info
  - added `#/components/schemas/TranscribeManagerTranscribeDirection` to the `direction` request property `allOf` list
  - removed the enum value `both` of the request property `direction`
  - removed the enum value `in` of the request property `direction`
  - removed the enum value `out` of the request property `direction`
  - …2 more
- **2026-06-15** `bbde602eb171` — 1 breaking, 1 info
  - the `on_end_flow_id` request property type/format changed from `string`/`` to `string`/`uuid`
  - the request property `on_end_flow_id` became optional
- **2026-05-30** `995c56ba9219` — 4 breaking, 1 warning, 5 info
  - request property `direction` was restricted to a list of enum values
  - the request property `direction` became required
  - the request property `on_end_flow_id` became required
  - the `direction` request property type/format changed from ``/`` to `string`/``
  - …6 more

[Change history](https://skmtc.dev/voipbin/apis/voipbin-api/changes/transcribes/post.md)

---

[API](https://skmtc.dev/voipbin/apis/voipbin-api.md) · [All operations](https://skmtc.dev/voipbin/apis/voipbin-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/voipbin/voipbin-api/revisions/48dafc7da0a6/schema)
