Documentation Index

Fetch the complete documentation index at: https://help.frisbii.com/llms.txt

Use this file to discover all available pages before exploring further.

Multiuser Subscriptions

Prev Next

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

maxNumberOfUsers

Maximum number of users that can be added. 0 = unlimited.

onlyBundledUsage

If true, users can only access content when using the subscription as part of a bundle.

enableDomainRegistration

If true, users with matching email domains are eligible for automatic addition.

invitationValidityInDays

How long an invitation link is valid. 0 = no expiry.

allowedDomains

List of email domains eligible for automatic domain-based addition.

invitationUrl

The URL on your website to which invited users are directed.

chainId

Groups all licences belonging to the same multi-user subscription across the chain.


API reference