Skip to main content

Protect essential product dependencies with a new mode on /session/delete

/session/delete can now protect (or clean up) other products that depend on the session being deleted.

What's new

  • essentialDependencies on POST /session/delete. When a product is configured as essential to other products, deleting its session used to silently leave the dependent products' sessions behind, without the consent basis they relied on. The new field lets you choose what happens instead, on both the default revoke and hardDelete paths.
  • block refuses the delete instead of stranding a dependent. While the player still holds an active product that depends on the one being deleted, the call returns ESSENTIAL_DEPENDENTS_EXIST and names the dependent product IDs. No enablement needed.
  • cascade deletes the dependent sessions too, then the addressed session, each with its own webhook and (for hard deletes) its own deletion record. Opt-in per developer, because it removes sessions you didn't name (sending it without enablement returns FEATURE_DISABLED), and it requires a server-side API key rather than a client access token.
  • Every existing call is unaffected. Omitting the field, or sending ignore, behaves exactly as /session/delete always has, permanently. This is stable, opt-in surface, not a step ahead of a default change.

Documentation