The Grantee ID is the thing you are licensing. It can be any ID that you have access to and wish to license. The options are endless, but it's down to you to decide how the license should unlock for which users.
Some examples of what the Grantee ID could be:
- User ID
- Team ID
- Workspace ID
- Project ID
- Organisation ID
- Company Domain
- Board ID
- Anything else!
When you create a license, you assign the grantee ID. Then when you do a license check, you simply ask for all licenses with that grantee ID for the product.
- A purchaser buys a subscription to your app the gives access to anyone in their team.
- The license will be generated with a grantee ID of the Team ID:
- When you do a license check in your app, you request licenses for your Product ID where grantee ID is Team_12345.
- Anyone within
Team_12345who has access to their team ID can use the license and, therefore, your app.
Multiple Grantee IDs
It's also possible with Salable to have multiple grantee IDs on the same License. The granteeID field on a license is an array.
This is useful in two contexts:
- Give multiple things access to the same License.
- Allowing customers to buy "Seats" to a license.
There may be scenarios where you grant a team access to your app, but you may also want to add specific individual users to the license. You would include the TeamID and the UserIDs of the specific users.
granteeID: ['Team_12345', 'User_12345', 'User_98765']
Another way to use grantee IDs is to give your clients the ability to change them. For instance, you may sell a plan that allows your clients to have 5 users access the app. Giving your users an interface to change out grantee IDs means they can purchase a license and decide which IDs can access the application. This makes it easy for your clients to manage who in their company has access to your app.