License Management API v2.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Authentication
-
HTTP Authentication, scheme: basic
-
HTTP Authentication, scheme: Bearer
License Management
Endpoints supporting the update and review of active licenses.
Returns a description of the currently installed license
Code samples
# You can also use wget
curl -X GET /api/v2/license \
-H 'Accept: application/json'
GET /api/v2/license HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v2/license',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/api/v2/license',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/api/v2/license', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/api/v2/license', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/api/v2/license");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/api/v2/license", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v2/license
Returns details of the active license along with usage information against each of the licensed Entitlement Limits.
Example responses
200 Response
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "halo:license",
"productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
"policyName": "halo:bronze_level:contract",
"licenseHolder": "glasswall",
"daysLeft": 0,
"startDate": "2019-08-24",
"expirationDate": "2019-08-24",
"status": "active",
"entitlements": [
"Glasswall Embedded Engine: Main",
"Glasswall Embedded Engine: Protect",
"Glasswall Embedded Engine: Analysis",
"Glasswall Embedded Engine: Export / Import",
"Glasswall Halo: File Analysis Protect"
],
"entitlementLimits": {
"haloProcessingFileLimit": {
"limit": "12k",
"tally": 123,
"flexDaysUsed": 0,
"flexDaysLimit": "2",
"flexAmountLimit": "1k"
},
"haloProcessingDataLimit": {
"limit": "unlimited",
"tally": 4567,
"flexDaysUsed": 1,
"flexDaysLimit": "2",
"flexAmountLimit": "10%"
}
},
"anomalies": [
{
"source": "string",
"message": "string",
"time": "2019-08-24T14:15:22Z"
}
]
}
401 Response
[
"Unauthorised request"
]
404 Response
[
"License not found"
]
5XX Response
[
"System error processing request"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | License description | LicenseDetails |
401 | Unauthorized | Unauthorised Request | Error |
404 | Not Found | License not found | Error |
5XX | Unknown | Processing Error | Error |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Cache-Control | string | Prevent sensitive information from being cached. | |
200 | ContentTypeHeader | string | Indicates the response content type | |
200 | ContentTypeOptionsHeader | string | To prevent browsers from performing MIME sniffing, and inappropriately interpreting responses as HTML. | |
200 | FrameOptionsHeader | string | To protect against drag-and-drop style clickjacking attacks. | |
200 | ContentSecurityPolicyHeader | string | To protect against drag-and-drop style clickjacking attacks. | |
200 | StrictTransportSecurityHeader | string | Uses a week long max-age to prevent any communications from being sent to this domain over HTTP |
Schemas
LicenseId
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
Unique identity of a license.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(uuid) | false | none | Unique identity of a license. |
LicenseName
"halo:license"
Name assigned to the license when issued.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Name assigned to the license when issued. |
ProductId
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
Unique identity of the product for which the license has been issued.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(uuid) | false | none | Unique identity of the product for which the license has been issued. |
PolicyName-2
"halo:bronze_level:contract"
Identifies the policy. The naming convention for creating new products is all lower case, with underscore separation of words.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Identifies the policy. The naming convention for creating new products is all lower case, with underscore separation of words. |
LicenseHolder
"glasswall"
Identifies the license holder. Read from the name of the ‘Group’ component within the License.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Identifies the license holder. Read from the name of the ‘Group’ component within the License. |
LicenseDayCount
0
Records how many days remain on the license before expiry.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | integer | false | none | Records how many days remain on the license before expiry. |
LicenseDate
"2019-08-24"
Definition of date format string used in licenses.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(date) | false | none | Definition of date format string used in licenses. |
LicenseStatus
"active"
Identifies the operational status of a validated license.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Identifies the operational status of a validated license. |
Enumerated Values
Property | Value |
---|---|
anonymous | active |
anonymous | expired |
LicenseEntitlementName
"Embedded Engine: Main"
Name of the entitlement taken from the name
property in the license.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Name of the entitlement taken from the name property in the license. |
LicenseEntitlementList
[
"Glasswall Embedded Engine: Main",
"Glasswall Embedded Engine: Protect",
"Glasswall Embedded Engine: Analysis",
"Glasswall Embedded Engine: Export / Import",
"Glasswall Halo: File Analysis Protect"
]
List of license entitlements.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [LicenseEntitlementName] | false | none | List of license entitlements. |
DecimalSIStringValue
"12M"
Define a string value that uses Decimal SI to size an integer value.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Define a string value that uses Decimal SI to size an integer value. |
LicenseEntitlementLimit
"Unlimited"
Properties
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | DecimalSIStringValue | false | none | Define a string value that uses Decimal SI to size an integer value. |
Enumerated Values
Property | Value |
---|---|
anonymous | Unlimited |
LicenseEntitlementTally
0
Reported value of a Entitlement Limit Tally
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | integer(int64) | false | none | Reported value of a Entitlement Limit Tally |
LicenseEntitlementLimitUsageItem
{
"limit": "Unlimited",
"tally": 0,
"flexDaysUsed": 0,
"flexDaysLimit": "Unlimited",
"flexAmountLimit": "Unlimited"
}
Reports that tally value against the associated entitlement limit.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
limit | LicenseEntitlementLimit | false | none | none |
tally | LicenseEntitlementTally | false | none | Reported value of a Entitlement Limit Tally |
flexDaysUsed | integer | false | none | none |
flexDaysLimit | LicenseEntitlementLimit | false | none | none |
flexAmountLimit | LicenseEntitlementLimit | false | none | none |
LicenseEntitlementLimitUsageList
{
"haloProcessingFileLimit": {
"limit": "12k",
"tally": 123,
"flexDaysUsed": 0,
"flexDaysLimit": "2",
"flexAmountLimit": "1k"
},
"haloProcessingDataLimit": {
"limit": "unlimited",
"tally": 4567,
"flexDaysUsed": 1,
"flexDaysLimit": "2",
"flexAmountLimit": "10%"
}
}
List reporting the tally and limit values for each license entitlement limit.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
additionalProperties | LicenseEntitlementLimitUsageItem | false | none | Reports that tally value against the associated entitlement limit. |
AnomalySource
"string"
Provided by the source
property of the reporting event.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Provided by the source property of the reporting event. |
AnomalyMessage
"string"
Description of the detected anomaly.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Description of the detected anomaly. |
Timestamp
"2019-08-24T14:15:22Z"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(date-time) | false | none | none |
AnomalyItem
{
"source": "string",
"message": "string",
"time": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
source | AnomalySource | true | none | Provided by the source property of the reporting event. |
message | AnomalyMessage | true | none | Description of the detected anomaly. |
time | Timestamp | true | none | none |
LicenseAnomalyList
[
{
"source": "string",
"message": "string",
"time": "2019-08-24T14:15:22Z"
}
]
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [AnomalyItem] | false | none | none |
LicenseDetails
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "halo:license",
"productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
"policyName": "halo:bronze_level:contract",
"licenseHolder": "glasswall",
"daysLeft": 0,
"startDate": "2019-08-24",
"expirationDate": "2019-08-24",
"status": "active",
"entitlements": [
"Glasswall Embedded Engine: Main",
"Glasswall Embedded Engine: Protect",
"Glasswall Embedded Engine: Analysis",
"Glasswall Embedded Engine: Export / Import",
"Glasswall Halo: File Analysis Protect"
],
"entitlementLimits": {
"haloProcessingFileLimit": {
"limit": "12k",
"tally": 123,
"flexDaysUsed": 0,
"flexDaysLimit": "2",
"flexAmountLimit": "1k"
},
"haloProcessingDataLimit": {
"limit": "unlimited",
"tally": 4567,
"flexDaysUsed": 1,
"flexDaysLimit": "2",
"flexAmountLimit": "10%"
}
},
"anomalies": [
{
"source": "string",
"message": "string",
"time": "2019-08-24T14:15:22Z"
}
]
}
Provides detailed information of the license contents
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
licenseId | LicenseId | true | none | Unique identity of a license. |
licenseName | LicenseName | true | none | Name assigned to the license when issued. |
productId | ProductId | true | none | Unique identity of the product for which the license has been issued. |
policyName | PolicyName-2 | false | none | Identifies the policy. The naming convention for creating new products is all lower case, with underscore separation of words. |
licenseHolder | LicenseHolder | true | none | Identifies the license holder. Read from the name of the ‘Group’ component within the License. |
daysLeft | LicenseDayCount | true | none | Records how many days remain on the license before expiry. |
startDate | LicenseDate | true | none | Definition of date format string used in licenses. |
expirationDate | LicenseDate | true | none | Definition of date format string used in licenses. |
status | LicenseStatus | true | none | Identifies the operational status of a validated license. |
entitlements | LicenseEntitlementList | true | none | List of license entitlements. |
entitlementLimits | LicenseEntitlementLimitUsageList | true | none | List reporting the tally and limit values for each license entitlement limit. |
anomalies | LicenseAnomalyList | false | none | none |
Error
[
"string"
]
Properties
None