Event Flow
- Events persist until the worker receives a 2xx response.
- Retries use exponential backoff; failures remain in MongoDB for inspection.
- Delivery includes cache scopes so you can invalidate selectively.
Common Event Types
| Event | Trigger | Payload Highlights |
|---|---|---|
collection.documents.written | Engine finishes writing documents to MVS | collection_id, document_ids, index_signature |
object.created | Object registered in a bucket | bucket_id, object_id, metadata snapshot |
batch.completed | Batch processing succeeded | batch_id, collection_ids, counts |
cluster.completed | Clustering run finished | cluster_id, run_id, artifact URIs |
taxonomy.materialized | Taxonomy enrichment completed | taxonomy_id, collection_id, updated_document_count |
/api-reference/webhooks/list-webhooks to see the full catalog.
Create a Webhook
Payload Structure
event_id for deduplication and store payloads for auditing.
Security & Reliability
- Require HTTPS endpoints; reject plaintext URLs.
- Include a shared secret header (
X-Mixpeek-Secret) and verify before processing. - Respond quickly (<10s). Offload heavy work to background jobs and return
200. - Use idempotent handlers; Mixpeek may retry on failure or timeout.
- Monitor webhook delivery with your logging pipeline; correlate by
event_id.
Operational Tips
- Subscribe only to the events you need to reduce noise.
- Combine webhook notifications with the Tasks API for full status context.
- Use cache scopes to invalidate retriever caches efficiently (
collection,namespace, orkey). - Store webhook definitions in infrastructure-as-code so environments stay consistent.
- Alert on sustained non-2xx responses—Mixpeek will keep retrying, but you should fix endpoint issues quickly.
Inbound Webhooks (from upstream providers)
In addition to outbound webhooks (Mixpeek → your endpoint), Mixpeek can receive inbound webhooks from external systems to trigger ingestion and lifecycle events.Sync lifecycle webhooks
Some sync integrations support inbound webhooks for lifecycle events (delete, update) on previously synced assets:| Provider | Endpoint | Events handled | Use case |
|---|---|---|---|
| Mux | POST /v1/webhooks/mux/{connection_id} | video.asset.deleted, video.asset.updated | Cascade-delete bucket objects when a Mux asset is deleted. Re-evaluate metadata filters when asset metadata changes. See Mux integration → Webhooks. |
- Scoped to a single connection by URL path (no Authorization header needed).
- Signatures verified with
hmac.compare_digestand provider-specific HMAC schemes. - Unhandled events acknowledged with
200andhandled: falseso retries stop cleanly.
References
- Create Webhook
- List Webhooks
- Delete Webhook
- Mux cascade-delete webhook
- Tasks – track the jobs that trigger webhook events
- Security – authentication, tenancy, and secret management

