Events
customer.state_changed
Aggregate entitlement event — what can this customer access right now.
One event to sync access
Instead of handling every lifecycle event (subscription.activated, subscription.canceled, trial.expired, …) to keep your access flags in sync, handle this single event. Every entitlement transition fires it with the customer’s current state, computed at delivery time:
Handling the payload
Usestatus as the access gate (trialing and active grant access), features for per-feature limits, and credits/balance for consumption headroom on credits/balance plans. The payload reflects the state at delivery time — if two transitions happen back to back, the later event always carries the final state, so processing events in timestamp order converges to the correct result.
See Plan Grants for the temporary access lifecycle.Body
application/json
Response
200
Return any 2xx status code to acknowledge receipt of the event.