License API

License Check

13min
Checks the status and validity of license
GET
Request
Query Parameters
hardware_id
required
String
Unique hardware ID generated for the client device
product
required
String
Product short code
license_key
optional
String
Required if product is key-based (see section below)
username
optional
String
Required if product is user based (see section below)
license_id
optional
Number
Ensures that the action affects only the license with the specified ID. This is useful if e.g. you have multiple licenses for the same product assigned to the same user. For obtaining a list of licenses assigned to a user, see "User Licenses"
include_expired_features
optional
Boolean
Whether expired product features should be included in the response
is_vm
optional
String
Set to true if using a virtual machine
vm_info
optional
String
Optional virtual machine metadata
os_ver
optional
String
Version of the operating system
hostname
optional
String
Device hostname
os_hostname
optional
String
Hostname of the OS
ip
optional
String
IP address
ip_local
optional
String
Local IP address
app_ver
optional
String
Version of the product application used with this license
sdk_ver
optional
String
Version of the SDK used
mac_adddress
optional
String
Device MAC address
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
Curl
Node.js
JS
Python
Ruby
Responses
200


Schema

Request Query Parameters

TypeScript
JSON


Response Body

TypeScript
JSON


Response Signatures

The response objects contains the following digital signature:

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. Requires username and to be provided.

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

missing_headers (400): Some headers are missing
unknown_product (400): Provided product was not found
license_not_found (400): License with the provided license user not found
license_not_enabled (400): The license is not enabled
license_not_active (400): The license is not active
device_not_found (400): An active device matching the hardware_id not found
blacklisted (400): This device is blacklisted
license_not_enough_consumptions (400): Not enough consumptions left
floating_not_available (400): No available slots for floating license