Register a webhook
Create a webhook with an HTTPS endpoint and one or more event types.secret immediately. It is shown only on creation and is used for signature verification.
List active webhooks for an event
Use this endpoint to retrieve enabled webhook subscriptions for a specific event type.curl
Event payload format
Webhook deliveries use JSON with this shape:id: unique event id, use for idempotency/deduplication.event_type: currentlyknowledge.processing.completed.timestamp: event timestamp (Unix seconds).data: event-specific payload.
Signature verification
Each delivery includes aDatagrid-Signature header:
- Read the raw request body exactly as received.
- Parse
tandv1fromDatagrid-Signature. - Compute HMAC SHA-256 using your webhook secret over:
<t>.<raw_body>. - Compare computed digest with
v1using constant-time comparison. - Reject stale timestamps (recommended tolerance: 5 minutes).
Retry behavior and best practices
When delivery fails (network timeout/error or non-2xx response), Datagrid retries asynchronously. Best practices:- Return a
2xxquickly, then process asynchronously. - Treat webhook handling as at least once delivery and dedupe by event
id. - Keep signature verification on every request.
- Log failures with webhook id, event id, and event type.
- Use
enabled=false(update webhook) to temporarily pause delivery without deleting configuration.
Endpoints
- Create webhook
- Retrieve webhook
- List webhooks
GET /webhooks/active(covered above in this overview)- Update webhook
- Delete webhook