Accessing the Svix dashboard
You can access your Svix webhook dashboard in two ways:- Via Studio
- Via API
In Reducto Studio, go to Account → Webhooks. This opens your Svix dashboard directly.
Adding an endpoint
In the Svix dashboard, click + Add Endpoint to configure where webhooks are delivered:

Submitting jobs with webhooks
When submitting async jobs, include the webhook configuration:/parse_async, /extract_async, /split_async, /pipeline_async.
Viewing deliveries
When a job completes, Reducto sends anasync.update event to Svix, which delivers it to your endpoint. You can monitor deliveries in the dashboard:

- Delivery stats: Success/failure rates
- Message attempts: Each delivery with timestamp and status
- Signing secret: For verifying webhooks in your handler
Webhook payload
Your endpoint receives:status is either Completed or Failed. Use job_id to retrieve results.
Handling webhooks with signature verification
Always verify webhook signatures in production. Get your signing secret from the Svix dashboard (starts withwhsec_):
Channel routing
Use channels to route webhooks to different endpoints (e.g., production vs development):Troubleshooting
Webhooks not received
Webhooks not received
- Check the Svix dashboard “Message Attempts” for delivery status
- Verify your endpoint URL is publicly accessible
- Ensure your endpoint returns 2xx status codes within 15 seconds
Signature verification failing
Signature verification failing
- Verify you’re using the correct secret from the Svix dashboard
- Pass the raw request body (not parsed JSON) to verification
- Check all three headers are present:
svix-id,svix-timestamp,svix-signature
Webhook timeouts
Webhook timeouts
Return 2xx immediately and process results asynchronously. Svix expects responses within 15 seconds.
How do I replay a failed webhook?
How do I replay a failed webhook?
In the Svix dashboard, click on a failed message attempt and use the “Resend” button to replay it.
Best practices
- Always verify signatures in production
- Return quickly (within 15 seconds), process results asynchronously
- Be idempotent: Svix may retry, use
svix-idheader as idempotency key - Use HTTPS for your webhook endpoint