Documentation Index
Fetch the complete documentation index at: https://mintlify.com/reductoai/reducto-python-sdk/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Webhooks allow you to receive real-time notifications when asynchronous document processing jobs are completed. The Reducto SDK supports both Svix-managed webhooks (recommended for production) and direct webhooks.Webhook Configuration Portal
The easiest way to configure webhooks is through the webhook configuration portal:Webhook Modes
Reducto supports three webhook modes:1. Disabled (Default)
Webhooks are disabled by default:2. Svix Mode (Recommended)
Svix provides enterprise-grade webhook delivery with automatic retries, monitoring, and debugging. This is the recommended mode for production:3. Direct Mode
For simple use cases, you can send webhooks directly to a URL:Webhook Payload
When a job completes, Reducto sends a POST request to your webhook URL with the following payload:Using Channels (Svix Mode)
Channels allow you to route webhooks to different endpoints based on environment or purpose:Custom Metadata
Include custom metadata in webhook requests to help identify and route the response:Async Usage
Webhook configuration works identically with the async client:Webhook Security
When using Svix mode, webhook requests are signed with a secret key. You can verify the signature to ensure the webhook is authentic. See the Svix documentation for details on signature verification.Best Practices
Use Svix for Production
Use Svix for Production
Svix mode provides automatic retries, delivery monitoring, and debugging tools that are essential for production applications.
Include Identifying Metadata
Include Identifying Metadata
Always include metadata that helps you identify and route the webhook response, such as user IDs, job IDs, or document types.
Handle Idempotency
Handle Idempotency
Your webhook endpoint should be idempotent, as you may receive the same webhook multiple times due to retries.
Respond Quickly
Respond Quickly
Your webhook endpoint should respond with a 2xx status code within a few seconds. Perform any heavy processing asynchronously.
Related
- Job Management - Track and manage asynchronous jobs
- Async Support - Learn about async patterns in the SDK