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
urlstringYesHTTPS endpoint KMP will POST events to.
eventsarrayYesList of event types to subscribe to, e.g. ["pipeline.failed"].
secretstringNoShared 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.