A webhook is the reverse of an API call. Instead of your system asking Stell what changed, Stell tells you the moment it happens: an HTTP request to a URL you own, carrying a small JSON payload about one event. Nothing to poll, nothing to schedule, and no window in which your CRM believes something that stopped being true.
Three events cover the pass lifecycle. A pass created event fires when a pass is issued, whatever issued it: the portal, an enrollment page, or the API. A pass status changed event fires on every move between lifecycle states, and carries both the new and the previous status, so the enrollment moment (the customer actually adding the pass to Apple Wallet or Google Wallet) is a single transition you can filter on rather than a state you have to infer. A transaction created event fires when a member is identified or a purchase is recorded against their pass, which is how a tap at the till becomes a row in your own database.
Payloads carry identifiers, not personal data. Linking a delivery back to a customer in your system is done with an external ID you set when the pass is issued, which is echoed back on every pass event. That keeps the customer record where it belongs, in your CRM, while the pass stays in step with it.
Delivery is at-least-once, which is the property worth understanding before you build the receiver. Every event reaches your endpoint at least once, and occasionally twice, because a retry can land after you processed the original but before your acknowledgment got back. Each delivery carries an ID that stays stable across retries, so the endpoint deduplicates on it and processing the same event twice cannot double a points balance. Deliveries are also signed, so you can verify a request genuinely came from Stell before acting on it.
Webhooks are what make a pass a live part of the stack rather than a screenshot of it. Together with the API and CRM sync, they close the loop: your system changes the member, the pass follows through a push update, the member uses it, and the event comes straight back to you.

