MainTargetsWebhook
Webhook Setup
Prerequisites
- HTTP endpoint that accepts POST with
application/json - Authentication credentials (if required)
Setup
Endpoint
- URL: Base endpoint (e.g.,
https://api.example.com/events) - Path Template: Append path with
{schema}and{table}placeholders
Example: https://api.example.com + webhooks/{schema}/{table} → https://api.example.com/webhooks/public/users
Authentication (optional)
| Method | Header |
|---|---|
| Bearer | Authorization: Bearer <token> |
| Basic | Authorization: Basic <base64(user:pass)> |
| Header | Custom name/value (e.g., X-API-Key: secret) |
Message Format
Debezium or Supermetal — see Kafka Message Formats.
Headers
| Header | Default | Description |
|---|---|---|
Idempotency-Key | on | Deterministic deduplication key |
X-Source-Schema | on | Source schema name |
X-Source-Table | on | Source table name |
Configure header names or disable individually.
Idempotency Key
Derived from source table, row identity, and commit timestamp. Retrying the same batch produces the same key. Keys are time-sortable.
For predictable idempotency, keep batch configuration stable. Disable batching (Max Batch Size = 1) for per-row keys.
Static Headers
Add custom headers to every request.
Batching
| Option | Default | Description |
|---|---|---|
| Max Batch Size | 0 (unlimited) | Rows per request |
| Max Payload Bytes | 1 MB | Request body size |
Flushes when either limit triggers. Set Max Batch Size = 1 to disable batching.
Compression
| Value | Content-Encoding |
|---|---|
| None | — |
| Gzip | gzip |
| Zstd | zstd |
| Br | br |
Rate Limiting
| Option | Default | Description |
|---|---|---|
| Max Requests/Second | 0 (unlimited) | Request rate |
| Max Bytes/Second | 0 (unlimited) | Bandwidth |
Retry
Exponential backoff with jitter.
| Option | Default | Description |
|---|---|---|
| Max Retries | 1024 | Attempts (0 = unlimited) |
| Max Retry Duration | 1 hour | Total time (0 = unlimited) |
| Initial Backoff | 1s | First delay |
| Max Backoff | 3 min | Maximum delay |
Timeouts
| Option | Default |
|---|---|
| Request Timeout | 30s |
Last updated on