Skip to main content
John is an existing Storefront Gateway user who is sharing access to one or more accounts or services that belong to Jane, another Storefront Gateway end use. Jane previously associated her billing account and/or service subscriptions to her User profile, and then shared access to some of those entitlements with John. In this scenario, John is currently authenticated, and he selects to leave one or more of Jane’s shared services. On the back end, this means that Storefront Gateway will remove the association between John’s User entity and the corresponding Account, Subscription, or Feature entitlement entities. Note: If John removes his access (i.e., his associations) to all accounts or services in Jane’s Group, then Storefront Gateway will automatically remove him from the Group as well.

Initial Request

Your client calls the Process Start API to initialize the Process:

Response: Request to specify A/S/F entitlements

Storefront Gateway responds with a prompt to specify the accounts or services that the user wants to leave. In other words, the Process requests for the client to specify the Storefront Gateway Account(s), Subscription(s), or Feature(s) entitlement entities with which the currently authenticated User has an association.
The accounts or services to share must be specified by the unique, internal id property on each Storefront Gateway entity. As this number is likely not known to the user, the client application should leverage the relevant APIs (e.g., GET /user/accounts API, or GET /user/subscriptions), in conjunction with this Process, to retrieve additional details stored on each entity, and then render the appropriate options (e.g., the displayName of each applicable entity).

Final Request: User Selection

The user is free to select any number of applicable entities to leave. In this example, the user opts to leave a shared Storefront Gateway Subscription, and the client passes that choice back to Storefront Gateway in the Process Step API:
Note that relinquishing one entitlement entity in a specific Account/Subscriptions/Features entity hierarchy does not cascade up or down that hierarchy. In other words, each and every association to remove must be explicitly selected. For example, if a Storefront Gateway User is associated to both an Account, a Subscription under the Account, and a Feature inside the Subscription, and the User’s association to the Subscription is revoked (either voluntarily through this Process, or by another Storefront Gateway User using the Revoke Access Process), then this does not affect the separate associations between the same Storefront Gateway User and the Account and Feature entities in the hierarchy. Storefront Gateway enables fine-grain entitlements control by making each and every association within an A/S/F hierarchy explicit. However, if desired, the client application can simply provide the additional entity types and identifiers if it wants to silently enforce a “leave all” function on behalf of the user, or use the Remove User from Group Process to remove the target user from the associated Group. Removing a user from a group automatically removes all existing associations between that User entity and the entitlement entities in that Group. This is all largely dependent on your own implementation of Storefront Gateway Processes and APIs, and how you choose to represent Accounts, Subscriptions, and Features at the UI level (if at all).

Process Complete

Storefront Gateway removes all associations between the current User and the specified entities. The Process returns a 200 HTTP status: