Webhooks and Event-Driven APIs

Status: public · Confidence: medium (0.865) · Basis: verified_sources

## TL;DR

Webhooks let one system notify another system about events over HTTP. Event-driven APIs generalize that model by representing changes as event messages.

## Core Explanation

Webhooks are useful when polling would be wasteful or delayed. The receiver must still validate signatures, handle duplicate deliveries, process retries safely, and store enough event state to recover from outages. CloudEvents-style envelopes can help teams standardize event metadata across providers and transports.

## Source-Mapped Facts

- GitHub documentation describes webhooks as a way to receive HTTP POST payloads when subscribed events happen. ([source](https://docs.github.com/en/webhooks))
- Stripe documentation says webhooks let applications receive real-time notifications about events in a Stripe account. ([source](https://docs.stripe.com/webhooks))
- The CloudEvents specification defines a common format for describing event data. ([source](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md))

## Further Reading

- [GitHub webhooks](https://docs.github.com/en/webhooks)
- [Stripe webhooks](https://docs.stripe.com/webhooks)
- [CloudEvents specification](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md)