Management API
Order
Create Order
16min
metadata should be in literal string format, e g "metadata" "{ \\"some key\\" \\"some value\\" }" request the id property in the request is a client generated unique identifier for the request, such as a uuid string non bundle order request type requestschema = { id string; append? boolean; campaign params? string; created? string; download id? string; include metadata string? boolean; is test? boolean; language? string; prevent vm? boolean; add to customer account? boolean; customer? customer; items item\[]; } type item = { active? boolean; customer account id? number; key? string; license policy? string; note? string; product code string; subscription id? string; licenses license\[]; } type customer = { email? string; first name? string; last name? string; company name? string; phone? string; reference? string; } type license = (licensewithkey | licensewithusers) & licenseoptional; type licensewithkey = { key? string; } type licensewithusers = { users { email string; is manager? boolean; max activations? number; }\[]; } type licenseoptional = { active? boolean, allow grace period? boolean, allow negative consumptions? boolean, allow overages? boolean, allow unlimited activations? boolean, allow unlimited consumptions? boolean, can borrow? boolean, consumption period? string, enable maintenance period? boolean, enabled? boolean, floating timeout? number, floating users? number, grace period? number, is air gapped? boolean, is floating cloud? boolean, is floating? boolean, is hardware key auth? boolean, is trial? boolean, license template code? string, license template? number, license type? licensetypes, maintenance duration? string, maintenance period? string, max activations? number, max borrow time? number, max consumptions? number, max license users? number, max overages? number, max transfers? number, metadata? jsonobjectrequired | null, policy code? string, prevent vm? boolean, reset consumption? boolean, start date? string, subscription id? string, trial days? number, valid duration? string, validity period? string, custom fields? customfield\[], product features? productfeature\[], } type customfield = { name string, data type 'numer' | 'text' | 'date/time', value string | undefined; }; type productfeature = 'string' | { code string, allow overages? boolean, allow unlimited consumptions? boolean, allow negative consumptions? boolean, consumption period? string, expiry date? string, floating timeout? number, floating users? number, is floating cloud? boolean, is floating? boolean, max consumption? number, max overages? number, metadata? jsonobjectrequired, reset consumption? boolean, }; json schema { "$schema" "https //json schema org/draft/2020 12/schema", "title" "requestschema", "type" "object", "properties" { "id" { "type" "string" }, "append" { "type" "boolean" }, "campaign params" { "type" "string" }, "created" { "type" "string" }, "download id" { "type" "string" }, "include metadata string" { "type" "boolean" }, "is test" { "type" "boolean" }, "language" { "type" "string" }, "prevent vm" { "type" "boolean" }, "add to customer account" { "type" "boolean" }, "customer" { "$ref" "#/$defs/customer" }, "items" { "type" "array", "items" { "$ref" "#/$defs/item" } } }, "required" \[ "id", "items" ], "additionalproperties" false, "$defs" { "customer" { "type" "object", "properties" { "email" { "type" "string" }, "first name" { "type" "string" }, "last name" { "type" "string" }, "company name" { "type" "string" }, "phone" { "type" "string" }, "reference" { "type" "string" } }, "additionalproperties" false }, "item" { "type" "object", "properties" { "active" { "type" "boolean" }, "customer account id" { "type" "number" }, "key" { "type" "string" }, "license policy" { "type" "string" }, "note" { "type" "string" }, "product code" { "type" "string" }, "subscription id" { "type" "string" }, "licenses" { "type" "array", "items" { "$ref" "#/$defs/license" } } }, "required" \[ "product code", "licenses" ], "additionalproperties" false }, "license" { "allof" \[ { "oneof" \[ { "$ref" "#/$defs/licensewithkey" }, { "$ref" "#/$defs/licensewithusers" } ] }, { "$ref" "#/$defs/licenseoptional" } ] }, "licensewithkey" { "type" "object", "properties" { "key" { "type" "string" } }, "additionalproperties" false }, "licensewithusers" { "type" "object", "properties" { "users" { "type" "array", "items" { "type" "object", "properties" { "email" { "type" "string" }, "is manager" { "type" "boolean" } }, "required" \["email"], "additionalproperties" false } } }, "required" \["users"], "additionalproperties" false }, "licenseoptional" { "type" "object", "properties" { "active" { "type" "boolean" }, "allow grace period" { "type" "boolean" }, "allow negative consumptions" { "type" "boolean" }, "allow overages" { "type" "boolean" }, "allow unlimited activations" { "type" "boolean" }, "allow unlimited consumptions" { "type" "boolean" }, "can borrow" { "type" "boolean" }, "consumption period" { "type" "string" }, "enable maintenance period" { "type" "boolean" }, "enabled" { "type" "boolean" }, "floating timeout" { "type" "number" }, "floating users" { "type" "number" }, "grace period" { "type" "number" }, "is air gapped" { "type" "boolean" }, "is floating cloud" { "type" "boolean" }, "is floating" { "type" "boolean" }, "is hardware key auth" { "type" "boolean" }, "is trial" { "type" "boolean" }, "license template code" { "type" "string" }, "license template" { "type" "number" }, "license type" { "$ref" "#/$defs/licensetypes" }, "maintenance duration" { "type" "string" }, "maintenance period" { "type" "string" }, "max activations" { "type" "number" }, "max borrow time" { "type" "number" }, "max consumptions" { "type" "number" }, "max license users" { "type" "number" }, "max overages" { "type" "number" }, "max transfers" { "type" "number" }, "metadata" { "anyof" \[ { "$ref" "#/$defs/jsonobjectrequired" }, { "type" "null" } ] }, "policy code" { "type" "string" }, "prevent vm" { "type" "boolean" }, "reset consumption" { "type" "boolean" }, "start date" { "type" "string" }, "subscription id" { "type" "string" }, "trial days" { "type" "number" }, "valid duration" { "type" "string" }, "validity period" { "type" "string" }, "custom fields" { "type" "array", "items" { "$ref" "#/$defs/customfield" } }, "product features" { "type" "array", "items" { "$ref" "#/$defs/productfeature" } } }, "additionalproperties" false }, "customfield" { "type" "object", "properties" { "name" { "type" "string" }, "data type" { "enum" \["numer", "text", "date/time"] }, "value" { "type" "string" } }, "required" \["name", "data type"], "additionalproperties" false }, "productfeature" { "oneof" \[ { "type" "string", "const" "string" }, { "type" "object", "properties" { "code" { "type" "string" }, "allow overages" { "type" "boolean" }, "allow unlimited consumptions" { "type" "boolean" }, "allow negative consumptions" { "type" "boolean" }, "consumption period" { "type" "string" }, "expiry date" { "type" "string" }, "floating timeout" { "type" "number" }, "floating users" { "type" "number" }, "is floating cloud" { "type" "boolean" }, "is floating" { "type" "boolean" }, "max consumption" { "type" "number" }, "max overages" { "type" "number" }, "metadata" { "$ref" "#/$defs/jsonobjectrequired" }, "reset consumption" { "type" "boolean" } }, "required" \["code"], "additionalproperties" false } ] }, "jsonobjectrequired" { "type" "object", "additionalproperties" true }, "licensetypes" { "enum" \[ "perpetual", "subscription", "consumption", "time limited" ] } } } example key based license { "id" "id 1546606209296", "items" \[ { "product code" "tt", "licenses" \[ { "key" "123 123 123 123 123" } ] } ] } example user based license { "id" "id 1546606209296", "items" \[ { "product code" "tt", "licenses" \[ { "users" \[{ "email" "end user\@gmail com", "is manager" false }] } ] } ] } bundle order request type schema = { id string; is bundle true; append? boolean; campaign params? string; created? string; download id? string; include metadata string? boolean; is test? boolean; language? string; prevent vm? boolean; add to customer account? boolean; customer? customer | null; items item\[]; } type item = { active? boolean; customer account id? number; key? string; license policy? string; note? string; product code string; subscription id? string; licenses license\[]; } type customer = { email? string; first name? string; last name? string; company name? string; phone? string; reference? string; } type licensewithkey = { key? string; license template code? string; policy code string; allow negative consumptions? boolean; } type licensewithusers = { product code string; users { email string; is manager? boolean; }\[]; } type license = (licensewithkey | licensewithusers) & licenseoptional; type licensecommon = { active? boolean, allow grace period? boolean, allow negative consumptions? boolean, allow overages? boolean, allow unlimited activations? boolean, allow unlimited consumptions? boolean, can borrow? boolean, consumption period? string, enable maintenance period? boolean, enabled? boolean, floating timeout? number, floating users? number, grace period? number, is air gapped? boolean, is floating cloud? boolean, is floating? boolean, is hardware key auth? boolean, is trial? boolean, license template code? string, license template? number, license type? licensetypes, maintenance duration? string, maintenance period? string, max activations? number, max borrow time? number, max consumptions? number, max license users? number, max overages? number, max transfers? number, metadata? jsonobjectrequired | null, policy code? string, prevent vm? boolean, reset consumption? boolean, start date? string, subscription id? string, trial days? number, valid duration? string, validity period? string, custom fields? customfield\[], product features? productfeature\[], } type customfield = { name string, data type 'numer' | 'text' | 'date/time', value string | undefined; }; type productfeature = 'string' | { code string, allow overages? boolean, allow unlimited consumptions? boolean, allow negative consumptions? boolean, consumption period? string, expiry date? string, floating timeout? number, floating users? number, is floating cloud? boolean, is floating? boolean, max consumption? number, max overages? number, metadata? jsonobjectrequired, reset consumption? boolean, }; json schema { "$schema" "https //json schema org/draft/2020 12/schema", "title" "schema", "type" "object", "properties" { "id" { "type" "string" }, "is bundle" { "const" true }, "append" { "type" "boolean" }, "campaign params" { "type" "string" }, "created" { "type" "string" }, "download id" { "type" "string" }, "include metadata string" { "type" "boolean" }, "is test" { "type" "boolean" }, "language" { "type" "string" }, "prevent vm" { "type" "boolean" }, "add to customer account" { "type" "boolean" }, "customer" { "oneof" \[ { "$ref" "#/$defs/customer" }, { "type" "null" } ] }, "items" { "type" "array", "items" { "$ref" "#/$defs/item" } } }, "required" \["id", "is bundle", "items"], "additionalproperties" false, "$defs" { "customer" { "type" "object", "properties" { "email" { "type" "string" }, "first name" { "type" "string" }, "last name" { "type" "string" }, "company name" { "type" "string" }, "phone" { "type" "string" }, "reference" { "type" "string" } }, "additionalproperties" false }, "item" { "type" "object", "properties" { "active" { "type" "boolean" }, "customer account id" { "type" "number" }, "key" { "type" "string" }, "license policy" { "type" "string" }, "note" { "type" "string" }, "product code" { "type" "string" }, "subscription id" { "type" "string" }, "licenses" { "type" "array", "items" { "$ref" "#/$defs/license" } } }, "required" \["product code", "licenses"], "additionalproperties" false }, "license" { "allof" \[ { "oneof" \[ { "$ref" "#/$defs/licensewithkey" }, { "$ref" "#/$defs/licensewithusers" } ] }, { "$ref" "#/$defs/licenseoptional" } ] }, "licensewithkey" { "type" "object", "properties" { "key" { "type" "string" }, "license template code" { "type" "string" }, "policy code" { "type" "string" }, "allow negative consumptions" { "type" "boolean" } }, "required" \["policy code"], "additionalproperties" false }, "licensewithusers" { "type" "object", "properties" { "product code" { "type" "string" }, "users" { "type" "array", "items" { "type" "object", "properties" { "email" { "type" "string" }, "is manager" { "type" "boolean" } }, "required" \["email"], "additionalproperties" false } } }, "required" \["product code", "users"], "additionalproperties" false }, "licenseoptional" { "type" "object", "properties" { "active" { "type" "boolean" }, "allow grace period" { "type" "boolean" }, "allow negative consumptions" { "type" "boolean" }, "allow overages" { "type" "boolean" }, "allow unlimited activations" { "type" "boolean" }, "allow unlimited consumptions" example key based bundle { "id" "45gvs334t3edsa", "is bundle" true, "items" \[ { "product code" "lkpb", "key" "aaaa aaaa aaaa 1130", "active" true, "subscription id" 12345, "licenses" \[ { "product code" "lkbp1" }, { "product code" "lkbp2" } ] } ] } example user based bundle { "id" "54yghtref45t", "is bundle" true, "items" \[ { "product code" "upb", "licenses" \[ { "active" true, "max activations" 30, "product code" "up", "is trial" false, "policy code" "dftlp", "custom fields" \[ { "name" "customfield1", "value" "abcd" } ] } ], "users" \[{ "email" "someuser\@mail com", "is manager" false }] } ] } response non bundle order response type orderresponse = { order id string, order items \[ { id number, product id number, licenses license\[], } ], new passwords { email string, password string }\[], } type license = licensecommon & ({ license key string; users never; max license users never; } | { license key never; users { email string, first name? string, last name? string, phone number? string, is manager boolean, }\[]; max license users number; }) & ({ license type 'perpetual' } | { license type 'subscription'; allow grace period boolean; grace period number; time activated number; } | { license type 'consumption'; allow negative consumptions boolean; allow overages boolean; allow unlimited consumptions boolean; consumption period string | null; max consumptions number; max overages number; reset consumption boolean; } | { license type 'time limited' }) & ({ enable maintenance period false; } | { enable maintenance period true; maintenance duration string; maintenance period? string | null; }); type licensecommon = { id number, product id number, active boolean, enabled true, created at number, updated at number, license type licensetypes, max activations number, allow unlimited activations boolean, valid duration string | null, floating timeout number, max transfers number, can borrow boolean, max borrow time number, start date string | null, is air gapped boolean, license template id number | null, validity period string | null, subscription id string, enable maintenance period boolean, is floating cloud boolean, is floating boolean, floating users number, is trial boolean, trial days number, prevent vm boolean, metadata record\<string, any>, is hardware key auth boolean, order id number, licensecustomfields { product custom field id number; value string | undefined; }\[], licenseproductfeatures { id number, allow negative consumptions boolean, allow overages boolean, allow unlimited consumptions boolean, consumption period? string, expiry date string | null, floating timeout number, floating users? number, is floating cloud? boolean, is floating? boolean, max consumption number, max overages number, metadata record\<string, any>, name? string, product feature id number, reset consumption boolean, }\[], }; enum licensetypes { perpetual = 'perpetual', time limited = 'time limited', consumption = 'consumption', subscription = 'subscription', }; json schema { "$schema" "https //json schema org/draft/2020 12/schema", "title" "orderresponse", "type" "object", "properties" { "order id" { "type" "string" }, "order items" { "type" "array", "items" { "$ref" "#/$defs/orderitem" } }, "new passwords" { "type" "array", "items" { "$ref" "#/$defs/newpassword" } } }, "required" \["order id", "order items", "new passwords"], "additionalproperties" false, "$defs" { "orderitem" { "type" "object", "properties" { "id" { "type" "number" }, "product id" { "type" "number" }, "licenses" { "type" "array", "items" { "$ref" "#/$defs/license" } } }, "required" \["id", "product id", "licenses"], "additionalproperties" false }, "newpassword" { "type" "object", "properties" { "email" { "type" "string" }, "password" { "type" "string" } }, "required" \["email", "password"], "additionalproperties" false }, "licensecommon" { "type" "object", "properties" { "id" { "type" "number" }, "product id" { "type" "number" }, "active" { "type" "boolean" }, "enabled" { "const" true }, "created at" { "type" "number" }, "updated at" { "type" "number" }, "license type" { "type" "string", "enum" \["perpetual", "time limited", "consumption", "subscription"] }, "max activations" { "type" "number" }, "allow unlimited activations" { "type" "boolean" }, "valid duration" { "type" \["string", "null"] }, "floating timeout" { "type" "number" }, "max transfers" { "type" "number" }, "can borrow" { "type" "boolean" }, "max borrow time" { "type" "number" }, "start date" { "type" \["string", "null"] }, "is air gapped" { "type" "boolean" }, "license template id" { "type" \["number", "null"] }, "validity period" { "type" \["string", "null"] }, "subscription id" { "type" "string" }, "enable maintenance period" { "type" "boolean" }, "is floating cloud" { "type" "boolean" }, "is floating" { "type" "boolean" }, "floating users" { "type" "number" }, "is trial" { "type" "boolean" }, "trial days" { "type" "number" }, "prevent vm" { "type" "boolean" }, "metadata" { "type" "object", "additionalproperties" true }, "is hardware key auth" { "type" "boolean" }, "order id" { "type" "number" }, "licensecustomfields" { "type" "array", "items" { "type" "object", "properties" { "product custom field id" { "type" "number" }, "value" { "type" \["string", "null"] } }, "required" \["product custom field id"], "additionalproperties" false } }, "licenseproductfeatures" { "type" "array", "items" { "type" "object", "properties" { "id" { "type" "number" }, "allow negative consumptions" { "type" "boolean" }, "allow overages" { "type" "boolean" }, "allow unlimited consumptions" { "type" "boolean" }, "consumption period" { "type" "string" }, "expiry date" { "type" \["string", "null"] }, "floating timeout" { "type" "number" }, "floating users" { "type" "number" }, "is floating cloud" { "type" "boolean" }, "is floating" { "type" "boolean" }, "max consumption" { "type" "number" }, "max overages" { "type" "number" }, "metadata" { "type" "object", "additionalproperties" true }, "name" { "type" "string" }, "product feature id" { "type" "number" }, "reset consumption" { "type" "boolean" } }, "required" \[ "id", "allow negative consumptions", "allow overages", "allow unlimited consumptions", "floating timeout", "max consumption", "max overages", "metadata", "product feature id", "reset consumption" ], "additionalproperties" false } } }, "required" \[ "id", "product id", "active", "enabled", "created at", "updated at", "license type", "max activations", "allow unlimited activations", "valid duration", "floating timeout", "max transfers", "can borrow", "max borrow time", "start date", "is air gapped", "license template id", "validity period", "subscription id", "enable maintenance period", "is floating cloud", "is floating", "floating users", "is trial", "trial days", "prevent vm", "metadata", "is hardware key auth", "order id", "licensecustomfields", "licenseproductfeatures" ], "additionalproperties" false }, "license" { "allof" \[ { "$ref" "#/$defs/licensecommon" }, { "oneof" \[ { "type" "object", "properties" { "license key" { "type" "string" }, "users" { "not" {} }, "max license users" { "not" {} } }, "required" \["license key"], "additionalproperties" true }, { "type" "object", "properties" { "users" { "type" "array", "items" { "type" "object", "properties" { "email" { "type" "string" }, "first name" { "type" "string" }, "last name" { "type" "string" }, "phone number" { "type" "string" }, "is manager" { "type" "boolean" } }, "required" \["email", "is manager"], "additionalproperties" false } }, "max license users" { "type" "number" }, "license key" { "not" {} } }, "required" \["users", "max license users"], "additionalproperties" true } ] }, { "oneof" \[ { "type" "object", "properties" { "license type" { "const" "perpetual" } }, "required" \["license type"], "additionalproperties" true }, { "type" "object", "properties" { "license type" { "const" "subscription" }, "allow grace period" { "type" "boolean" }, "grace period" { "type" "number" }, "time activated" { "type" "number" } }, "required" \[ "license type", "allow grace period", "grace period", "time activated" ], "additionalproperties" true }, { "type" "object", "properties" { "license type" { "const" "consumption" }, "allow negative consumptions" { "type" "boolean" }, "allow overages" { "type" "boolean" }, "allow unlimited consumptions" { "type" "boolean" }, "consumption period" { "type" \["string", "null"] }, "max consumptions" { "type" "number" }, "max overages" { "type" "number" }, "reset consumption" { "type" "boolean" } }, "required" \[ "license type", "allow negative consumptions", "allow overages", "allow unlimited consumptions", "consumption period", "max consumptions", "max overages", "reset consumption" ], "additionalproperties" true }, { "type" "object", "properties" { "license type" { "const" "time limited" } }, "required" \["license type"], "additionalproperties" true } ] }, { "oneof" \[ { "type" "object", "properties" { "enable maintenance period" { "const" false } }, "required" \["enable maintenance period"], "additionalproperties" true }, { "type" "object", "properties" { "enable maintenance period" { "const" true }, "maintenance duration" { "type" "string" }, "maintenance period" { "type" \["string", "null"] } }, "required" \["enable maintenance period", "maintenance duration"], "additionalproperties" true } ] } ] } } } example response { "order id" "1740411907268009", "order items" \[ { "id" "1740411907316029", "product id" 1737539180381356, "licenses" \[ { "id" "1740411907281019", "product id" 1737539180381356, "active" false, "enabled" true, "created at" 1740411907285, "updated at" 1740411907285, "license type" "perpetual", "max activations" 1, "allow unlimited activations" false, "valid duration" null, "floating timeout" 120, "max transfers" 0, "can borrow" false, "max borrow time" 0, "start date" null, "is air gapped" false, "license template id" null, "validity period" null, "subscription id" "", "enable maintenance period" false, "is floating cloud" false, "is floating" false, "floating users" 0, "is trial" false, "trial days" 0, "prevent vm" false, "metadata" {}, "is hardware key auth" false, "license key" "b4e5 yapf b7yb shlk", "order id" "1740411907268009", "licenseproductfeatures" \[], "licensecustomfields" \[] } ] } ], "new passwords" \[ \[] ] } bundle order response type bundleorderresponse = { order id string, order items \[ { id number, product id number, licenses license\[], } ], new passwords { email string, password string }\[], } type license = bundlelicense | sublicense; type bundlelicense = licensecommon & { order id number, note? string, is bundle true, time activated? number, } & ({ license key string; users never; max license users never; } | { license key never; users { email string, first name? string, last name? string, phone number? string, is manager boolean, }\[]; max license users number; }); type sublicense = licensecommon & { order id number, note? string, bundle license id number, licensecustomfields { product custom field id number; value string | undefined; }\[], licenseproductfeatures { id number, allow negative consumptions boolean, allow overages boolean, allow unlimited consumptions boolean, consumption period? string, expiry date string | null, floating timeout number, floating users? number, is floating cloud? boolean, is floating? boolean, max consumption number, max overages number, metadata record\<string, any>, name? string, product feature id number, reset consumption boolean, }\[], } type licensecommon = { id number; active boolean; allow unlimited activations boolean; can borrow boolean; created at number; enabled boolean; floating timeout number; floating users number; is air gapped boolean; is floating cloud boolean; is floating boolean; is hardware key auth boolean; is trial boolean; license template id? number | null; max activations number; max borrow time number; max transfers number; metadata record\<string, any>; prevent vm boolean; product id number; start date string | null; subscription id string; trial days number; updated at number; valid duration string | null; validity period? string; } & ({ license type 'perpetual' } | { license type 'subscription'; allow grace period boolean; grace period number; time activated number; } | { license type 'consumption'; allow negative consumptions boolean; allow overages boolean; allow unlimited consumptions boolean; consumption period string | null; max consumptions number; max overages number; reset consumption boolean; } | { license type 'time limited' }) & ({ enable maintenance period false; } | { enable maintenance period true; maintenance duration string; maintenance period? string | null; }); enum licensetypes { perpetual = 'perpetual', time limited = 'time limited', consumption = 'consumption', subscription = 'subscription', }; json schema { "$schema" "https //json schema org/draft/2020 12/schema", "title" "bundleorderresponse", "type" "object", "properties" { "order id" { "type" "string" }, "order items" { "type" "array", "prefixitems" \[ { "$ref" "#/$defs/orderitem" } ], "minitems" 1, "maxitems" 1 }, "new passwords" { "type" "array", "items" { "$ref" "#/$defs/newpassword" } } }, "required" \[ "order id", "order items", "new passwords" ], "additionalproperties" false, "$defs" { "orderitem" { "type" "object", "properties" { "id" { "type" "number" }, "product id" { "type" "number" }, "licenses" { "type" "array", "items" { "$ref" "#/$defs/license" } } }, "required" \[ "id", "product id", "licenses" ], "additionalproperties" false }, "newpassword" { "type" "object", "properties" { "email" { "type" "string" }, "password" { "type" "string" } }, "required" \[ "email", "password" ], "additionalproperties" false }, "license" { "oneof" \[ { "$ref" "#/$defs/bundlelicense" }, { "$ref" "#/$defs/sublicense" } ] }, "bundlelicense" { "allof" \[ { "$ref" "#/$defs/licensecommon" }, { "type" "object", "properties" { "order id" { "type" "number" }, "note" { "type" "string" }, "is bundle" { "const" true }, "time activated" { "type" "number" } }, "required" \[ "order id", "is bundle" ], "additionalproperties" false }, { "oneof" \[ { "type" "object", "properties" { "license key" { "type" "string" } }, "required" \[ "license key" ], "additionalproperties" false }, { "type" "object", "properties" { "users" { "type" "array", "items" { "type" "object", "properties" { "email" { "type" "string" }, "first name" { "type" "string" }, "last name" { "type" "string" }, "phone number" { "type" "string" }, "is manager" { "type" "boolean" } }, "required" \[ "email", "is manager" ], "additionalproperties" false } }, "max license users" { "type" "number" } }, "required" \[ "users", "max license users" ], "additionalproperties" false } ] } ] }, "sublicense" { "allof" \[ { "$ref" "#/$defs/licensecommon" }, { "type" "object", "properties" { "order id" { "type" "number" }, "note" { "type" "string" }, "bundle license id" { "type" "number" }, "licensecustomfields" { "type" "array", "items" { "type" "object", "properties" { "product custom field id" { "type" "number" }, "value" { "type" "string" } }, "required" \[ "product custom field id" ], "additionalproperties" false } }, "licenseproductfeatures" { "type" "array", "items" { "type" "object", "properties" { "id" { "type" "number" }, "allow negative consumptions" { "type" "boolean" }, "allow overages" { "type" "boolean" }, "allow unlimited consumptions" { "type" "boolean" }, "consumption period" { "type" "string" }, "expiry date" { "type" \["string", "null"] }, "floating timeout" { "type" "number" }, "floating users" { "type" "number" }, "is floating cloud" { "type" "boolean" }, "is floating" { "type" "boolean" }, "max consumption" { "type" "number" }, "max overages" { "type" "number" }, "metadata" { "type" "object", "additionalproperties" true }, "name" { "type" "string" }, "product feature id" { "type" "number" }, "reset consumption" { "type" "boolean" } }, "required" \[ "id", "allow negative consumptions", "allow overages", "allow unlimited consumptions", "floating timeout", "max consumption", "max overages", "metadata", "product feature id", "reset consumption" ], "additionalproperties" false } } }, "required" \[ "order id", "bundle license id", "licensecustomfields", "licenseproductfeatures" ], "additionalproperties" false } ] }, "licensecommon" { "allof" \[ { "type" "object", "properties" { "id" { "type" "number" }, "active" { "type" "boolean" }, "allow unlimited activations" { "type" "boolean" }, "can borrow" { "type" "boolean" }, "created at" { "type" "number" }, "enabled" { "type" "boolean" }, "floating timeout" { "type" "number" }, "floating users" { "type" "number" }, "is air gapped" { "type" "boolean" }, "is floating cloud" { "type" "boolean" }, "is floating" { "type" "boolean" }, "is hardware key auth" { "type" "boolean" }, "is trial" { "type" "boolean" }, "license template id" { "type" \["number", "null"] }, "max activations" { "type" "number" }, "max borrow time" { "type" "number" }, "max transfers" { "type" "number" }, "metadata" { "type" "object", "additionalproperties" true }, "prevent vm" { "type" "boolean" }, "product id" { "type" "number" }, "start date" { "type" \["string", "null"] }, "subscription id" { "type" "string" }, "trial days" { "type" "number" }, "updated at" { "type" "number" }, "valid duration" { "type" \["string", "null"] }, "validity period" { "type" "string" } }, "required" \[ "id", "active", "allow unlimited activations", "can borrow", "created at", "enabled", "floating timeout", "floating users", "is air gapped", "is floating cloud", "is floating", "is hardware key auth", "is trial", "max activations", "max borrow time", "max transfers", "metadata", "prevent vm", "product id", "start date", "subscription id", "trial days", "updated at", "valid duration" ], "additionalproperties" false }, { "oneof" \[ { "type" "object", "properties" { "license type" { "const" "perpetual" } }, "required" \["license type"], "additionalproperties" true }, { "type" "object", "properties" { "license type" { "const" "subscription" }, "allow grace period" { "type" "boolean" }, "grace period" { "type" "number" }, "time activated" { "type" "number" } }, "required" \[ "license type", "allow grace period", "grace period", "time activated" ], "additionalproperties" true }, { "type" "object", "properties" { "license type" { "const" "consumption" }, "allow negative consumptions" { "type" "boolean" }, "allow overages" { "type" "boolean" }, "allow unlimited consumptions" { "type" "boolean" }, "consumption period" { "type" \["string", "null"] }, "max consumptions" { "type" "number" }, "max overages" { "type" "number" }, "reset consumption" { "type" "boolean" } }, "required" \[ "license type", "allow negative consumptions", "allow overages", "allow unlimited consumptions", "consumption period", "max consumptions", "max overages", "reset consumption" ], "additionalproperties" true }, { "type" "object", "properties" { "license type" { "const" "time limited" } }, "required" \["license type"], "additionalproperties" true } ] }, { "oneof" \[ { "type" "object", "properties" { "enable maintenance period" { "const" false } }, "required" \["enable maintenance period"], "additionalproperties" true }, { "type" "object", "properties" { "enable maintenance period" { "const" true }, "maintenance duration" { "type" "string" }, "maintenance period" { "type" \["string", "null"] } }, "required" \[ "enable maintenance period", "maintenance duration" ], "additionalproperties" true } ] } ] } } } example response { "order id" "1742897553827009", "order items" \[ { "id" "1742897554021019", "product id" 4, "licenses" \[ { "id" "1742897554024029", "product id" 4, "active" false, "enabled" true, "created at" 1742897554029, "updated at" 1742897554029, "license type" "perpetual", "max activations" 1, "allow unlimited activations" false, "valid duration" null, "floating timeout" 120, "max transfers" 0, "can borrow" false, "max borrow time" 0, "start date" null, "is air gapped" false, "license template id" null, "validity period" null, "subscription id" "", "enable maintenance period" false, "is floating cloud" false, "is floating" false, "floating users" 1, "is trial" false, "trial days" 15, "prevent vm" false, "metadata" {}, "is hardware key auth" false, "license key" "b32m axcn gpey celk", "order id" "1742897553827009", "is bundle" true }, { "id" "1742897554109039", "product id" 1, "active" false, "enabled" true, "created at" 1742897554112, "updated at" 1742897554112, "license type" "perpetual", "max activations" 1, "allow unlimited activations" false, "valid duration" null, "floating timeout" 120, "max transfers" 0, "can borrow" false, "max borrow time" 0, "start date" null, "is air gapped" false, "license template id" null, "validity period" null, "subscription id" "", "enable maintenance period" false, "is floating cloud" false, "is floating" false, "floating users" 0, "is trial" false, "trial days" 1, "prevent vm" false, "metadata" {}, "is hardware key auth" false, "bundle license id" "1742897554024029", "order id" "1742897553827009", "licenseproductfeatures" \[ { "id" "1742897554115049", "product feature id" 5, "max consumption" 12, "expiry date" null, "metadata" {}, "is floating" false, "is floating cloud" false, "floating timeout" 120, "floating users" 1 } ], "licensecustomfields" \[] }, { "id" "1742897554118059", "product id" 1, "active" false, "enabled" true, "created at" 1742897554120, "updated at" 1742897554120, "license type" "perpetual", "max activations" 1, "allow unlimited activations" false, "valid duration" null, "floating timeout" 120, "max transfers" 0, "can borrow" false, "max borrow time" 0, "start date" null, "is air gapped" false, "license template id" null, "validity period" null, "subscription id" "", "enable maintenance period" false, "is floating cloud" false, "is floating" false, "floating users" 0, "is trial" false, "trial days" 1, "prevent vm" false, "metadata" {}, "is hardware key auth" false, "bundle license id" "1742897554024029", "order id" "1742897553827009", "licenseproductfeatures" \[ { "id" "1742897554207069", "product feature id" 5, "max consumption" 12, "expiry date" null, "metadata" {}, "is floating" false, "is floating cloud" false, "floating timeout" 120, "floating users" 1 } ], "licensecustomfields" \[] } ] } ], "new passwords" \[ \[] ] } licenses each entry in the items array specifies a product code and a list of licenses being associated to that product the following examples show a minimal order request payload for key based and user based licenses key based license order { "id" "id 1546606209296", "items" \[ { "product code" "tt", "licenses" \[ { "key" "123 123 123 123 123" } ] } ] } user based license order { "id" "id 1546606209296", "items" \[ { "product code" "tt", "licenses" \[ { "users" \[{ "email" "end user\@gmail com", "is manager" false }] } ] } ] } for each license you can specify a policy code within the license object which will assign properties to a license based on the specified license policy (for more details on these properties, see the next section) if no policy code is specified, the default license policy defined for the product will be used you can also explicitly specify license properties which will override the license policy values for example { "id" "id 1546606209296", "items" \[ { "product code" "tt", "licenses" \[ { "key" "123 123 123 123 123", "policy code" "policy a", "max activations" 10 } ] } ] } in the above example, all license properties for the created license will be taken from the license policy "policy a", with the exception of the max activations property which was explicitly specified in the order request payload authorization methods key based vs user based licenses each product you create in the system allows for one of two possible license authorization methods key based clients interacting with the license are required to provide a license key in their request user based clients interacting with the license are required to provide user credentials in their request when sending an order creation request, the authorization method of licenses in the request are determined by each license's product when creating key based licenses in an order, you can provide a license key in the key property of the license this is optional, and if omitted our system will generate a unique license key which will be returned to you in the order creation response object when creating user based licenses in an order, you must specify the users (1 or more) attached to that license by specifying them in a list in the users property of the license additional license properties max activations maximum number of time this license can be activated if not set, product max activations is being used if defined for the product, if not default value of 1 activation is being used license type type of license value can be either time limited , perpetual consumption or subscription if it is a time limited license, valid duration should also be set for the license if it is perpetual license then valid duration does not apply and if consumption, max consumptions is being used and should be set in order, if not, product max consumptions is being used for subscription licenses , licensespring requires an integration to an external source of truth (like a recurring billing system) licensespring updates the status of the license according to the status of the subscription, which is handled by a 3rd party without this integration, subscription licenses remain valid until otherwise specified max consumptions used in pair with consumption license type defines how many times product can be used within the license valid duration defines how long license should be valid value examples 1y (one year) or 2m (2 months) or 3d (3 days) or 4h (4 hours) or 5min (5 minutes) enable maintenance duration whether license should consider maintenance duration, used in pair with maintenance duration start date start date of license "2024 03 12" maintenance duration duration of license maintenance period value examples 1y (one year) or 2m (2 months) or 3d (3 days) validity period final end date and time license is valid product features array of additional product features shorter version with product feature code only \["feature1", "feature2"] longer version, suitable for consumption features \[{code "feature code", max consumption 33}] is trial boolean, defaults to false whether this is a trial license or not prevent vm boolean, defaults to false whether license should be allowed on virtual machines max transfers integer, defaults to 0 (device transfer not allowed ) limit of license transfers between different devices for user based licenses, instead of a license key, user is assigned as an object email required, email of the license user is manager optional (default false), if this user is license manager for all licenses in this order only for consumption licenses allow overages boolean, defaults to false whether license should allow overage license usage regardless the consumption, value example true or false max overages number, maximum overage of consumption over the max consumption reset consumption boolean, defaults to false, whether license consumption my be reset, value example true or false consumption period period over which licenses are reset week , month or year bundle product orders licensespring allows for products to be bundled, and the two types of products discussed in this article respective to bundling are non bundle products (default) these are singular products where each license is attached to one product clients interacting with these licenses use the following endpoints on the license api activate license (online method) docid\ mt2ygm6cjzh2bumu gfww activate license (offline method) docid\ h vewme7ryj7qfbikvgup check license docid\ zh4kfih s59tzibzkeb9o deactivate bundle (online method) docid\ nzu6srynqlled2 hhvhr deactivate license (offline method) docid\ iyg1dxiyqp9vw mlj xuk bundle products these are products that contain multiple products within the system creates a license for both the bundle itself and the products contained in the bundle activating/deactivating the top level bundle license also activates/deactivates the licenses included within the bundle clients interacting with these licenses use the following endpoints on the license api activate bundle (online method) docid\ sj4ujbbdqwmf3qjdvnhdh activate bundle (offline method) docid 0awea7jlugzt14z9 qsqi check bundle docid\ odudsbu1bnxycgt4zx8fw deactivate bundle (online method) docid\ nzu6srynqlled2 hhvhr deactivate bundle (offline method) docid\ ucxi3f0ly0ysvouqhh8lf a bundle order contains multiple products linked to a single bundle product to create a bundle order, you have to set the is bundle property, and the products within the bundle are explicitly specified within each license object, as in the following examples bundle of key based licenses { "id" "2cdf5739334b4688b04c4bbfb3da89618", "is bundle" true, "append" false, "customer" null, "items" \[ { "product code" "drama", // bundle product code "key" "gp14q qa4z m6sk cxbu", "users" \[], "licenses" \[ { "policy code" "dftlp", // the deprecated name for this attribute is "license template code" "product code" "p" }, { "policy code" "dftlp", "product code" "p34" } ] } ], "reference" "" } bundle of user based licenses { "id" "2cdf57393364b4688b304c4bbfb9da89618", "is bundle" true, "append" false, "customer" null, "items" \[ { "product code" "d1", // bundle product code "users" \[ { "email" "myuser\@test com", "is manager" false } ], "licenses" \[ { "policy code" "dftlp", "product code" "p2" }, { "policy code" "dftlp", "product code" "12" } ] } ], "reference" "" } for bundle orders, the policy code property is mandatory for bundle orders, the policy code property has an alternate name license template code both function identically, though the license template code name is considered deprecated on the api