Webhooks endpoint v2
Subscribe to platform lifecycle events — such as pipeline.completed or connector.error — as outbound HTTP requests to a URL you control. This is the v2 replacement for v1's polling-only status checks; see the Migration guide if you're moving off v1.
Create a webhook subscription
POST /v2/webhooks
| Name | Type | Required | Description |
|---|---|---|---|
url | string | Yes | HTTPS endpoint KMP will POST events to. |
events | array | Yes | List of event types to subscribe to, e.g. ["pipeline.failed"]. |
secret | string | No | Shared secret used to sign the X-KMP-Signature header. Auto-generated if omitted. |
webhook-payload.json
json
{
"id": "evt_wh_2091",
"type": "pipeline.failed",
"occurred_at": "2026-08-18T09:14:02Z",
"data": { "pipeline_id": "pl_ingest_orders", "error": "destination_timeout" }
}
Verify the signature
Always verify X-KMP-Signature before trusting a webhook payload. Unsigned or unverifiable requests to your endpoint should be rejected, not processed.
Delivery retries
A webhook delivery that doesn't receive a 2xx response is retried with exponential backoff for up to 24 hours, then marked failed. Failed deliveries are visible per-subscription and can be manually redelivered.
On this page