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 againstGET /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
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.
