Skip to main content

What webhooks do not cover

Webhooks are a signal to reconcile, not a complete change feed. The gaps below are deliberate. Plan for them: keep a periodic reconciliation against GET /status-updates, GET /sent-cases, and GET /received-referrals — those endpoints remain the authority on the state of a case. See Reliability for delivery guarantees and Event catalog for what each event carries.

Subscription features

Changes that produce no event, or fewer than you expect

Events that stop without notice

isActive is not a health check. It means only that you have not disabled the subscription and that the circuit breaker has not tripped — it does not prove your firm is currently a webhook recipient. And you cannot read it back while your firm’s access is revoked, because the same condition stops your keys from authenticating. Contact help@casexchange.com if you cannot explain a silence.

changedFields is not a value diff

PATCH /sent-cases/{id} reports the columns it wrote in changedFields, not the columns whose values changed. Re-sending an identical value can still produce a case.updated naming that column. Compare the delivered snapshot with the state you last stored before you act on a case.updated. This also handles your own writes, which come back to you as events — see Anatomy of a delivery.
Reconciliation calls such as GET /status-updates count toward your key’s rate limit like any other call; deliveries to your endpoint do not. See Troubleshooting if deliveries stop unexpectedly.