License API
License Activation/Deactivatio...

Activate Bundle (Online Method)

15min
Activates all licenses inside of a bundle. Returns the list of activated licenses in response
POST
Request
Header Parameters
Date
required
String
In RFC7231 format (see "License API Authorization"), eg.: Thu, 17 Nov 2022 20:51:35 GMT
Authorization
required
String
See "License API Authorization" article
Body Parameters
hardware_id
required
String
Unique hardware ID generated for some device
product
required
String
Product bundle short code
license_key
optional
String
Required if product is key_based. Attach the license key (eq. 1111-2222-3333-4444)
username
optional
String
Required if product is user based. Attach the assigned license user email (eq. [email protected])
password
optional
String
Required if product is user based. Attach the assigned license user password (eq. somepassword)
id_token
optional
String
Required if using SSO. Attach the id_token received from the SSO if Implicit grant authorization method is being used.
code
optional
String
Required if using SSO. Attach the code received from the SSO if Authorization code grant method is being used.
customer_account_code
optional
String
Required if using SSO. Attach the customer_account_code to which SSO provider is configured.
license_id
optional
String
License ID of bundle license
is_vm
optional
Boolean
Set to true if using virtual machine
vm_info
optional
String
Optional virtual machine informations.
os_ver
optional
String
Version of the operating system.
hostname
optional
String
Device hostname
os_hostname
optional
String
Hostname of the OS ( check this before publishing! )
ip
optional
String
IP address
ip_local
optional
String
Local IP address ( check this before publishing! )
app_ver
optional
String
Version of the product application used with this license.
sdk_ver
optional
String
Version of the SDK used.
mac_address
optional
String
Device MAC address
variables
optional
Object
Device variables. Variables are sent as a JSON object where the key is the variable name, and the value is the value of the variable
Curl
Node.js
JS
Python
Ruby
Responses
200
400


Schema

Request Body

TypeScript
JSON


Response Body

TypeScript
JSON


License Authorization Method

There are two types of product licenses based on how the client application authorizes itself to interact with a license:

Key-based product licenses

Each license assigned to the product requires the client to provide a license key in order to activate, check or deactivate the license (property license_key in the request body).

The license response object will contain the license_key property, and the property product_details.authorization_method will be the string license_key.

User-based product licenses

Each license assigned to the product has a corresponding "license user" instead of a license key. There are multiple ways a user-based product license can be accessed when making a request:

  • By providing the values for username and password for the license user
  • By providing the values for id_token and customer_account_code if using single sign-on authentication using Implicit grant
  • By providing the values for code and customer_account_code if using single sign-on authentication using Authorization code grant
    

In the license response object, product_details.authorization_method will have the string value user and the response object will contain the user object with information on the license user.

License Types

The license_type property defines one of the 4 types of licenses based on their duration and how the license is used:

  • Perpetual: perpetual
  • Time-limited: time-limited
  • Subscription: subscription
  • Consumption: consumption

For more information see: License Types

Errors

If an error occurs, the response will have an HTTP status code of 400 or higher, and the response body will contain an error description in the following format:

TypeScript


List of Exceptions

unknown_product (400): Provided product was not found
product_not_bundle (400): Specified product "code" is not a bundle
license_not_found (400): License with the provided license user not found
license_not_enabled (400): The license is not enabled
vm_not_allowed (400): Virtual machine not allowed
offline_floating_cloud_not_supported (400): Floating cloud licenses cannot be activated offline
license_start_date_error (400): This license cannot be activated before start date: {date}
blacklisted (400): This device is blacklisted
license_activated_max_times (400): This license key has already been activated the maximum number of times
license_user_activated_max_times (400): License user has activated this license max times
license_expired (400): License validity period has expired
license_transferred_max_times (400): This license has already been transferred the maximum number of times
license_device_exists (409): A device matching this hardware_id is already created on the license.