License API
Trial Key
9min
for a trial license to be created, the product must have trial licenses enabled by setting allow trial to true by default, the same combination of hardwareid and product will generate the same trial key this ensures that users cannot obtain multiple trial keys on the same device if you want to permit multiple trial licenses on the same device, you can enable this feature by adjusting the allow multiple licenses on trial setting in the vendor platform under your company account settings schema request query parameters type trialkeyrequestparameters = { // required parameters product string, hardware id string, // required for key based products license key string, // required for user based products email string, // optional for user based products password? string | undefined, // optional property license policy? string | undefined, // if any of the following optional properties is set, a customer is created for (or associated to) this trial key request first name? string | undefined, last name? string | undefined, phone? string | undefined, phone? string | undefined, address? string | undefined, postcode? string | undefined, state? string | undefined, country? string | undefined, city? string | undefined, reference ? string | undefined, } json schema { "$schema" "https //json schema org/draft/2020 12/schema", "type" "object", "properties" { "product" { "type" "string" }, "hardware id" { "type" "string" }, "license key" { "type" "string" }, "email" { "type" "string", "format" "email" }, "password" { "type" \["string"] }, "license policy" { "type" \["string"] }, "first name" { "type" \["string"] }, "last name" { "type" \["string"] }, "phone" { "type" \["string"] }, "address" { "type" \["string"] }, "postcode" { "type" \["string"] }, "state" { "type" \["string"] }, "country" { "type" \["string"] }, "city" { "type" \["string"] }, "reference" { "type" \["string"] } }, "oneof" { "required" { \["product", "hardware id", "license key"] }, "required" { \["product", "hardware id", "email"] } }, "additionalproperties" false } response body the response from this endpoint will differ depending in whether a trial license already exists for the requested product, hardware id and email ( if using user based license) 1\ if a new trial license is being created type trialkeyresponsebody = { id number, license type 'perpetual' | 'time limited' | 'consumption' | 'subscription', order id number, product id number, max activations number, times activated number, is trial true, active boolean, enabled boolean, max transfers number, trial days number, maintenance duration string | null, // length of time expressed in days, months or years, e g 5d, 2m, 3y validity period string | null, // date string in full iso 8601 format, e g "2024 09 27t23 30 48 016z" enable maintenance period boolean, prevent vm boolean, is hardware key auth boolean, initial password string, metadata json, created at number, // unix timestamp in milliseconds updated at number, // unix timestamp in milliseconds licenseproductfeatures ({ id number, product feature id number, max consumption number, allow overages boolean, max overages number, reset consumption number, consumption period string | null, expiry date string | null, // date string in full iso 8601 format, e g "2024 09 27t23 30 48 016z" is floating boolean, is floating cloud boolean, metadata json, // the following properties are only present if is floating=true or is floating cloud=true floating timeout number, floating users number, })\[], licensecustomfields { product custom field id number, value string }\[], // the following properties are only present for key based product licenses license string, license key string, // the following properties are only present for user based product licenses license user string, initial password string, max license users number, license user id number | null, // the following properties are only present if license type="subscription" grace period number, allow grace period boolean, // the following properties are only present if license type="consumption" allow overages boolean, max overages number, max consumptions number, valid duration null, consumption period string | null, reset consumption boolean, } json schema 2\ if a trial license already exists { license type 'perpetual' | 'time limited' | 'consumption' | 'subscription', is trial true, // the following property is only present on key based product licenses license string, // the following property is only present on user based product licenses license user string, } json schema 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 { status number, code string, message string } json schema { "$schema" "https //json schema org/draft/2020 12/schema", "type" "object", "properties" { "status" { "type" "number" }, "code" { "type" "string" }, "message" { "type" "string" } }, "required" \[ "status", "code", "message" ], "additionalproperties" false } list of exceptions missing parameters (400) some parameters are missing in the request { params } missing hardware id (400) the hardware id missing in the request unknown product (400) provided product was not found trial not allowed (400)\ product does not allow trial email missing (400) an email is missing for user based product