Delivery Format
Talonic webhooks are HTTP POST requests with a JSON body and headers for event type, HMAC signature, and delivery ID. See the exact request format.
Every Talonic webhook is delivered as an HTTP POST request with an application/json body containing four top-level fields: event (the event type), delivery_id (unique per delivery), timestamp (ISO 8601), and data (the event-specific payload). Configure webhook URLs workspace-wide or per-source via [webhook configurations](list-webhook-configs), or per-extraction via the webhook_url option on POST /v1/extract.
Each delivery carries these headers: Content-Type: application/json, X-Talonic-Event (the event type, useful for routing), X-Talonic-Delivery (unique delivery ID for idempotency), User-Agent: Talonic-Webhooks/1.0, and, when a signing secret is configured, X-Talonic-Signature (HMAC-SHA256 of the raw body). Your endpoint must return a 2xx status within 30 seconds or the attempt is considered failed and retried.
Most integrations configure a single webhook endpoint that handles all event types, using the X-Talonic-Event header to route internally. A typical setup is one persistent webhook configuration for extraction.complete and extraction.failed, plus ad-hoc webhook_url overrides on POST /v1/extract for request-specific callbacks.
Pair the delivery format with the [Signature Verification](webhook-security) guide to authenticate incoming payloads, and see the [Retry Policy](webhook-retry) for the backoff schedule applied to failed deliveries. The full format is also available machine-readably at GET /v1/webhooks/delivery.
X-Talonic-Delivery header to deduplicate webhook deliveries on your end. Retries reuse the same delivery ID, so you can safely discard duplicates.