State-change deduplication
Why you never receive 500 webhook events for one breakout.
The rule
One event per not-matching → matching transition.
For webhooks, the API tracks the last-known match state per (webhook, ticker) and only delivers an event when a ticker transitions from not-matching to matching. If a flag flickers true → false → true inside a minute, you get one event. If a ticker stays in the match set for three days, you get one event when it first matched and nothing for those three days. To re-fire for that ticker, it has to leave the match set first.
Polling is different
Deduplication is a webhook concept only.
Polling endpoints (/scan, /tickers, /signals) always return current state with no deduplication. If you’re polling and want edge-triggered behavior, diff the result set yourself between calls.
See also
Adjacent topics.
- Webhooks overview — the endpoint catalog.
- Create a subscription — set the cadence at which we evaluate the clause.