Skip to main content
Webhooks let your integration react to activity in a Kit account the moment it happens, instead of polling the API. When an event occurs — a subscriber is created, activated, or joins a form — Kit sends an HTTP POST to a URL you control, with a JSON payload describing what happened.

Core concepts

  • Endpoint — a URL you register to receive deliveries, plus the set of events it listens to. Create and manage endpoints through the V4 API (/v4/webhook_endpoints) or in Kit at app.kit.com/webhooks.
  • Subscription — the link between an endpoint and an event type. One endpoint can subscribe to many events.
  • Event — something that happened in the account (for example subscriber.created). Every event has a UUID id you can use to deduplicate.
  • Delivery — one POST to one endpoint, carrying an array of 1 to 100 events of the same type. Most deliveries carry a single event; bulk activity batches into fewer, larger deliveries.

What a delivery looks like

Every delivery is a POST with a JSON envelope and a signature you can verify:

Webhook endpoints supersede the legacy webhooks API

The V4 API also has an older webhooks resource, /v4/webhooks. Webhook endpoints supersede it: build anything new on /v4/webhook_endpoints, and expect new capabilities to land here only. Superseded doesn’t mean removed. If you already deliver through /v4/webhooks, your integration keeps working — legacy webhooks aren’t going anywhere, and there’s nothing you have to migrate. The two systems run side by side, independently. What you gain by building on webhook endpoints: Use webhook endpoints for every new integration. Existing legacy webhooks can stay exactly as they are — migrate whenever the capabilities above are worth having.

Next steps

Getting started

Create your first endpoint and receive a delivery end to end.

Verifying signatures

Confirm each delivery really came from Kit.

Event types

Browse the events you can subscribe to.

Delivery format

The envelope, headers, and HTTP behavior.