Documentation
Product licensing
After purchase a product key is emailed to the buyer. The UV App will not run until that key is entered and accepted for the current Microsoft 365 tenant. Guest mailboxes from another domain are rejected.
What the buyer receives
Checkout creates an invoice and one key per purchased app, format UV-XXXX-XXXX-XXXX-XXXX-XXXX. The key is stored on the company account (Account → License keys) and sent by email.
Tenant email check
Activation is accepted only when all of the following are true:
- The key exists, is not revoked or expired, and matches the product.
- The activating user's email domain is a verified domain of the tenant the app is running in (
tenantDomainsfrom Microsoft Graph). - That same domain (or an alias such as
fabrikam.com↔fabrikam.onmicrosoft.com) is on the license's company allow-list. - The first successful activation binds the key to that tenant ID. Later activations must use the same tenant.
A guest such as anna@outlook.com working in fabrikam.onmicrosoft.com cannot activate a Fabrikam license. Consumer mailboxes (Gmail, Outlook.com, …) are rejected unless they were explicitly licensed.
App integration
Call POST https://apps.unifiedvision.eu/api/license/activate from the web part. Until the API returns ok: true and a 24-hour entitlement token, render a blocking license screen — no data, no commands.
POST /api/license/activate
{
"key": "UV-XXXX-XXXX-XXXX-XXXX-XXXX",
"productSlug": "uv-directory",
"tenantId": "<aad tenant guid>",
"userEmail": "ada@fabrikam.com",
"tenantDomains": ["fabrikam.com", "fabrikam.onmicrosoft.com"]
}Re-check with POST /api/license/validate and the stored token (or the same body). Load the helper from /sdk/uv-license.js.