Job Completed

Sent when an indexing job finishes and every file in it was indexed or skipped. The job's final status is completed and data.error_code is null.

Every file from the job is searchable when this event arrives. Jobs that include video or audio send the event after embedding finishes, so the media is searchable too.

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

postWebhookwebhookEvents_jobCompleted

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.