License API
License Check
Check License
14 min
{ "tab" "examples", "url" "/api/v4/check license", "name" "/api/v4/check license", "method" "get", "request" { "pathparameters" \[], "queryparameters" \[ { "kind" "required", "name" "hardware id", "type" "string", "children" \[], "description" "unique hardware id generated for the client device" }, { "kind" "required", "name" "product", "type" "string", "children" \[], "description" "product short code" }, { "kind" "optional", "name" "license key", "type" "string", "children" \[], "description" "required if product is key based (see section below)" }, { "kind" "optional", "name" "username", "type" "string", "children" \[], "description" "required if product is user based (see section below)" }, { "name" "license id", "kind" "optional", "type" "number", "description" "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\\"", "children" \[] }, { "name" "include expired features", "kind" "optional", "type" "boolean", "description" "whether expired product features should be included in the response", "children" \[] }, { "name" "env", "kind" "optional", "type" "string", "description" "checks the licenses status against the specified product installation file environment (matching the installation file's \\"environment\\" property)", "children" \[] }, { "name" "os ver", "kind" "optional", "type" "string", "description" "updates license device data, sets operating system string to this value", "children" \[] }, { "name" "hostname", "kind" "optional", "type" "string", "description" "updates license device data, sets hostname string to this value", "children" \[] }, { "name" "os hostname", "kind" "optional", "type" "string", "description" "legacy version of \\"hostname\\" parameter (see above)", "children" \[] }, { "name" "ip", "kind" "optional", "type" "string", "description" "updates license device data, sets ip address string to this value", "children" \[] }, { "name" "ip local", "kind" "optional", "type" "string", "description" "legacy version of \\"ip\\" parameter (see above)", "children" \[] }, { "name" "app ver", "kind" "optional", "type" "string", "description" "updates license device data, sets application version string to this value", "children" \[] }, { "name" "sdk ver", "kind" "optional", "type" "string", "description" "updates license device data, sets sdk version string to this value", "children" \[] }, { "name" "mac address", "kind" "optional", "type" "string", "description" "updates license device data, sets mac address string to this value", "children" \[] } ], "headerparameters" \[ { "kind" "required", "name" "date", "type" "string", "children" \[], "description" "in rfc7231 format (see \\"license api authorization\\"), eg thu, 17 nov 2022 20 51 35 gmt" }, { "kind" "required", "name" "authorization", "type" "string", "children" \[], "description" "see \\"license api authorization\\" article" } ], "bodydataparameters" \[], "formdataparameters" \[] }, "results" { "languages" \[ { "id" "qlx3ifr3fpkeqnnhkuaxk", "code" "{\n \\"id\\" 1683881344856259,\n \\"order store id\\" \\"26569ab2f28f402480c9bcbff41bb6fb\\",\n \\"license active\\" true,\n \\"license enabled\\" true,\n \\"license type\\" \\"perpetual\\",\n \\"license key\\" \\"gylt z4yt urjk 3f82\\",\n \\"is trial\\" false,\n \\"validity period\\" null,\n \\"maintenance period\\" null,\n \\"allow grace period\\" false,\n \\"grace period\\" 0,\n \\"max activations\\" 8,\n \\"allow unlimited activations\\" false,\n \\"times activated\\" 3,\n \\"start date\\" null,\n \\"transfer count\\" 2,\n \\"max transfers\\" 0,\n \\"allow overages\\" false,\n \\"max overages\\" 0,\n \\"is floating cloud\\" false,\n \\"is floating\\" false,\n \\"floating timeout\\" 1,\n \\"can borrow\\" true,\n \\"max borrow time\\" 3,\n \\"prevent vm\\" false,\n \\"custom fields\\" \[\n {\n \\"name\\" \\"skr\\",\n \\"data type\\" null,\n \\"value\\" \\"222\\"\n },\n {\n \\"name\\" \\"1\\",\n \\"data type\\" null,\n \\"value\\" \\"1\\"\n }\n ],\n \\"product features\\" \[\n {\n \\"code\\" \\"1\\",\n \\"name\\" \\"feature\\",\n \\"feature type\\" \\"consumption\\",\n \\"expiry date\\" null,\n \\"metadata\\" {},\n \\"max consumption\\" 2,\n \\"allow negative consumptions\\" true,\n \\"allow unlimited consumptions\\" false,\n \\"total consumptions\\" 0,\n \\"allow overages\\" false,\n \\"max overages\\" 0,\n \\"reset consumption\\" true,\n \\"consumption period\\" \\"daily\\"\n },\n {\n \\"code\\" \\"2\\",\n \\"name\\" \\"feature2\\",\n \\"feature type\\" \\"consumption\\",\n \\"expiry date\\" null,\n \\"metadata\\" {},\n \\"max consumption\\" 20,\n \\"allow negative consumptions\\" true,\n \\"allow unlimited consumptions\\" false,\n \\"total consumptions\\" 0,\n \\"allow overages\\" false,\n \\"max overages\\" 0,\n \\"reset consumption\\" true,\n \\"consumption period\\" \\"daily\\"\n }\n ],\n \\"customer\\" {\n \\"email\\" \\"teoterzic99\@gmail com\\",\n \\"company name\\" \\"\\",\n \\"reference\\" \\"\\",\n \\"phone\\" \\"\\",\n \\"first name\\" \\"t\\",\n \\"last name\\" \\"t\\",\n \\"city\\" \\"\\",\n \\"postcode\\" \\"\\",\n \\"state\\" \\"\\",\n \\"country\\" \\"\\",\n \\"customer account\\" null,\n \\"metadata\\" {\n \\"a\\" \\"b\\"\n }\n },\n \\"product details\\" {\n \\"product id\\" 1683881296184003,\n \\"product name\\" \\"p\\",\n \\"short code\\" \\"p\\",\n \\"authorization method\\" \\"license key\\",\n \\"metadata\\" {}\n },\n \\"metadata\\" {},\n \\"device id\\" 1698053262137469,\n \\"is borrowed\\" false,\n \\"borrowed until\\" null,\n \\"is expired\\" false,\n \\"version\\" \\"\\",\n \\"installation file\\" \\"\\",\n \\"release date\\" \\"\\",\n \\"hash md5\\" \\"\\",\n \\"requires version\\" \\"\\",\n \\"environment\\" \\"\\",\n \\"eula link\\" \\"\\",\n \\"release notes link\\" \\"\\",\n \\"size\\" \\"\\",\n \\"channel\\" \\"\\",\n \\"license signature\\" \\"signature\\"\n}", "language" "200", "customlabel" "" } ], "selectedlanguageid" "qlx3ifr3fpkeqnnhkuaxk" }, "examples" { "languages" \[ { "id" "gwm4sysjojdn 6ywupnb1", "code" "curl location request get '/api/v4/check license?hardware id=string\&product=string\&license key=string\&username=string' \\\\\n header 'accept application/json' \\\\\n header 'date string' \\\\\n header 'authorization string'", "language" "curl", "customlabel" "" }, { "id" "gstpxgowbhib9u8ir9jcb", "code" "var request = require('request');\nvar options = {\n 'method' 'get',\n 'url' '/api/v4/check license?hardware id=string\&product=string\&license key=string\&username=string',\n 'headers' {\n 'accept' 'application/json',\n 'date' 'string',\n 'authorization' 'string'\n }\n};\nrequest(options, function (error, response) {\n if (error) throw new error(error);\n console log(response body);\n});\n", "language" "nodejs", "customlabel" "" }, { "id" "j4vom2ouizj9p rqoxmep", "code" "var myheaders = new headers();\nmyheaders append(\\"accept\\", \\"application/json\\");\nmyheaders append(\\"date\\", \\"string\\");\nmyheaders append(\\"authorization\\", \\"string\\");\n\nvar requestoptions = {\n method 'get',\n headers myheaders,\n redirect 'follow'\n};\n\nfetch(\\"/api/v4/check license?hardware id=string\&product=string\&license key=string\&username=string\\", requestoptions)\n then(response => response text())\n then(result => console log(result))\n catch(error => console log('error', error));", "language" "javascript", "customlabel" "" }, { "id" "r5vo7idj rxglhtfgbl2w", "code" "import requests\n\nurl = \\"/api/v4/check license?hardware id=string\&product=string\&license key=string\&username=string\\"\n\npayload={}\nheaders = {\n 'accept' 'application/json',\n 'date' 'string',\n 'authorization' 'string'\n}\n\nresponse = requests request(\\"get\\", url, headers=headers, data=payload)\n\nprint(response text)\n", "language" "python", "customlabel" "" }, { "id" "sg mezk0akt tzrhdl5k3", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"/api/v4/check license?hardware id=string\&product=string\&license key=string\&username=string\\")\n\nhttp = net http new(url host, url port);\nrequest = net http get new(url)\nrequest\[\\"accept\\"] = \\"application/json\\"\nrequest\[\\"date\\"] = \\"string\\"\nrequest\[\\"authorization\\"] = \\"string\\"\n\nresponse = http request(request)\nputs response read body\n", "language" "ruby", "customlabel" "" } ], "selectedlanguageid" "j4vom2ouizj9p rqoxmep" }, "description" "checks the status and validity of license", "currentnewparameter" { "label" "query parameter", "value" "queryparameters" }, "hastryitout" false } schema request query parameters type licensecheckqueryparameters = ({ // for key based licenses license key string } | { // for user based licenses username string }) & { // required properties hardware id string product string // optional properties license id? number | undefined is vm? boolean | undefined vm info? string | undefined os ver? string | undefined hostname? string | undefined os hostname? string | undefined ip? string | undefined ip local? string | undefined app ver? string | undefined sdk ver? string | undefined mac address? string | undefined include expired features? boolean | undefined } json schema { "$schema" "https //json schema org/draft/2020 12/schema", "type" "object", "allof" \[ { "oneof" \[ { "type" "object", "properties" { "license key" { "type" "string" } }, "required" \["license key"], "additionalproperties" false }, { "type" "object", "properties" { "username" { "type" "string" } }, "required" \["username"], "additionalproperties" false } ] }, { "type" "object", "properties" { "hardware id" { "type" "string" }, "product" { "type" "string" }, "license id" { "type" "number" }, "is vm" { "type" "boolean" }, "vm info" { "type" "string" }, "os ver" { "type" "string" }, "hostname" { "type" "string" }, "os hostname" { "type" "string" }, "ip" { "type" "string" }, "ip local" { "type" "string" }, "app ver" { "type" "string" }, "sdk ver" { "type" "string" }, "mac address" { "type" "string" }, "include expired features" { "type" "boolean" }, }, "required" \["hardware id", "product"], "additionalproperties" false } ] } response body type licensecheckresponsebody = { id number, allow grace period boolean, allow overages boolean, allow unlimited activations boolean, borrowed until string | null, can borrow boolean, channel string, device id number, enable maintenance period boolean environment string, eula link string, floating timeout number, grace period number, hash md5 string, installation file string, is air gapped boolean, is borrowed boolean, is expired boolean, is floating cloud boolean, is floating boolean, is hardware key auth boolean, license active boolean, license enabled boolean, license signature string, license signature v2 string, offline signature string, license type string, maintenance period string | null, max activations number, max borrow time number, max license users number, max overages number, max transfers number, order store id string, prevent vm boolean, release date string, release notes link string, requires version string, size string, start date string | null, times activated number, transfer count number, validity period string | null, // string is in dateiso8601utc format version string, company { id number }, product features ({ id number, code string, name string, expiry date string, metadata json, feature type 'activation' | 'consumption', is floating boolean, is floating cloud boolean, // the following properties are only present if is floating=true or is floating cloud=true floating users number, floating timeout number, // the following properties are only present if feature type=consumption max consumption number, allow unlimited consumptions boolean, total consumptions number, allow overages number, max overages number, reset consumption boolean, consumption period 'daily' | 'weekly' | 'monthly' | 'annualy' | null, })\[], custom fields ({ name string, data type 'numer' | 'text' | 'date/time', value string, })\[], customer { email string, company name string, reference string, phone string, first name string, last name string, city string, postcode string, state string, country string, address string, customer account string | null, metadata json, }, product details { product id number, product name string, short code string, authorization method 'license key' | 'user', metadata json, }, metadata json, // the following property is only present if is trial=true trial days number, // the following properties is only present if is floating=true or is floating cloud=true floating in use devices number, floating users number, // the following properties are only present if license type='consumption' max consumptions number, total consumptions number, allow unlimited consumptions boolean, reset consumption boolean, consumption period string | null, // string is in dateiso8601utc format } & ({ // for key based licenses license key string, } | { // for user based licenses user { id number, email string, first name string, last name string, phone number string, is initial password boolean, max activations number, allow unlimited activations boolean, total activations number } }); json schema { "$schema" "https //json schema org/draft/2020 12/schema", "type" "object", "oneof" \[ { "type" "object", "properties" { "license key" { "type" "string" } }, "required" \["license key"] }, { "type" "object", "properties" { "user" { "type" "object", "properties" { "id" { "type" "number" }, "email" { "type" "string" }, "first name" { "type" "string" }, "last name" { "type" "string" }, "phone number" { "type" "string" }, "is initial password" { "type" "boolean" }, "max activations" { "type" "number" }, "allow unlimited activations" { "type" "boolean" }, "total activations" { "type" "number" } }, "required" \["id", "email", "first name", "last name", "phone number", "is initial password", "max activations", "allow unlimited activations", "total activations"] } }, "required" \["user"] } ], "properties" { "id" { "type" "number" }, "allow grace period" { "type" "boolean" }, "allow overages" { "type" "boolean" }, "allow unlimited activations" { "type" "boolean" }, "borrowed until" { "type" \["string", "null"] }, "can borrow" { "type" "boolean" }, "channel" { "type" "string" }, "device id" { "type" "number" }, "enable maintenance period" { "type" "boolean" }, "environment" { "type" "string" }, "eula link" { "type" "string" }, "floating timeout" { "type" "number" }, "grace period" { "type" "number" }, "hash md5" { "type" "string" }, "installation file" { "type" "string" }, "is air gapped" { "type" "boolean" }, "is borrowed" { "type" "boolean" }, "is expired" { "type" "boolean" }, "is floating cloud" { "type" "boolean" }, "is floating" { "type" "boolean" }, "is hardware key auth" { "type" "boolean" }, "license active" { "type" "boolean" }, "license enabled" { "type" "boolean" }, "license signature" { "type" "string" }, "license signature v2" { "type" "string" }, "offline signature" { "type" "string" }, "license type" { "type" "string" }, "maintenance period" { "type" \["string", "null"] }, "max activations" { "type" "number" }, "max borrow time" { "type" "number" }, "max license users" { "type" "number" }, "max overages" { "type" "number" }, "max transfers" { "type" "number" }, "order store id" { "type" "string" }, "prevent vm" { "type" "boolean" }, "release date" { "type" "string" }, "release notes link" { "type" "string" }, "requires version" { "type" "string" }, "size" { "type" "string" }, "start date" { "type" \["string", "null"] }, "times activated" { "type" "number" }, "transfer count" { "type" "number" }, "validity period" { "type" \["string", "null"] }, "version" { "type" "string" }, "company" { "type" "object", "properties" {"id" { "type" "number" } } }, "product features" { "type" "array", "items" { "type" "object", "properties" { "id" { "type" "number" }, "code" { "type" "string" }, "name" { "type" "string" }, "expiry date" { "type" \["string", "null"] }, "metadata" {}, "feature type" { "type" "string", "enum" \["activation", "consumption"] }, "is floating" { "type" "boolean" }, "is floating cloud" { "type" "boolean" }, "floating users" { "type" "number" }, "floating timeout" { "type" "number" }, "max consumption" { "type" "number" }, "allow unlimited consumptions" { "type" "boolean" }, "total consumptions" { "type" "number" }, "allow overages" { "type" "boolean" }, "max overages" { "type" "number" }, "reset consumption" { "type" "boolean" }, "consumption period" { "type" \["string", "null"], "enum" \["daily", "weekly", "monthly", "annualy", null] } }, "required" \["code", "name", "expiry date", "metadata", "feature type"] } }, "custom fields" { "type" "array", "items" { "type" "object", "properties" { "name" { "type" "string" }, "data type" { "type" \["string", "null"], "enum" \["numer", "text", "date/time", null] }, "value" { "type" "string" } }, "required" \["name", "data type", "value"] } }, "customer" { "type" "object", "properties" { "email" { "type" "string" }, "company name" { "type" "string" }, "reference" { "type" "string" }, "phone" { "type" "string" }, "first name" { "type" "string" }, "last name" { "type" "string" }, "city" { "type" "string" }, "postcode" { "type" "string" }, "state" { "type" "string" }, "country" { "type" "string" }, "address" { "type" "string" }, "customer account" { "type" \["string", "null"] }, "metadata" {} }, "required" \["email", "company name", "reference", "phone", "first name", "last name", "city", "postcode", "state", "country", "metadata"] }, "product details" { "type" "object", "properties" { "product id" { "type" "number" }, "product name" { "type" "string" }, "short code" { "type" "string" }, "authorization method" { "type" "string", "enum" \["license key", "user"] }, "metadata" {} }, "required" \["product id", "product name", "short code", "authorization method", "metadata"] }, "metadata" {}, "trial days" { "type" "number" }, "floating in use devices" { "type" "number" }, "floating users" { "type" "number" }, "max consumptions" { "type" "number" }, "total consumptions" { "type" "number" }, "allow unlimited consumptions" { "type" "boolean" }, "reset consumption" { "type" "boolean" }, "consumption period" { "type" \["string", "null"] } }, "required" \[ "id", "allow grace period", "allow overages", "allow unlimited activations", "can borrow", "channel", "device id", "environment", "eula link", "floating timeout", "grace period", "hash md5", "installation file", "is borrowed", "is expired", "is floating cloud", "is floating", "license active", "license enabled", "license signature", "license type", "max activations", "max borrow time", "max overages", "max transfers", "order store id", "prevent vm", "release date", "release notes link", "requires version", "size", "times activated", "transfer count", "version", "product features", "custom fields", "customer", "product details", "metadata" ] } response signatures the response objects contains the following digital signature license signature see the response signature docid\ oucigcagcaikadwcbx9wk article license signature v2 see the response signature v2 docid\ voa8g6uh1hs qoq34lb8s article offline signature can be used for activating/deactivating using the offline method, see the deactivate license (offline method) docid\ iyg1dxiyqp9vw mlj xuk article 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 docid\ xhxttcvj7gs6qeaqu7cua 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 }{ "$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 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 product version not supported (400) license product version does not support the app ver sent in the request