Orders

Order state changed

Sent to the order's webhook_url every time the order changes state. Configured per order at creation — there is no workspace-level setup, and unlike meeting webhooks the request is not signed and carries no event envelope.

Delivery is fire-and-forget: the response status is not checked, and only network-level failures are retried. Retrieve the order for full failure details.

postWebhookorder.state_changed

Payload

idstring

Identifier of the order that changed state.

state'incomplete' | 'waiting_for_payment' | 'submitted' | 'locked' | 'fulfilled' | 'failed' | 'canceled' | 'expired' | 'free_trial_submitted' | 'free_trial_fulfilled'

New state of the order. See the order resource for the meaning of each state.

failure_reason'ingestion_failed' | 'transcription_failed' | 'unknown'

Only present when state is failed.

Example payload

{
  "id": "10b1edd9381d4a00a3d0db1ca1b3d0cf",
  "state": "fulfilled"
}

Response

The response status is not checked; return any status. Only network-level delivery failures are retried.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.