Feature · Account
App groups
Sometimes one customer ships several apps that should share a subscription ("pay once for the whole suite"). Create an app group, drop two or more apps into it, and stubkit will aggregate entitlements across the group at lookup time.
How lookup works
- Your SDK calls
stubkit.isActive(userId, "pro")for app A. - Server finds all sibling apps in A's group.
- Server looks for
usersrows with the sameexternal_idacross every app in the group. - Union all their subscriptions in
active/grace/cancelledstatus and return the combined entitlement set.
When to use it
- Two apps by the same company that already use the same user identity (same backend, same external IDs).
- A base + pro version of the same app on different bundle IDs.
If your apps use different external IDs for the same person, use user links instead.
Constraints
- An app belongs to at most one group at a time. This keeps aggregation O(N) and avoids ambiguity.
- Grouped apps bypass the entitlement KV cache. One extra query per lookup, traded for correctness when a sibling app's sub changes.
REST endpoints
GET/POST /v1/admin/app-groupsPATCH/DELETE /v1/admin/app-groups/:idPOST /v1/admin/app-groups/:id/members— attach appDELETE /v1/admin/app-groups/:id/members/:app_id— detach