All Glossary Terms
Core

What is a webhook?

A webhook is an HTTP POST request that one service sends to another to notify it that an event has occurred. Instead of polling — repeatedly asking "has anything changed?" — the source pushes a request to a URL you control as soon as something happens. Webhooks power how Stripe announces a payment, how GitHub announces a commit, how Shopify announces an order. The contract is the JSON payload shape plus the headers (signature, event ID, timestamp); your handler responds with HTTP 200 to confirm receipt.

A webhook is an HTTP callback. Instead of your application repeatedly asking a service "has anything changed yet?" — which is what polling does — the service sends an HTTP POST request to a URL you control as soon as something happens. The body of that request describes the event.

The pattern is sometimes called "reverse API" or "push API," but those terms predate the word "webhook," which Jeff Lindsay coined in 2007. The shape is: you register a URL with the source system, the source system POSTs JSON (usually) to that URL whenever a relevant event fires, and your handler responds with HTTP 200 to confirm receipt.

Webhooks are how Stripe tells your server a payment succeeded, how GitHub tells your CI a commit landed, how Shopify tells your fulfillment system an order was placed. They replace the alternative — your server hammering Stripe's API every 30 seconds asking "did anything happen?" — which is wasteful, slow, and rate-limit-prone.

Three things define a webhook in practice. First, directionality: the source initiates, your endpoint receives. Second, the URL is yours: you publish a public HTTPS URL, the source dials it. Third, the contract is the payload shape plus the headers: the source documents what JSON fields and what headers (signature, event ID, timestamp) it will send, and your handler parses accordingly.

What makes webhooks operationally tricky is that they are unsolicited inbound HTTP from someone else's server, on a URL you must keep online forever. They have to be authenticated (signature verification), idempotent (the same event may arrive multiple times because of retries), fast (most providers timeout in 3-30 seconds), and observable (when one fails at 2am, you need to know which one and why). The rest of this glossary covers those concerns.

See Webhook in real traffic

WebhookWhisper captures every webhook with full headers, body, signature, and timing — so concepts like webhook stop being abstract and become something you can inspect.

Start Free