Overview
Use webhooks to receive real-time notifications when a task changes state. This lets you react to long-running media processing without polling. To set up a webhook, go to our dashboard and create a new endpoint.- Provider: Svix
- Events:
task.progress
,task.completed
,task.failed
- Payload envelope: common event fields plus
data.task
Event payload
All webhooks share the same envelope. Theevent_type
matches the event you subscribe to and the data
object contains the resource payloads. For task events, only data.task
is populated.
Envelope schema
Task schema
This matches the API responseTaskGetResponse
used throughout the server.
Supported events
task.progress
: One or more features changed state (e.g., queued → processing)task.completed
: All user-facing features reached a terminal success statetask.failed
: One or more user-facing features failed
Set up an endpoint
Create and manage webhook endpoints via API. We use Svix applications per user; your first endpoint creation will provision one if needed. The create response includes the endpoint secret.Create endpoint
POST/webhooks/endpoints
Request
Update endpoint
PUT/webhooks/endpoints/{endpoint_id}
Delete endpoint
DELETE/webhooks/endpoints/{endpoint_id}
→ { "success": true }
Inspect logs (optional)
- GET
/webhooks/messages
— recent webhook messages - GET
/webhooks/delivery-attempts?message_id=...|endpoint_id=...
— delivery attempts - GET
/webhooks/endpoints/{endpoint_id}/deliveries
— legacy endpoint attempts list
Verify signatures
Svix signs requests with headerssvix-id
, svix-timestamp
, and svix-signature
. Always verify before processing. Your endpoint secret comes from the create response (keep it safe). Remove the whsec_
prefix when using verification helpers that expect the raw secret.
Node (TypeScript)
Python (FastAPI)
Testing
Use the Svix dashboard to send test events to your endpoint. If you need a simple echo endpoint for local testing, expose it and verify signatures using the steps above.Notes
- Only
task.*
events are currently published to webhooks - All events are also available via SSE for live dashboards
- Delivery attempts and logs are queryable using our Webhooks API