Multi-user subscriptions allow a single licence holder to invite additional users — for example, a company buying seats for their employees, or a household subscription. Frisbii Media manages the licences and provides an invitation flow.
There are two ways to add users to a multi-user subscription: via an invitation URL (manual invite), or automatically by email domain.
How it works
When a customer purchases a multi-user offer, the subscription contains a chainId and multiuserSettings. The chainId groups all licences belonging to the same multi-user subscription. The invitationUrl is a page on your website where invited users can accept the licence.
"chainId": 1238877,
"multiuserSettings": {
"enableSelfService": true,
"onlyBundledUsage": false,
"invitationValidityInDays": 0,
"invitationUrl": "https://www.example.com/invitation"
}
Use the chainId in your email templates as a path parameter:
https://www.example.com/invitation/1238877
This links the invited user directly to the correct subscription chain.
Invitation page
The invitation page you build needs to handle a login or registration flow so the invited user can immediately sign in. Use the Frisbii Media JavaScript SDK for this — see SSO: Login & Registration.
Once the user is logged in, retrieve all subscriptions in the chain to validate the invitation:
// @see https://api.frisbii-media.com/#tag/Subscriptions/operation/getSubscriptionsByChain
$chainSubscriptions = json_decode($client->request('GET',
"/subscriptions?chainId={$chainId}",
['headers' => ['X-plenigo-token' => eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9]]
)->getBody()->getContents(), true)['items'] ?? [];
Auto-add by email domain
If the subscription's multiuserSettings includes enableDomainRegistration: true and a list of allowedDomains, any logged-in user whose email domain matches can be added automatically — no manual invitation required.
The subscription item's multiuserSettings will look like:
"multiuserSettings": {
"maxNumberOfUsers": 0,
"onlyBundledUsage": false,
"enableDomainRegistration": true,
"invitationValidityInDays": 0,
"allowedDomains": [
"example.com"
]
}
Check whether the logged-in user's email domain matches allowedDomains. If it does, add them:
// @see https://api.frisbii-media.com/#tag/Subscriptions/operation/addMultiuser
$response = $client->request('POST',
"/subscriptions/{$subscriptionId}/addMultiuser",
[
'headers' => ['X-plenigo-token' => eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9],
'json' => ['customerId' => $loggedInCustomerId],
]
);
Multi-user settings reference
Field | Description |
|---|---|
| Maximum number of users that can be added. |
| If |
| If |
| How long an invitation link is valid. |
| List of email domains eligible for automatic domain-based addition. |
| The URL on your website to which invited users are directed. |
| Groups all licences belonging to the same multi-user subscription across the chain. |