License API
Get Product Versions
6 min
{ "tab" "examples", "url" "/api/v4/versions", "name" "/api/v4/versions", "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" "env", "kind" "optional", "type" "string", "description" "environment identifier, e g \\"win\\", \\"win32\\", \\"win64\\", \\"mac\\", \\"linux\\", \\"linux32\\", \\"linux64\\"", "children" \[] }, { "name" "channel", "kind" "optional", "type" "string", "description" "channel identifier, e g \\"staging\\", \\"prod\\"", "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 {\n \\"version\\" \\"1 0 0 \\",\n \\"release date\\" \\"2020 11 30t00 00 00 000z\\"\n },\n {\n \\"version\\" \\"1 0 1 \\",\n \\"release date\\" \\"2020 11 30t00 00 00 000z\\"\n },\n {\n \\"version\\" \\"1 0 2\\",\n \\"release date\\" \\"2021 04 30t00 00 00 000z\\"\n }\n]", "language" "200", "customlabel" "" } ], "selectedlanguageid" "qlx3ifr3fpkeqnnhkuaxk" }, "examples" { "languages" \[ { "id" "o5txrdheiybvu5sac4r6e", "language" "curl", "code" "curl location request get '/api/v4/versions?hardware id=string\&product=string\&license key=string\&username=string' \\\\\n header 'accept application/json' \\\\\n header 'date string' \\\\\n header 'authorization string'", "customlabel" "" }, { "id" "tyn1ommyhf75 2qclvpby", "language" "nodejs", "code" "var request = require('request');\nvar options = {\n 'method' 'get',\n 'url' '/api/v4/versions?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", "customlabel" "" }, { "id" "yhcojejcsji84ole gp4y", "language" "javascript", "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/versions?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));", "customlabel" "" }, { "id" "j79rqq2t9reoospbod1op", "language" "python", "code" "import requests\n\nurl = \\"/api/v4/versions?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", "customlabel" "" }, { "id" "stt0rbvxb7kgl6u1njfp7", "language" "ruby", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"/api/v4/versions?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", "customlabel" "" } ], "selectedlanguageid" "o5txrdheiybvu5sac4r6e" }, "description" "returns metadata on all the available versions of a product", "currentnewparameter" { "label" "query parameter", "value" "queryparameters" } } product versions are returned up to the existing maintenance period or validity period on the license if those fields are not defined on a license, all versions will be returned by default schema request query parameters type getproductversionsqueryparameters = { // required parameters product string, hardware id string, // required for key based products license key string // required for user based products username string // optional parameters license id? string | undefined, env? string | undefined, channel? string | undefined, } json schema response body type getproductversionsresponsebody = ({ version string, release date string, // date string in full iso 8601 format, e g "2024 09 27t23 30 48 016z" })\[]; json schema 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 client interactions with the license have to be authorized using a license key user based product licenses the license has a corresponding "license user" instead of a license key client interactions with the license have to be authorized using a username 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