Grant licenses
You can grant new licenses to an organization or user on the Transactions tab in 10Duke SysAdmin.
To grant licenses, you create a transaction which can contain one or more transaction items.
-
In each transaction item, you define information for granting licenses with a specified product package, and the requested product package quantity.
-
You also define settings such as the license validity and a possible lock scope per transaction item, which means the same settings will apply to all licenses granted with the same transaction item.
If needed, you can also grant new licenses within an existing transaction. See how to update a transaction to add new transaction items.
Limitations
You can only define contract details for a transaction through the 10Duke Entitlement Management REST API. When you create a transaction in SysAdmin, 10Duke Enterprise applies default contract details. The external contract ID is set to the organization or user ID, depending on who you’re granting licenses to, and the contract type is set to the default value “unspecified”.
Before you start
-
Make sure every product package you plan to use is ready for granting licenses:
-
It contains all the licensed items that you want to grant licenses to. A separate license is created for every licensed item in a product package.
-
It’s associated with the license model you want to use for the licenses.
-
It’s active and valid.
-
-
If you plan to store an organization’s licenses to specific entitlements, create entitlements for the organization as needed.
-
If you want to define custom license properties, the license property feature must be enabled in your deployment configuration. Contact the 10Duke Integration Support team if needed.
-
If you plan to assign a lock scope to the licenses:
-
The license model associated with the license must use
ConsumptionLockConstraint
to create a locking based on the device. -
Your client application must include the hardware ID of the device in the license consumption request.
-
Step 1: Define details for the transaction
Start creating a transaction for an organization or user, and define the transaction-level details:
-
In SysAdmin in the left sidebar, go to LICENSES > either Organization or Personal.
-
Search and select the organization or user, and click Confirm.
-
Go to the Transactions tab and select Actions > Create.
On the side panel that opens, click Next after completing each step.
Start from the Transaction details step. If you’re using an e-commerce or CRM system, the transaction-level details typically record information that identifies the purchase in your external system.
-
In External transaction ID, either enter the external ID for the transaction, such as an order number, or click Generate ID to generate an ID.
You cannot change this ID after creating the transaction: 10Duke Enterprise uses this to identify the transaction later.
-
In Transaction type, enter the type of the transaction, such as “Order” or “Trial”.
Step 2: Add transaction items
Click Next to move to the Transaction items step, and create the transaction items. This is where you define the settings for granting licenses, and define any custom license properties needed.
Add a separate transaction item for each product package that you want to grant licenses with. The transaction must contain at least one transaction item.
-
To add a transaction item, select Actions > Create. Define the settings for granting licenses (see more below), and click Save.
The new transaction item is now shown in the Transaction items table.
-
To make changes to a transaction item you added, select it in the table, edit the fields, and click Save.
You can change any of the settings up until you have created the transaction. After that, some of the settings in the transaction items can no longer be changed.
-
To delete a transaction item, select it in the table and select Actions > Delete.
See details below on the settings in a transaction item.
External transaction item ID
In External transaction item ID, either enter the external ID for the transaction item, such as an order line number, or click Generate ID to generate an ID.
You cannot change this ID after creating the transaction: 10Duke Enterprise uses this to identify the transaction item later.
Product package and quantity
-
In Product package, select the product package that you want to grant licenses with.
You cannot change the product package after creating the transaction.
-
In Quantity, define the requested product package quantity. Set the quantity to a positive integer (1 or higher).
This quantity will be reflected as either seats, use count, or use time in a particular license, depending on which credit type is specified in the corresponding licensed item’s settings in the product package.
The quantity is used for calculating the final credit amount for each license: it’s effectively a multiplier for the credit amount that is defined in the licensed item’s settings.
For example, if a licensed item’s settings define a credit of 50 seats, and you set the product package quantity to 2, this will grant 100 seats in the license.
Note that the same licensed item may be used in more than one product package, and it may have a different credit type and amount in each one.
License validity
Define the validity period for the licenses:
-
Valid from: Define the date when the license validity starts (at the start of the day in UTC time). Use the format YYYY-MM-DD.
-
Valid until (optional): Define the date when the license validity ends (at the start of the day in UTC time). Use the format YYYY-MM-DD. If no end date is defined, the licenses are valid indefinitely.
Lock scope
In Lock scope, set the lock scope if required by the license model. Otherwise leave this undefined.
Setting the lock scope is required when the product package (or any licensed item in it) uses a license model that applies the ConsumptionLockConstraint
rule. Setting a lock scope locks the license’s use to the hardware on which the license is first used.
This license model constraint may be used, for example, if the same product package is used for granting both trial and commercial licenses, and a lock scope is used to prevent the abuse of the trial licenses.
If the license model uses this constraint, do one of the following:
-
Enter the identifier for the scope within which to lock the hardware used for this license. This can be any custom value you want to use, such as
Trial_2024
. -
To disable the locking, enter the value
None
. This overrides the license model’s constraint.
Target entitlement
In Target entitlement, select the entitlement where to store the granted licenses. You cannot change the entitlement after creating the transaction.
If the organization or user has no entitlements yet, a new entitlement is automatically created when you create the transaction. With an organization, the entitlement is also set as default.
License properties
In License properties (optional), define additional properties for the licenses using custom data.
Custom properties are typically used with integrations. They could be used, for example, to define which language versions are available to the user or device client.
-
To add a custom property, enter the key-value pair in the fields and click Add.
-
To delete a custom property, click Delete next to it, and click OK to confirm.
-
You cannot edit a custom property: if you entered an incorrect one, delete it and create a new one.
The API client is responsible for defining and managing the property key namespace.
Step 3: Complete the transaction
-
After adding all the transaction items needed, click Next to move to the Summary step.
-
Review the information you have defined.
-
Click Process transaction to create the transaction and grant licenses.
Licenses are now granted using the product packages specified in the transaction items.
Next steps
If you granted licenses to an organization:
-
If the organization has multiple entitlements, you can organize the new licenses by moving licenses to other entitlements if needed.
-
Authorize the organization’s groups to access the licenses.
-
Make seat reservations if needed.
-
You can download licenses for users, for example, for offline use.
If you granted licenses to a user, the user has access to and can start consuming the licenses now.