Job outcome
Job completed or cancelled
{webhook_url} HMAC-SHA256 signed with the submitting API key’s webhook signing secret over <unix seconds>.<raw body>. Verify timestamp freshness and compare signatures in constant time. Deduplicate by event id. Return any 2xx within 10 seconds. Failed attempts retry after 1m, 5m, 15m, 1h, 3h, 6h, 12h (eight attempts total). Redirects are failures. Delivery is at least once while retries remain; it is not guaranteed after exhaustion.
Sent to the job's webhook_url.
See Webhooks for signature verification code.
Headers
Echo-Event-Idstring RequiredEcho-Event-Typestring Required- One of
- job.completed
- job.cancelled
Echo-Signaturestring Required
Payload
application/jsonidstring Required- matches ^evt_
objectstring Required- One of
- event
typestring Required- One of
- job.completed
- job.cancelled
created_atstring · date-time RequireddataJob Requiredidstring · uuid Requiredobjectstring Required- One of
- job
statusstring Required- One of
- queued
- processing
- completed
- cancelled
progressinteger · nullable Required- 0–100
etastring · date-time · nullable Requiredtitlestring Requiredmediaobject Requiredtypestring Required- One of
- url
- upload
urlstring · nullable Requiredupload_idstring · uuid · nullable Requiredduration_secondsnumber Required
languagestring · nullable Requiredoptionsobject Requiredstylestring Requiredclean removes fillers, false starts, and stutters; verbatim keeps every spoken word.
- One of
- clean
- verbatim
- Default
- clean
modelstring RequiredCaptioning model. Only ave-base is supported.
- One of
- ave-base
- Default
- ave-base
speaker_labelsboolean RequiredIdentify speaker turns. Set false for dialogue without labels.
- Default
- true
speaker_label_stylestring RequiredSRT/VTT labels: >> NAME:, [NAME], NAME:, or dashes without names. Ignored when speaker_labels is false. Transcripts use their native speaker headings; JSON has a separate speaker field.
- One of
- gt_name
- brackets
- colon
- dashes
- Default
- gt_name
atmosphericsboolean RequiredInclude meaningful non-speech sounds. Uses the same add-on pricing as dashboard checkout.
- Default
- true
profanitystring RequiredKeep profanity, mask it (f***), replace it with [expletive], or omit it. Does not alter source audio.
- One of
- as_spoken
- mask
- label
- omit
- Default
- as_spoken
redactionsRedactions RequiredPrivacy controls for caption text, using the same redaction pricing as checkout. Source audio and video are unchanged.
Accepts one of:- Standard replacement
- Custom replacement requires
replacement,custom_replacement
piibooleanRedact personal data such as emails and phone numbers.
- Default
- false
namesbooleanRedact named individuals.
- Default
- false
organizationsbooleanRedact organization names.
- Default
- false
termsarray of stringCustom terms to redact, one term per item; each must be a nonblank single line.
- Default
- []
- ≤ 200 items
replacementstringReplace with [REDACTED], a category such as [EMAIL], nothing, or custom_replacement.
- One of
- redacted
- category_label
- silent
- custom_string
- Default
- category_label
custom_replacementstringRequired when replacement is custom_string. Nonblank, single-line text.
- 1–120 chars
glossaryarray of string Requiredwebhook_urlstring · nullable Required
costobject · nullable Requiredamountstring RequiredDecimal amount in USD, net of refunds.
currencystring Required- One of
- usd
cancellationobject · nullable Requiredreasonstring Required- One of
- unsupported_language
- unsupported_media
- unusable_media
- media_unavailable
- deleted
- not_started
messagestring Required
captionsobject · nullable Requiredsrtstring · uri Requiredvttstring · uri Requiredtxtstring · uri Requireddocxstring · uri Requiredjsonstring · uri Required
metadatamap of string RequiredString values. Defaults: 20 keys of 1–40 characters, values up to 500 characters. These maxima are configurable per workspace.
created_atstring · date-time Requiredcompleted_atstring · date-time · nullable Required
Your response
Acknowledged.