Job Failed

Sent when an indexing job fails. The job's final status is failed.

data.error_code says why. all_files_failed means every file failed and nothing from the job was indexed. embedding_stalled means the job's video or audio files never finished embedding, so nothing was indexed. execution_failed means the job stopped with an error, and data.files.indexed counts any files indexed before it stopped. Fetch the job at data.url for the per-file errors, then retry.

Each indexing job sends exactly one event, when it reaches its final status. See Webhooks to add an endpoint and verify signatures.

postWebhookwebhookEvents_jobFailed

Headers

webhook-idstring required

A unique id for this message. It stays the same on every retry and resend. Deduplicate on it.

webhook-timestampstring required

When this attempt was sent, in Unix seconds.

webhook-signaturestring required

One or more space-separated signatures, each v1, followed by a base64 HMAC-SHA256 of {webhook-id}.{webhook-timestamp}.{body} made with the endpoint's signing secret.

Payload

idstring required

evt_ followed by the job id. The same for every delivery of this job's event.

type'job.completed' | 'job.completed_with_errors' | 'job.failed' | 'job.timed_out' | 'job.cancelled' required

The event name.

timestampstring date-time required

When the job finished, in ISO 8601 UTC.

Response

Webhook received successfully

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.