> This page is for APIs.

> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# Transcribe state callback

POST 

Sent to the `status_url` of a `calling.transcribe` command when the transcription starts
(`transcribing`) and when it finishes (`finished`). The transcript itself arrives separately, as a
[transcript status callback](/docs/apis/rest/webhooks/transcribe-status-callback).

Status callbacks are advisory, best-effort notifications — delivery can be delayed or fail silently, so don't gate time-critical actions on receiving one. See [Status callback reliability](/docs/platform/webhooks#status-callback-reliability).

Reference: https://signalwire.com/docs/apis/rest/webhooks/transcribe-state-callback

## Request

### Payload

- `event_type` (enum, required) — The type of event. Always `calling.call.transcribe` for transcribe state callbacks.
  - Allowed values: `calling.call.transcribe`
- `event_channel` (string, required) — The channel the event was delivered on.
- `timestamp` (double, required) — When the event was sent, as a Unix timestamp in seconds.
- `project_id` (string, required) — Your project ID.
- `space_id` (string, required) — Your Space ID.
- `params` (WebhooksCallingTranscribeStateStatusCallbackPayloadParams, required) — The transcription operation and its new state.

## Types

### WebhooksCallingTranscribeStateStatusCallbackPayloadParams

The transcription operation and its new state.

- `call_id` (string, required) — ID of the call.
- `node_id` (string, required) — ID of the node the call is on.
- `control_id` (string, required) — The control ID of the transcription operation, as set in `calling.transcribe`.
- `state` (enum, required) — The transcription state. `transcribing` when it starts, `finished` when it ends.
  - Allowed values: `transcribing`, `finished`
- `segment_id` (string, optional) — ID of the call segment. Present when the call has one.
- `tag` (string, optional) — The tag associated with the call. Present only when a tag was set on the call.
- `url` (string, optional) — The URL of the audio recorded for transcription.
- `recording_id` (string, optional) — ID of the recording made for transcription.
- `status_url` (string, optional) — The `status_url` set in `calling.transcribe`.
- `size` (integer, optional) — Size of the recorded audio in bytes. Present only when `state` is `finished`.
- `duration` (integer, optional) — Length of the recorded audio in seconds. Present only when `state` is `finished`.
- `start_time` (double, optional) — When the transcription started, as a Unix timestamp in seconds. Present only when `state` is `finished`.
- `end_time` (double, optional) — When the transcription ended, as a Unix timestamp in seconds. Present only when `state` is `finished`.