License Management API v1.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 digitally signed usage report
Code samples
# You can also use wget
curl -X GET /api/v1/license-usage/{licenseId} \
-H 'Accept: application/json'
GET /api/v1/license-usage/{licenseId} HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v1/license-usage/{licenseId}',
{
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/v1/license-usage/{licenseId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/api/v1/license-usage/{licenseId}', 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/v1/license-usage/{licenseId}', 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/v1/license-usage/{licenseId}");
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/v1/license-usage/{licenseId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v1/license-usage/{licenseId}
Returns a digitally signed report that details the system usage associated with the specified license
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
licenseId | path | LicenseId | true | Specifies the LicenseId for which the usage report is required |
Example responses
200 Response
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "license_inc:001",
"entitlementLimits": {
"haloProcessingFileLimit": "12k",
"haloSomeFutureLimitThatDoesNotExistYet": "Unlimited"
}
}
401 Response
[
"Unauthorised request"
]
404 Response
[
"License not found"
]
5XX Response
[
"System error processing request"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Summary of license details | LicenseUsageReportDetails |
401 | Unauthorized | Unauthorised Request | ErrorResponse |
404 | Not Found | License not found | ErrorResponse |
5XX | Unknown | Processing Error | ErrorResponse |
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 |
Returns a digitally signed usage report for the currently active license
Code samples
# You can also use wget
curl -X GET /api/v1/license-usage/active \
-H 'Accept: application/json'
GET /api/v1/license-usage/active HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v1/license-usage/active',
{
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/v1/license-usage/active',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/api/v1/license-usage/active', 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/v1/license-usage/active', 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/v1/license-usage/active");
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/v1/license-usage/active", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v1/license-usage/active
Returns a digitally signed report that details the system usage associated with the currently active license
Example responses
200 Response
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "license_inc:001",
"entitlementLimits": {
"haloProcessingFileLimit": "12k",
"haloSomeFutureLimitThatDoesNotExistYet": "Unlimited"
}
}
401 Response
[
"Unauthorised request"
]
404 Response
[
"License not found"
]
5XX Response
[
"System error processing request"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Summary of license details | LicenseUsageReportDetails |
401 | Unauthorized | Unauthorised Request | ErrorResponse |
404 | Not Found | License not found | ErrorResponse |
5XX | Unknown | Processing Error | ErrorResponse |
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 |
Enables the insertion of new license certificate file
Code samples
# You can also use wget
curl -X POST /api/v1/license \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
POST /api/v1/license HTTP/1.1
Content-Type: application/json
Accept: application/json
const inputBody = '-----BEGIN LICENSE FILE-----
eyJlbmMiOiJleUprWVhSaElqcDdJbWxrSWpvaU1EYzFZV05sT1RFdFlUaGtP
UzAwTVdObUxXRmtNMk10TTJJd01EWXpOakF5WTJRMUlpd2lkSGx3WlNJNklt
...
YithdmN6WmVTMitrZGxrKzNwZ0RGTXhueHVpWkNYQUI3RlRrYnB5MkRRPT0i
LCJhbGciOiJiYXNlNjQrZWQyNTUxOSJ9
-----END LICENSE FILE-----
';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('/api/v1/license',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = RestClient.post '/api/v1/license',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('/api/v1/license', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/api/v1/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/v1/license");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
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{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/api/v1/license", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /api/v1/license
This endpoint facilitates requests to store a new active Glasswall License. It’s important to note that only a single license can be saved at any given time, and uploading a new license will overwrite the existing one.
The submitted license undergoes validation before being distributed through the system. Currently, the validation process includes checking the license signature and verifying the expiry date. In case either of these checks fails, the specific failure is reported in the response.
Body parameter
"-----BEGIN LICENSE FILE-----\n eyJlbmMiOiJleUprWVhSaElqcDdJbWxrSWpvaU1EYzFZV05sT1RFdFlUaGtP\n UzAwTVdObUxXRmtNMk10TTJJd01EWXpOakF5WTJRMUlpd2lkSGx3WlNJNklt\n...\nYithdmN6WmVTMitrZGxrKzNwZ0RGTXhueHVpWkNYQUI3RlRrYnB5MkRRPT0i\nLCJhbGciOiJiYXNlNjQrZWQyNTUxOSJ9\n-----END LICENSE FILE-----\n"
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | LicenseFileBody | true | The request payload contains the issued License File Certificate. |
Example responses
200 Response
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "license_inc:001",
"productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
"licenseHolder": "license_inc",
"daysLeft": 0,
"startDate": "2019-08-24",
"expirationDate": "2019-08-24",
"status": "active",
"entitlements": [
"haloProcessingFileLimit",
"haloProcessingDataLimit"
],
"entitlementLimits": {
"haloProcessingFileLimit": "12k",
"haloSomeFutureLimitThatDoesNotExistYet": "Unlimited"
}
}
400 Response
[
"Invalid license content"
]
401 Response
[
"Unauthorised request"
]
5XX Response
[
"System error processing request"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | License successfully added | LicenseDetails |
400 | Bad Request | Bad License Content | ErrorResponse |
401 | Unauthorized | Unauthorised Request | ErrorResponse |
403 | Forbidden | Forbidden Request | ErrorCodeResponse |
5XX | Unknown | Processing Error | ErrorResponse |
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 |
Returns a description of the currently installed license.
Code samples
# You can also use wget
curl -X GET /api/v1/license \
-H 'Accept: application/json'
GET /api/v1/license HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v1/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/v1/license',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/api/v1/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/v1/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/v1/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/v1/license", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v1/license
This endpoint facilitates requests to retrieve the up-to-date active Glasswall license from Glasswall Halo. The response body comprises a summary that includes essential details about the license, such as the remaining number of days and a list of the associated software entitlements.
Example responses
200 Response
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "license_inc:001",
"productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
"licenseHolder": "license_inc",
"daysLeft": 0,
"startDate": "2019-08-24",
"expirationDate": "2019-08-24",
"status": "active",
"entitlements": [
"haloProcessingFileLimit",
"haloProcessingDataLimit"
],
"entitlementLimits": {
"haloProcessingFileLimit": "12k",
"haloSomeFutureLimitThatDoesNotExistYet": "Unlimited"
}
}
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 | ErrorResponse |
404 | Not Found | License not found | ErrorResponse |
5XX | Unknown | Processing Error | ErrorResponse |
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 |
Enables the currently installed license to be deleted
Code samples
# You can also use wget
curl -X DELETE /api/v1/license \
-H 'Accept: application/json'
DELETE /api/v1/license HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v1/license',
{
method: 'DELETE',
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.delete '/api/v1/license',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.delete('/api/v1/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('DELETE','/api/v1/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/v1/license");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
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("DELETE", "/api/v1/license", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /api/v1/license
This endpoint facilitates a request to remove the active license from the Glasswall Halo. If the license is successfully deleted a response is returned confirming deletion. The changes will propagate throughout the system within a few seconds. However the processing of in-flight transactions will be completed.
Example responses
401 Response
[
"Unauthorised request"
]
403 Response
{
"errors": [
{
"errorCode": 4033,
"errorDescription": "Access denied, Admin role is required"
}
]
}
5XX Response
[
"System error processing request"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | License Deleted | None |
401 | Unauthorized | Unauthorised Request | ErrorResponse |
403 | Forbidden | Forbidden Request | ErrorCodeResponse |
5XX | Unknown | Processing Error | ErrorResponse |
Returns list of available licenses
Code samples
# You can also use wget
curl -X GET /api/v1/license-usage \
-H 'Accept: application/json'
GET /api/v1/license-usage HTTP/1.1
Accept: application/json
const headers = {
'Accept':'application/json'
};
fetch('/api/v1/license-usage',
{
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/v1/license-usage',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/api/v1/license-usage', 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/v1/license-usage', 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/v1/license-usage");
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/v1/license-usage", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /api/v1/license-usage
Returns a list of currently active and previous licenses. If none are available, an empty list is returned.
Example responses
200 Response
[
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "license_inc:001",
"active": true
}
]
401 Response
[
"Unauthorised request"
]
5XX Response
[
"System error processing request"
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of available licenses | LicenseUsageAvailabilityList |
401 | Unauthorized | Unauthorised Request | ErrorResponse |
5XX | Unknown | Processing Error | ErrorResponse |
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"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(uuid) | false | none | none |
LicenseName
"license_inc:001"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
LicenseActiveState
true
Identifies whether the specified License is the currently active license, or not.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | boolean | false | none | Identifies whether the specified License is the currently active license, or not. |
ProductId
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(uuid) | false | none | none |
LicenseHolder
"license_inc"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
LicenseDayCount
0
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | integer | false | none | none |
LicenseDate
"2019-08-24"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string(date) | false | none | none |
LicenseStatus
"active"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | active |
anonymous | expired |
LicenseEntitlementName
"processingFeature"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
LicenseEntitlementList
[
"haloProcessingFileLimit",
"haloProcessingDataLimit"
]
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [LicenseEntitlementName] | false | none | none |
LicenseEntitlementLimitItem
"string"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
LicenseEntitlementLimitList
{
"haloProcessingFileLimit": "12k",
"haloSomeFutureLimitThatDoesNotExistYet": "Unlimited"
}
Each License Entitlement Limit consists of a unique name and an associated threshold value.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
additionalProperties | LicenseEntitlementLimitItem | false | none | none |
LicenseUsageAvailabilityList
[
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "license_inc:001",
"active": true
}
]
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
licenseId | LicenseId | true | none | none |
licenseName | LicenseName | true | none | none |
active | LicenseActiveState | true | none | Identifies whether the specified License is the currently active license, or not. |
LicenseUsageReportDetails
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "license_inc:001",
"entitlementLimits": {
"haloProcessingFileLimit": "12k",
"haloSomeFutureLimitThatDoesNotExistYet": "Unlimited"
}
}
Summary of license and its entitlement limits
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
licenseId | LicenseId | false | none | none |
licenseName | LicenseName | false | none | none |
entitlementLimits | LicenseEntitlementLimitList | false | none | Each License Entitlement Limit consists of a unique name and an associated threshold value. |
LicenseDetails
{
"licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
"licenseName": "license_inc:001",
"productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
"licenseHolder": "license_inc",
"daysLeft": 0,
"startDate": "2019-08-24",
"expirationDate": "2019-08-24",
"status": "active",
"entitlements": [
"haloProcessingFileLimit",
"haloProcessingDataLimit"
],
"entitlementLimits": {
"haloProcessingFileLimit": "12k",
"haloSomeFutureLimitThatDoesNotExistYet": "Unlimited"
}
}
Provides detailed information of the license contents
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
licenseId | LicenseId | true | none | none |
licenseName | LicenseName | true | none | none |
productId | ProductId | true | none | none |
licenseHolder | LicenseHolder | true | none | none |
daysLeft | LicenseDayCount | true | none | none |
startDate | LicenseDate | true | none | none |
expirationDate | LicenseDate | true | none | none |
status | LicenseStatus | true | none | none |
entitlements | LicenseEntitlementList | true | none | none |
entitlementLimits | LicenseEntitlementLimitList | true | none | Each License Entitlement Limit consists of a unique name and an associated threshold value. |
ErrorCodeResponse
{
"errors": [
{
"errorCode": 4033,
"errorDescription": "Access denied, Admin role is required"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
errors | [object] | false | none | none |
» errorCode | number | false | none | none |
» errorDescription | string | false | none | none |
ErrorResponse
[
"string"
]
Properties
None
LicenseFileBody
"-----BEGIN LICENSE FILE-----\n eyJlbmMiOiJleUprWVhSaElqcDdJbWxrSWpvaU1EYzFZV05sT1RFdFlUaGtP\n UzAwTVdObUxXRmtNMk10TTJJd01EWXpOakF5WTJRMUlpd2lkSGx3WlNJNklt\n...\nYithdmN6WmVTMitrZGxrKzNwZ0RGTXhueHVpWkNYQUI3RlRrYnB5MkRRPT0i\nLCJhbGciOiJiYXNlNjQrZWQyNTUxOSJ9\n-----END LICENSE FILE-----\n"
Supplied License Certificate File
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Supplied License Certificate File |
EntitlementLimitName
"string"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
LicenseMetadataList
{
"haloProcessingFileLimit": "12k",
"haloSomeFutureLimitThatDoesNotExistYet": "Unlimited"
}
Properties
None