Operator actions change runtime state too
Stripe is not the only source of state transitions. Operators can also update runtime state from the Licenzy portal when support or recovery work requires manual action.
- Manual grant entitlement.
- Manual revoke entitlement.
- Manual adjust usage credits.
Portal actions are part of the same architecture
Portal actions mutate the same entitlement-backed runtime layer your backend reads through access and entitlement endpoints. When those actions emit outbound events, they use source=portal and include actor_user_id without backfilling stale Stripe fields.
Use the portal for the workflow, not the runtime API
Manual correction is an operator workflow, not a backend runtime integration. Use Operations and support for the actual investigation and recovery workflow in the portal.