License API

License Usage API

A RESTful API to programmatically retrieve overall license usage by application ID or name, or by host ID.

Retrieve Usage by Application ID

You can retrieve license usage details (such as vCPU count) for an application by application ID.

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/grouped-usage/application/by-id

Format

GET /controller/licensing/v1/account/{accountId}/grouped-usage/application/by-id

Path Parameters

Parameter Name Parameter Type Value Mandatory

accountId

Integer

Account identification for which allocations are requested to be retrieved.

Yes

Query Parameters

Parameter Name Parameter Type Value Mandatory

appId

Array

A set of application IDs.

Yes

includeAgents BooleanFlag indicates whether the list of agents is required in response.No

Response Format

response appObject

Parameter Name Parameter Type Value
vCpuTotal IntegerTotal number of vCPUs on hosts where all applications are running.
fallbackLicenseUnits ObjectTotal number of (fallback) license units used by the applications per package name.
items ObjectDetail of usages by application.

appItemObject

Parameter Name Parameter Type Value
appId Integer

Application ID.

appName String

Application name.

vCpu IntegerNumber of vCPU on the host.
nodes Object (nodeObject)Nodes where the application is running.
containers Object (containerObject)Containers where the application is running.
agents Object (agentObject)(Optional) License keys associated with all agents.
hosts Object (hostObject)

Hosts where the application is running. Will be null when this object is self-referenced.

nodeObject

Parameter Name Parameter Type Value
nodeName String

Node name.

containerObject

Parameter Name Parameter Type Value
containerId String

Container ID.

agentObject

Parameter Name Parameter Type Value
type String

Agent type.

version String

Agent version.

licenseKey String

License key used to obtain lease.

hostObject

Parameter Name Parameter Type Value
vCpuTotal Integer

Total number of vCPUs on hosts.

items Object

Detail of usages by host.

hostItemObject

Parameter Name Parameter Type Value
host String

Host name.

fallbackLicenseUnits Object

License unit used by the application/host per package name.

vCpu IntegerNumber of vCPU on the host.
nodes Object (nodeObject)Number of nodes on the host.
containers Object (containerObject)Number of containers on the host.
agents Object (agentObject)(Optional) License keys associated with all agents.
application Object (appItemObject)Applications running on the host. Will be null when this object is self-referenced.

Example

Request
curl --user <user>@<AccountName>:<password> "http://<host>:<port>/controller/licensing/v1/account/{accountId}/grouped-usage/application/by-id?appId={appId1}&appId={appId2}"
Response
{
"vCpuTotal": 4,
"items": {
"13": {
"appId": 13,
"appName": "ecommerce-demo",
"vCpu": 4,
"nodes": [
{
"nodeName": "ecommerce-demo-web-node-1"
},
{
"nodeName": "ecommerce-demo-web-node-2"
}
],
"containers": [
{
"containerId": "ecommerce-demo-web-1"
},
{
"containerId": "ecommerce-demo-web-2"
}
],
"agents": [
{
"type": "APP_AGENT",
"version": "21.4.0",
"licenseKey": "secret"
}
],
"hosts": {
"vCpuTotal": 4,
"items": {
"ip-10-20-30-40": {
"vCpu": 4,
"host": "ip-10-20-30-40",
"nodes": [
{
"nodeName": "ecommerce-demo-web-node-1"
},
{
"nodeName": "ecommerce-demo-web-node-2"
}
],
"containers": [
{
"containerId": "ecommerce-demo-web-1"
},
{
"containerId": "ecommerce-demo-web-2"
}
],
"agents": [
{
"type": "APP_AGENT",
"version": "21.4.0",
"licenseKey": "secret"
}
],
"fallbackLicenseUnits": {}
}
}
}
}
}
}

Retrieve by Application Name

You can retrieve license usage details (such as vCPU count) for an application by application name.

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/grouped-usage/application/by-name

Format

GET /controller/licensing/v1/account/{accountId}/grouped-usage/application/by-name

Path Parameters

Parameter Name Parameter Type Value Mandatory

accountId

Integer

Account identification for which allocations are requested to be retrieved.

Yes

Query Parameters

Parameter Name Parameter Type Value Mandatory

appName

Array

A set of (URL escaped) application names.

Yes

includeAgents BooleanFlag indicates whether the list of agents is required in response.No

Response Format

response appObject

Parameter Name Parameter Type Value
vCpuTotal IntegerTotal number of vCPUs on hosts where all applications are running.
fallbackLicenseUnits ObjectTotal number of (fallback) license units used by the applications per package name.
items ObjectDetail of usages by application.

appItemObject

Parameter Name Parameter Type Value
appId Integer

Application ID.

appName String

Application name.

vCpu IntegerNumber of vCPUs on the host.
nodes Object (nodeObject)Nodes where the application is running.
containers Object (containerObject)Containers where the application is running.
agents Object (agentObject)(Optional) License keys associated with all agents.
hosts Object (hostObject)

Hosts where the application is running. Will be null when this object is self-referenced.

nodeObject

Parameter Name Parameter Type Value
nodeName String

Node name.

containerObject

Parameter Name Parameter Type Value
containerId String

Container ID.

agentObject

Parameter Name Parameter Type Value
type String

Agent type.

version String

Agent version.

licenseKey String

License key used to obtain lease.

hostObject

Parameter Name Parameter Type Value
vCpuTotal Integer

Total number of vCPUs on hosts.

items Object

Detail of usages by host.

hostItemObject

Parameter Name Parameter Type Value
host String

Host name.

fallbackLicenseUnits Object

License unit used by the application/host per package name.

vCpu IntegerNumber of vCPU nodes on the host.
nodes Object (nodeObject)Nodes where the application is running.
containers Object (containerObject)Containers where the application is running.
agents Object (agentObject)(Optional) License keys associated with all agents.
application Object (appItemObject)Applications running on the host. Will be null when this object is self-referenced.

Example

Request
curl --user <user>@<AccountName>:<password> "http://<host>:<port>/controller/licensing/v1/account/{accountId}/grouped-usage/application/by-name?appName={appName1}&appName={appName2}"
Response
{
"vCpuTotal": 4,
"items": {
"13": {
"appId": 13,
"appName": "ecommerce-demo",
"vCpu": 4,
"nodes": [
{
"nodeName": "ecommerce-demo-web-node-1"
},
{
"nodeName": "ecommerce-demo-web-node-2"
}
],
"containers": [
{
"containerId": "ecommerce-demo-web-1"
},
{
"containerId": "ecommerce-demo-web-2"
}
],
"agents": [
{
"type": "APP_AGENT",
"version": "21.4.0",
"licenseKey": "secret"
}
],
"hosts": {
"vCpuTotal": 4,
"items": {
"ip-10-20-30-40": {
"vCpu": 4,
"host": "ip-10-20-30-40",
"nodes": [
{
"nodeName": "ecommerce-demo-web-node-1"
},
{
"nodeName": "ecommerce-demo-web-node-2"
}
],
"containers": [
{
"containerId": "ecommerce-demo-web-1"
},
{
"containerId": "ecommerce-demo-web-2"
}
],
"agents": [
{
"type": "APP_AGENT",
"version": "21.4.0",
"licenseKey": "secret"
}
],
"fallbackLicenseUnits": {}
}
}
}
}
}
}

Retrieve Usage by Host ID

You can retrieve license usage information (such as vCPU count) for an application by host ID.

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/grouped-usage/host

Format

GET /controller/licensing/v1/account/{accountId}/grouped-usage/host

Path Parameters

Parameter Name Parameter Type Value Mandatory
accountId

Integer

Account identification for which allocations are requested to be retrieved.

Yes

Query Parameters

Parameter Name Parameter Type Value Mandatory
hostId

Array

A set of (URL escaped) host IDs.

Yes

includeAgents BooleanA flag indicates whether the list of agents is required in response.No

Response Format

response hostObject

Parameter Name Parameter Type Value
vCpuTotal Integer

Total number of vCPUs on hosts.

items Object

Detail of usages by host.

hostItemObject

Parameter Name Parameter Type Value
host String

Host name.

fallbackLicenseUnits Object

License unit used by the application/host per package name.

vCpu IntegerNumber of vCPU on the host.
nodes Object (nodeObject)Number of nodes on the host.
containers Object (containerObject)Number of containers on the host.
agents Object (agentObject)(Optional) License keys associated with all agents.
application Object (appItemObject)Applications running on the host. Will be null when this object is self-referenced.

nodeObject

Parameter Name Parameter Type Value
nodeName String

Node name.

containerObject

Parameter Name Parameter Type Value
containerId String

Container ID.

agentObject

Parameter Name Parameter Type Value
type String

Agent type.

version String

Agent version.

licenseKey String

License key used to obtain lease.

appObject

Parameter Name Parameter Type Value
vCpuTotal IntegerTotal number of vCPUs on hosts where all applications are running.
fallbackLicenseUnits ObjectTotal number of (fallback) license units used by the applications per package name.
items ObjectDetail of usages by application.

appItemObject

Parameter Name Parameter Type Value
appId Integer

Application ID.

appName String

Application name.

vCpu IntegerNumber of vCPU on the host.
nodes Object (nodeObject)Nodes where the application is running.
containers Object (containerObject)Containers where the application is running.
agents Object (agentObject)(Optional) License keys associated with all agents.
hosts Object (hostObject)

Hosts where the application is running. Will be null when this object is self-referenced.

Example

Request
curl --user <user>@<AccountName>:<password> "http://<host>:<port>/controller/licensing/v1/account/{accountId}/grouped-usage/host?hostId={hostId1}&hostId={hostId2}"
Response
{
"vCpuTotal": 4,
"hosts": {
"vCpuTotal": 4,
"items": {
"ip-10-20-30-40": {
"vCpu": 4,
"host": "ip-10-20-30-40",
"nodes": [
{
"nodeName": "ecommerce-demo-web-node-1"
},
{
"nodeName": "ecommerce-demo-web-node-2"
}
],
"containers": [
{
"containerId": "ecommerce-demo-web-1"
},
{
"containerId": "ecommerce-demo-web-2"
}
],
"agents": [
{
"type": "APP_AGENT",
"version": "21.4.0",
"licenseKey": "secret"
}
],
"fallbackLicenseUnits": {},
"applications": {
"vCpuTotal": 4,
"items": {
"13": {
"appId": 13,
"appName": "ecommerce-demo",
"vCpu": 4,
"nodes": [
{
"nodeName": "ecommerce-demo-web-node-1"
},
{
"nodeName": "ecommerce-demo-web-node-2"
}
],
"containers": [
{
"containerId": "ecommerce-demo-web-1"
},
{
"containerId": "ecommerce-demo-web-2"
}
],
"agents": [
{
"type": "APP_AGENT",
"version": "21.4.0",
"licenseKey": "secret"
}
]
}
}
}
}
}
}
}

Account Usage API

A RESTful API to programmatically retrieve account usage by license and account ID.

RetrieveAccount Usage by License ID

Retrieve account usage referenced by given license ID.

URL

http://<host>:<port>/controller/licensing/v1/usage/license/{licenseId}

Format

GET /controller/licensing/v1/usage/license/{licenseId}

Path Parameters

Parameter Name Parameter Type Value Mandatory

licenseId

String

License Id for which an usage is requested to be retrieved.

Yes

Query Parameters

Parameter Name Parameter Type Value Mandatory

dateFrom

String

Start date of requested license usage period. Expected format is ISO-8601 (extended). For example: '2020-10-05T10:00:00Z'.

Yes

dateTo

String

End date of requested license usage period. Expected format is ISO-8601 (extended). For example: '2020-10-05T10:00:00Z'.

Yes

granularityMinutes

Integer

Requested granularity of the license usage data.

Yes

includeEntityTypes

Boolean

Determines whether to include licensed entity type usage or not. The default is false.

No

includeConsumptionBased

Boolean

Whether to include consumption-based usages. The default is false.

No

Response Format

response Object

Parameter Name Parameter Type Value

accountId

Integer

Account ID.

licenseRule

Object

Entity representing license usage either for an account or for an allocation.

packages

Array of package Objects

licenseRule Object

Parameter Name Parameter Type Value

id

String

Allocation ID.

name

String

Allocation name.

licenseKey

String

License key for this particular allocation.

packageObject

Parameter NameParameter TypeValue
packageName String

An enumeration representing the name of the package (edition) instance:

  • "INFRA"
  • "PREMIUM"
  • "ENTERPRISE"
type String

An enumeration representing the type of the package instance:

  • "PAID"
  • "TRIAL"
  • "LITE"
kind String

Package kind derived from the licensing model where the package originated from. Useful for quickly distinguishing packages based on the legacy Agent based license modules (APM, DOTNET, etc.) from the new Infrastructure based packages.

Enum: "AGENT_BASED" "INFRASTRUCTURE_BASED"

family StringPackage family.
createdDate StringCreation date of the package instance in the license. ISO 8601 date-time string.
startDate StringStart date of the package instance. For example, the date from which the package instance becomes active: ISO 8601 date-time string.
expirationDate StringExpiration date of the package instance, i.e. date from which the package instance is no longer active. ISO 8601 date-time string.
licenseUnits StringNumber of licenses available for the package instance.
properties ObjectCollection of package specific custom properties in the form of key-value pairs. In case of merging with global properties, conflicting package specific properties take precedence.

Example

Request
curl --user <user>@<AccountName>:<password> -X GET \
http://<host>:<port>/controller/licensing/v1/usage/license/{licenseId}?dateFrom=<ISO 8601 date-time string>&dateTo=<ISO 8601 date-time string>&granularityMinutes=<number of minutes as an integer>
Response
{
"accountId":0,
"licenseRule":{
"id":"string",
"name":"string",
"licenseKey":"string"
},
"packages":[
{
"name":"string",
"unitUsages":[
{
"usageType":"string",
"granularityInMinutes":0,
"data":{
"timestamp":"string",
"provisioned":{
"min":0,
"max":0,
"avg":0,
"count":0
},
"used":{
"min":0,
"max":0,
"avg":0,
"count":0
},
"registrations":[
{
"type":"string",
"registered":{
"min":0,
"max":0,
"avg":0,
"count":0
}
}
]
}
}
]
}
]
}

Retrieve Account Usage by Account ID

Retrieve account usage referenced by given account ID.

URL

http://<host>:<port>/controller/licensing/v1/usage/account/{accountId}

Format

GET /controller/licensing/v1/usage/account/{accountId}

Path Parameters

Parameter NameParameter TypeValueMandatory
accountId Integer

Account ID for which a usage is requested to be retrieved.

Yes

Query Parameters

Parameter NameParameter TypeValueMandatory
dateFrom String

Start date of requested license usage period. Expected format is ISO-8601 (extended). For example: '2020-10-05T10:00:00Z'.

Yes
dateTo StringEnd date of requested license usage period. Expected format is ISO-8601 (extended). For example: '2020-10-05T10:00:00Z'.Yes
granularityMinutes IntegerRequested granularity of the license usage data.Yes
includeEntityTypes BooleanDetermines whether to include licensed entity type usage or not. The default is false. No
includeConsumptionBased BooleanWhether to include consumption-based usages. The default is false. No

Response Format

response Object

Parameter Name Parameter Type Value

accountId

Integer

Account ID.

licenseRule

Object

Entity representing license usage either for an account or for an allocation.

packages

Array

Package objects

licenseRule Object

Parameter Name Parameter Type Value

id

String

Allocation ID.

name

String

Allocation name.

licenseKey

String

License key for this particular allocation.

packageObject

Parameter NameParameter TypeValue
packageName String

An enumeration representing the name of the package (edition) instance:

  • "INFRA"
  • "PREMIUM"
  • "ENTERPRISE"
type String

An enumeration representing the type of the package instance:

  • "PAID"
  • "TRIAL"
  • "LITE"
kind String

Package kind derived from the licensing model where the package originated from. Useful for quickly distinguishing packages based on the legacy Agent based license modules (APM, DOTNET, etc.) from the new Infrastructure based packages.

Enum: "AGENT_BASED" "INFRASTRUCTURE_BASED"

family StringPackage family.
createdDate StringCreation date of the package instance in the license. ISO 8601 date-time string.
startDate StringStart date of the package instance. For example, the date from which the package instance becomes active: ISO 8601 date-time string.
expirationDate StringExpiration date of the package instance, i.e. date from which the package instance is no longer active. ISO 8601 date-time string.
licenseUnits StringNumber of licenses available for the package instance.
properties ObjectCollection of package specific custom properties in the form of key-value pairs. In case of merging with global properties, conflicting package specific properties take precedence.

Example

Request
curl --user <user>@<AccountName>:<password> -X GET \
http://<host>:<port>/controller/licensing/v1/usage/account/{accountId}?dateFrom=<ISO 8601 date-time string>&dateTo=<ISO 8601 date-time string>&granularityMinutes=<number of minutes as an integer>
Response
{
"accountId":0,
"licenseRule":{
"id":"string",
"name":"string",
"licenseKey":"string"
},
"packages":[
{
"name":"string",
"unitUsages":[
{
"usageType":"string",
"granularityInMinutes":0,
"data":{
"timestamp":"string",
"provisioned":{
"min":0,
"max":0,
"avg":0,
"count":0
},
"used":{
"min":0,
"max":0,
"avg":0,
"count":0
},
"registrations":[
{
"type":"string",
"registered":{
"min":0,
"max":0,
"avg":0,
"count":0
}
}
]
}
}
]
}
]
}

License Allocation API

The methods below allow you retrieve, create, filter, and delete license allocations (license rules) for an account.

Retrieve All License Allocations

Retrieve all license allocations, and narrow the list of allocations by using optional query parameters.

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation

Format

 GET /controller/licensing/v1/account/{accountId}/allocation

Path Parameters

Parameter NameParameter TypeValueMandatory

accountId

Integer

Account identification for which allocations are requested to be retrieved.

Yes

Query Parameters

Parameter Name Parameter Type Value Mandatory

name

String

Name of the allocation. Cannot be used in combination with license-key and tag.

No

license-key

String

License key of the allocation. Cannot be used in combination with name and tag.

No

tag

String

Tag associated with allocations. Cannot be used in combination with name and license-key.

No

Response Format

response Object

Parameter Name Parameter Type Value

id

String

Allocation ID. Unique per account.

accountId

Integer

Account ID the allocation belongs to.

name

String

Name of the allocation. Unique per account.

licenseKey

String

License key used by the allocation. Unique per account.

filters

Array of Objects

Array of filter objects

limits

Array of Objects

Array of limit objects

tags

Array of Strings

Tags associated with the allocation.

createdDate

String

Creation date of the allocation: ISO 8601 date-time string.

lastUpdatedDate

String

Last update date of the allocation: ISO 8601 date-time string.

filter Object

Parameter Name Parameter TypeValue

id

String

Name of the allocation. Unique per account.

type

String

Type of entity on which the filter should be applied.

Enum: "APPLICATION" "HOST"

operator

String

Operator of the following enumerations used to check the type against the value:

  • ID_EQUALS – Exact match of entity Id

  • EQUALS – Exact match of entity value

  • STARTS_WITH – Match of entity starting with a value

  • ENDS_WITH – Match of entity ending with a value

  • CONTAINS – Match of entity containing a value

  • REGEX – Match of entity against a regexp

value

String

Value to be used to filter against.

limit Object

Parameter Name Parameter Type Value
id StringAllocation package limit ID.
package String

Type of package for the limit.

The following are the supported enumerations:

  • "INFRA"
  • "PREMIUM"
  • "ENTERPRISE"
units Integer

Number of license units per the allocation limit.

tags Array of StringsTags associated with the allocation.

Example

Request
curl --user <user>@<AccountName>:<password> -X GET \
http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation
Response
[
{
"id":"string",
"accountId":0,
"name":"string",
"licenseKey":"string",
"filters":[
{
"id":"string",
"type":"APPLICATION",
"operator":"ID_EQUALS",
"value":"string"
}
],
"limits":[
{
"id":"string",
"package":"INFRA",
"units":0
}
],
"tags":[
"string"
],
"createdDate":"string",
"lastUpdatedDate":"string"
}
]

Retrieve Allocation Usage by Account ID

Retrieve allocation rule usage referenced by a given license key ID.

URL

http://<host>:<port>/controller/licensing/v1/usage/account/{accountId}/allocation/{licenseKey}

Format

 GET /controller/licensing/v1/usage/account/{accountId}/allocation/{licenseKey}

Path Parameters

Parameter Name Parameter Type Value Mandatory
accountId Integer

Account ID for which a usage is requested to be retrieved.

Yes
licenseKey StringLicense key based on the allocation rule is selected. Returned usage will be related to that particular allocation rule.Yes

Query Parameters

Parameter Name Parameter Type Value Mandatory

dateFrom

String

Start date of requested license usage period. Expected format is ISO-8601 (extended). For example: '2020-10-05T10:00:00Z'.

Yes

dateTo

StringEnd date of requested license usage period. Expected format is ISO-8601 (extended). For example: '2020-10-05T10:00:00Z'.Yes

granularityMinutes

IntegerRequested granularity of the license usage data.Yes

includeEntityTypes

BooleanDetermines whether to include licensed entity type usage or not. The default is false. No

Response Format

response Object

Parameter Name Parameter Type Value

accountId

Integer

Account ID.

licenseRule

Object

Entity representing license usage either for an account or for an allocation.

packages

Array

Package objects.

licenseRule Object

Parameter Name Parameter Type Value

id

String

Allocation ID.

name

String

Allocation name.

licenseKey

String

License key for this particular allocation.

packageObject

Parameter Name Parameter Type Value
packageName String

An enumeration representing the name of the package (edition) instance:

  • "INFRA"
  • "PREMIUM"
  • "ENTERPRISE"
type String

An enumeration representing the type of the package instance:

  • "PAID"
  • "TRIAL"
  • "LITE"
kind String

Package kind derived from the licensing model where the package originated from. Useful for quickly distinguishing packages based on the legacy Agent based license modules (APM, DOTNET, etc.) from the new Infrastructure based packages.

Enum: "AGENT_BASED" "INFRASTRUCTURE_BASED"

family StringPackage family.
createdDate StringCreation date of the package instance in the license. ISO 8601 date-time string.
startDate StringStart date of the package instance. For example, the date from which the package instance becomes active: ISO 8601 date-time string.
expirationDate StringExpiration date of the package instance, i.e. date from which the package instance is no longer active. ISO 8601 date-time string.
licenseUnits StringNumber of licenses available for the package instance.
properties ObjectCollection of package specific custom properties in the form of key-value pairs. In case of merging with global properties, conflicting package specific properties take precedence.

Example

Request
curl --user <user>@<AccountName>:<password> -X GET \
http://<host>:<port>/controller/licensing/v1/usage/account/{accountId}/allocation/{licenseKey}?dateFrom=<ISO 8601 date-time string>&dateTo=<ISO 8601 date-time string>&granularityMinutes=<number of minutes as an integer>
Response
{
"accountId":0,
"licenseRule":{
"id":"string",
"name":"string",
"licenseKey":"string"
},
"packages":[
{
"name":"string",
"unitUsages":[
{
"usageType":"string",
"granularityInMinutes":0,
"data":{
"timestamp":"string",
"provisioned":{
"min":0,
"max":0,
"avg":0,
"count":0
},
"used":{
"min":0,
"max":0,
"avg":0,
"count":0
},
"registrations":[
{
"type":"string",
"registered":{
"min":0,
"max":0,
"avg":0,
"count":0
}
}
]
}
}
]
}
]
}

Retrieve Allocation Usage by License Key

Retrieve allocation usage referenced by a given license key.

URL

http://<host>:<port>/controller/licensing/v1/usage/license/{licenseId}/allocation/{licenseKey}

Format

GET /controller/licensing/v1/usage/license/{licenseId}/allocation/{licenseKey}

Path Parameters

Parameter Name Parameter Type Value Mandatory
licenseId String

License ID for which a usage is requested to be retrieved.

Yes
licenseKey StringLicense key based on the allocation rule is selected. Returned usage will be related to that particular allocation rule.Yes

Query Parameters

Parameter NameParameter Type Value Mandatory

dateFrom

String

Start date of requested license usage period. Expected format is ISO-8601 (extended). For example: '2020-10-05T10:00:00Z'.

Yes

dateTo

StringEnd date of requested license usage period. Expected format is ISO-8601 (extended). For example: '2020-10-05T10:00:00Z'.Yes

granularityMinutes

IntegerRequested granularity of the license usage data.Yes

includeEntityTypes

BooleanDetermines whether to include licensed entity type usage or not. The default is false. No

Response Format

response Object

Parameter Name Parameter Type Value

accountId

Integer

Account ID.

licenseRule

Object

Entity representing license usage either for an account or for an allocation.

packages

Array of package objects

Package objects.

licenseRule Object

Parameter Name Parameter Type Value
id StringAllocation ID.
name StringAllocation name.
licenseKey StringLicense key for this particular allocation.

packageObject

Parameter Name Parameter Type Value
packageName String

An enumeration representing the name of the package (edition) instance:

  • "INFRA"
  • "PREMIUM"
  • "ENTERPRISE"
type String

An enumeration representing the type of the package instance:

  • "PAID"
  • "TRIAL"
  • "LITE"
kind String

Package kind derived from the licensing model where the package originated from. Useful for quickly distinguishing packages based on the legacy Agent based license modules (APM, DOTNET, etc.) from the new Infrastructure based packages.

Enum: "AGENT_BASED" "INFRASTRUCTURE_BASED"

family StringPackage family.
createdDate StringCreation date of the package instance in the license. ISO 8601 date-time string.
startDate StringStart date of the package instance. For example, the date from which the package instance becomes active: ISO 8601 date-time string.
expirationDate StringExpiration date of the package instance, i.e. date from which the package instance is no longer active. ISO 8601 date-time string.
licenseUnits StringNumber of licenses available for the package instance.
properties ObjectCollection of package specific custom properties in the form of key-value pairs. In case of merging with global properties, conflicting package specific properties take precedence.

Example

Request
curl --user <user>@<AccountName>:<password> -X GET \
http://<host>:<port>/controller/licensing/v1/usage/license/{licenseId}/allocation/{licenseKey}?dateFrom=<ISO 8601 date-time string>&dateTo=<ISO 8601 date-time string>&granularityMinutes=<number of minutes as an integer>
Response
{
"accountId":0,
"licenseRule":{
"id":"string",
"name":"string",
"licenseKey":"string"
},
"packages":[
{
"name":"string",
"unitUsages":[
{
"usageType":"string",
"granularityInMinutes":0,
"data":{
"timestamp":"string",
"provisioned":{
"min":0,
"max":0,
"avg":0,
"count":0
},
"used":{
"min":0,
"max":0,
"avg":0,
"count":0
},
"registrations":[
{
"type":"string",
"registered":{
"min":0,
"max":0,
"avg":0,
"count":0
}
}
]
}
}
]
}
]
}

Create a License Allocation

Create a license allocation. For this method, make sure:

  • IDs of sub-entities (filters, limits) are not filled
  • Other unique parameters (e.g., name ,licenseKey) don't conflict with existing allocations

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation

Format

 POST /controller/licensing/v1/account/{accountId}/allocation

Path Parameters

Parameter NameParameter TypeValueMandatory
accountId IntegerAccount identification for which allocations are requested to be retrieved.Yes

Request Format

request Object

Parameter Name Parameter Type ValueMandatory

fallbackModeDelay

Boolean

If set to true, the App Server Agents running in a container (Infrastructure-based Licensing) would be rejected for a predefined period of time if no vCPU count is known. The fallback vCPU count is set to the default value only after this time if the real vCPU count is still unknown. If the real vCPU count becomes known it will be used immediately.

Yes

filters

Array of Objects

Array of filter objects

No

limits

Array of Objects

Array of limit objects

machineAgentPriority Boolean

Indicates that license leases are prioritized for Machine Agent usage when using Infrastructure-based Licenses (IBL) over App Server Agents.

Yes

name

String

Name of the allocation. Unique per account.

Yes

Filter Object

Parameter Name Parameter Type Value

id

String

Name of the allocation. Unique per account.

type

String

Type of entity on which the filter should be applied.

Enum: "APPLICATION" "HOST"

operator

String

Operator of the following enumerations used to check the type against the value:

  • ID_EQUALS – Exact match of entity Id

  • EQUALS – Exact match of entity value

  • STARTS_WITH – Match of entity starting with a value

  • ENDS_WITH – Match of entity ending with a value

  • CONTAINS – Match of entity containing a value

  • REGEX – Match of entity against a regexp

value

String

Value to be used to filter against.

limit Object

Parameter Name Parameter Type Value

id

String

Allocation package limit ID.

package

String

Type of package for the limit.

The following are the supported enumerations:

  • "INFRA"

  • "PREMIUM"

  • "ENTERPRISE"

units

Integer

Number of license units per the allocation limit.

tags

Array of Strings

Tags associated with the allocation.

Response Format

response Object

Parameter Name Parameter Type Value

id

String

Allocation ID. Unique per account.

accountId

Integer

Account ID the allocation belongs to.

name

String

Name of the allocation. Unique per account.

licenseKey

String

License key used by the allocation. Unique per account.

filters

Array of Objects

Array of filter objects

limits

Array of Objects

Array of limit objects

tags

Array of Strings

Tags associated with the allocation.

createdDate

String

Creation date of the allocation: ISO 8601 date-time string.

lastUpdatedDate

String

Last update date of the allocation: ISO 8601 date-time string.

filter Object

Parameter Name Parameter Type Value

id

String

Name of the allocation. Unique per account.

type

String

Type of entity on which the filter should be applied.

Enum: "APPLICATION" "HOST"

operator

String

Operator of the following enumerations used to check the type against the value:

  • ID_EQUALS – Exact match of entity Id

  • EQUALS – Exact match of entity value

  • STARTS_WITH – Match of entity starting with a value

  • ENDS_WITH – Match of entity ending with a value

  • CONTAINS – Match of entity containing a value

  • REGEX – Match of entity against a regexp

value

String

Value to be used to filter against.

limit Object

Parameter NameParameter TypeValue
id StringAllocation package limit ID.
package String

Type of package for the limit.

The following are the supported enumerations:

  • "INFRA"
  • "PREMIUM"
  • "ENTERPRISE"
units Integer

Number of license units per the allocation limit.

tags Array of StringsTags associated with the allocation.

Example

Request
curl --user <user>@<AccountName>:<password> -X POST \
http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"filters": [
{
"id": "string",
"type": "APPLICATION",
"operator": "ID_EQUALS",
"value": "string"
}
],
"limits": [
{
"id": "string",
"package": "INFRA",
"units": 0
}
],
"tags": ["string"]
}'
Response
[
{
"id": "string",
"accountId": integer,
"name": "string",
"licenseKey": "string",
"filters": [
{
"id": "string",
"type": "APPLICATION",
"operator": "ID_EQUALS",
"value": "string"
}
],
"limits": [
{
"id": "string",
"package": "INFRA",
"units": 0
}
],
"tags": ["string"],
"createdDate": "ISO 8601 date-time",
"lastUpdatedDate": "ISO 8601 date-time"
},
...
]

Retrieve a License Allocation

Retrieve a license allocation by allocation ID.

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation/{allocationId}

Format

GET /controller/licensing/v1/account/{accountId}/allocation/{allocationId}

Path Parameters

Parameter Name Parameter Type Value Mandatory

accountId

Integer

Account identification for which allocations are requested to be retrieved.

Yes

allocationId

String

Allocation ID referencing allocation to be retrieved.

Yes

Response Format

response Object

Parameter Name Parameter Type Value

id

String

Allocation ID. Unique per account.

accountId

Integer

Account ID the allocation belongs to.

fallbackModeDelay Boolean

When true, indicates that the App Server Agents running in a container (Infrastructure-based Licensing) would be rejected for a predefined period of time if no vCPU count is known. The fallback vCPU count is set to the default value only after this time if the real vCPU count is still unknown. If the real vCPU count becomes known it will be used immediately.

name

String

Name of the allocation. Unique per account.

licenseKey

String

License key used by the allocation. Unique per account.

filters

Array of Objects

Array of filter objects

limits

Array of Objects

Array of limit objects

machineAgentPriority Boolean

Set to true to prioritize license leases for Machine Agent usage when using Infrastructure-based Licenses (IBL) in favor of App Server Agents.

tags

Array of Strings

Tags associated with the allocation.

createdDate

String

Creation date of the allocation: ISO 8601 date-time string.

lastUpdatedDate

String

Last update date of the allocation: ISO 8601 date-time string.

filter Object

Parameter NameParameter TypeValue
id StringName of the allocation. Unique per account.
type String

Type of entity on which the filter should be applied.

Enum: "APPLICATION" "HOST"
operator String

Operator of the following enumerations used to check the type value:

  • ID_EQUALS – Exact match of entity Id
  • EQUALS – Exact match of entity value
  • STARTS_WITH – Match of entity starting with a value
  • ENDS_WITH – Match of entity ending with a value
  • CONTAINS – Match of entity containing a value
  • REGEX – Match of entity against a regexp
value StringValue to be used to filter against.

limit Object

Parameter Name Parameter Type Value

id

String

Allocation package limit ID.

package

String

Type of package for the limit.

The following are the supported enumerations:

  • "INFRA"

  • "PREMIUM"

  • "ENTERPRISE"

units

Integer

Number of license units per the allocation limit.

tags

Array of Strings

Tags associated with the allocation.

Example

Request
curl --user <user>@<AccountName>:<password> -X GET \
http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation/{allocationId}
Response
[
{
"id": "string",
"accountId": integer,
"name": "string",
"licenseKey": "string",
"filters": [
{
"id": "string",
"type": "APPLICATION",
"operator": "ID_EQUALS",
"value": "string"
}
],
"limits": [
{
"id": "string",
"package": "INFRA",
"units": 0
}
],
"tags": ["string"],
"createdDate": "ISO 8601 date-time",
"lastUpdatedDate": "ISO 8601 date-time"
},
...
]

Update a License Allocation

Update a license allocation by allocation ID.

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation/{allocationId}

Format

PUT /controller/licensing/v1/account/{accountId}/allocation/{allocationId}

Path Parameters

Parameter Name Parameter Type Value Mandatory

accountId

Integer

Account identification for which allocations are requested to be retrieved.

Yes

allocationId

String

Allocation ID referencing allocation to be retrieved.

Yes

Request Format

request Object

Parameter Name Parameter Type Value Mandatory
fallbackModeDelay Boolean

If set to true, the App Server Agents running in a container (Infrastructure-based Licensing) would be rejected for a predefined period of time if no vCPU count is known. The fallback vCPU count is set to the default value only after this time if the real vCPU count is still unknown. If the real vCPU count becomes known it will be used immediately.

Yes

filters

String

Allocation ID referencing allocation to be retrieved.

No

limits

ObjectNo
machineAgentPriority Boolean

Set to true to prioritize license leases for Machine Agent usage when using Infrastructure-based Licenses (IBL) in favor of App Server Agents.

Yes

name

String

Name of the allocation. Unique per account.

Yes

tags

Array of StringsNo

filter Object

Parameter Name Parameter Type Value

id

String

Name of the allocation. Unique per account.

type

String

Type of entity on which the filter should be applied.

Enum: "APPLICATION" "HOST"

operator

String

Operator of the following enumerations used to check the type against the value:

  • ID_EQUALS – Exact match of entity Id

  • EQUALS – Exact match of entity value

  • STARTS_WITH – Match of entity starting with a value

  • ENDS_WITH – Match of entity ending with a value

  • CONTAINS – Match of entity containing a value

  • REGEX – Match of entity against a regexp

value

String

Value to be used to filter against.

limit Object

Parameter Name Parameter Type Value

id

String

Allocation package limit ID.

package

String

Type of package for the limit.

The following are the supported enumerations:

  • "INFRA"

  • "PREMIUM"

  • "ENTERPRISE"

units

Integer

Number of license units per the allocation limit.

tags

Array of Strings

Tags associated with the allocation.

Example

Request
curl --user <user>@<AccountName>:<password> -X PUT \
http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"filters": [
{
"id": "string",
"type": "APPLICATION",
"operator": "ID_EQUALS",
"value": "string"
}
],
"limits": [
{
"id": "string",
"package": "INFRA",
"units": 0
}
],
"tags": [
"string"
]
}'
Response
{
"id":"string",
"accountId":0,
"name":"string",
"licenseKey":"string",
"filters":[
{
"id":"string",
"type":"APPLICATION",
"operator":"ID_EQUALS",
"value":"string"
}
],
"limits":[
{
"id":"string",
"package":"INFRA",
"units":0
}
],
"tags":[
"string"
],
"createdDate":"string",
"lastUpdatedDate":"string"
}

Delete a License Rule Allocation

Delete a license allocation by allocation ID.

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation/{allocationId}

Format

DELETE /controller/licensing/v1/account/{accountId}/allocation/{allocationId}

Path Parameters

Parameter Name Parameter Type Value Mandatory

accountId

Integer

Account identification for which allocations are requested to be retrieved.

Yes

allocationId

String

Allocation ID referencing allocation to be retrieved.

Yes

Example

curl --user <user>@<AccountName>:<password> -X DELETE \
http://<host>:<port>/controller/licensing/v1/account/{accountId}/allocation/{allocationId}

License Information API

A RESTful API to programmatically retrieve license information for an account, such as license type, package, and expiration date.

Retrieve Account License Information

Retrieve license information for an account.

URL

http://<host>:<port>/controller/licensing/v1/account/{accountId}/info

Format

GET /controller/licensing/v1/account/{accountId}/info

Path Parameters

Parameter Name Parameter Type Value Mandatory

accountId

Integer

Account identification for which allocations are requested to be retrieved.

Yes

Response Format

response Object

Parameter Name Parameter Type Value

accountId

Integer

Account ID the license info belongs to.

licenseId

String

SFDC license ID.

customerId

String

Customer ID.

customerName

String

Customer name.

environment

String

Enumerations representing the environment the license is intended to be used on:

  • "DEV/TEST"

  • PROD"

hardwareFingerprint

String

Hardware fingerprint of a machine the license is intended to be used on. Currently only the MAC address is supported. Might be ANY for no restrictions.

type

String

Enumeration representing the intended consumer of the license:

  • "SAAS-CONTROLLER"

  • "SAAS-ACCOUNT"

  • "ONPREM-CONTROLLER"

  • "ONPREM-ACCOUNT"

expirationDate

String

Expiration date of the whole license: ISO 8601 date-time string.

status

String

Enumeration representing the license status:

  • "ACTIVE" - Unexpired and paID license. All units are paid.

  • "LIMITED" - Unexpired and either lite or trial. at least one unit is LITE or TRIAL.

  • "EXPIRED" - Expired license.

packages

Array of Objects

properties

Object

Collection of global custom properties tied to the license in the form of key → value. These properties might be shared among all packages.

fallbackUnits

Object

Account level fallback unit definition, it is mapping agent types (string) to their fallback units (integer).

package Object

Parameter Name Parameter Type Value

packageName

String

An enumeration representing the name of the package (edition) instance:

  • "INFRA"

  • "PREMIUM" "ENTERPRISE"

type

String

An enumeration representing the type of the package instance:

  • "PAID"

  • "TRIAL"

  • "LITE"

kind

String

Package kind derived from the licensing model where the package originated from. Useful for quickly distinguishing packages based on the legacy Agent based license modules (APM, DOTNET, etc.) from the new Infrastructure based packages.

Enum: "INFRASTRUCTURE_BASED"

family

String

Package family.

createdDate

String

Creation date of the package instance in the license. ISO 8601 date-time string.

startDate

String

Start date of the package instance. For example, the date from which the package instance becomes active: ISO 8601 date-time string.

expirationDate

String

Expiration date of the package instance, i.e. date from which the package instance is no longer active. ISO 8601 date-time string.

licenseUnits

String

Number of licenses available for the package instance.

properties

Object

Collection of package specific custom properties in the form of key-value pairs. In case of merging with global properties, conflicting package specific properties take precedence.

Example

Request
curl --user <user>@<AccountName>:<password> -X GET \
http://<host>:<port>/controller/licensing/v1/account/{accountId}/info
Response
{
"accountId":0,
"licenseId":"string",
"customerId":"string",
"customerName":"string",
"environment":"DEV/TEST",
"hardwareFingerprint":"string",
"type":"SAAS-CONTROLLER",
"expirationDate":"string",
"status":"ACTIVE",
"packages":[
{
"packageName":"INFRA",
"type":"PAID",
"kind":"AGENT_BASED",
"family":"string",
"createdDate":"string",
"startDate":"string",
"expirationDate":"string",
"licenseUnits":0,
"properties":{
}
}
],
"properties":{
},
"fallbackUnits":{
}
}

License Rules API

This section describes the License Rules API methods you can use to retrieve information about the license rules as modeled in Splunk AppDynamics such as creating, updating and deleting license rules, and also retrieving license rules by its ID, access key, and name.

Warning: The following are true for all License Rule APIs:id—is GUID (or UUID) which is an acronym for Globally Unique Identifier. access_key—must be unique across all licenseRules.name—must be unique across all licenseRules.account_id—Use GET API to know your current account_ID.

Creates a New License Rule

URL

http://<host>:<port>/controller/mds/v1/license/rules

Format

 POST /controller/mds/v1/license/rules

Input Parameters

Parameter NameParameter TypeValueMandatory

license_module_type

String

String representing the type of the license module.

Module types are:

  • NETVIZ
  • MACHINE_AGENT
  • SIM_MACHINE_AGENT
  • APM
  • APP_AGENT
  • DOT_NET_AGENT
Yes

id

StringString representing the ID or name.Yes

version

IntegerIndicates the version number.Yes

number_of_licenses

IntegerInteger indicating the required number of licenses.Yes

account_id

StringProvides the account name or account ID.Yes

access_key

PathProvides the account access key.Yes

LicenseRule license_module_type, id, access_key, account_id, version number_of_licenses

Example

Request
curl --user <user>@<AccountName>:<password> -X POST \
http://<host>:<port>/controller/mds/v1/license/rules \
-H 'Content-Type: application/json' \
-d '{
"id": "011116a4-124c-4b73-9343-f315836f103b",
"version": 0,
"name": "Default_API9",
"description": null,
"enabled": true,
"constraints": [],
"entitlements": [
{
"license_module_type": "JAVA",
"number_of_licenses": 100
},
{
"license_module_type": "NATIVE_WEB_SERVER",
"number_of_licenses": 100
},
{
"license_module_type": "NATIVE_SDK",
"number_of_licenses": 100
},
{
"license_module_type": "DOT_NET",
"number_of_licenses": 100
},
{
"license_module_type": "NETVIZ",
"number_of_licenses": 100
},
{
"license_module_type": "MACHINE_AGENT",
"number_of_licenses": 100
},
{
"license_module_type": "NODEJS",
"number_of_licenses": 100
},
{
"license_module_type": "SIM_MACHINE_AGENT",
"number_of_licenses": 100
},
{
"license_module_type": "PHP",
"number_of_licenses": 100
},
{
"license_module_type": "PYTHON",
"number_of_licenses": 100
}
],
"account_id": "8b1e92f2-387c-45b6-9bb5-ebd7f67587d4",
"access_key": "ap1845ad-1f3e-4c9b-909b-a3cfa510bfb0",
"total_licenses": null,
"peak_usage": null
}
Response
{
"id": "011116a4-124c-4b73-9343-f315836f103b",
"version": 0,
"name": "Default_API9",
"description": null,
"enabled": true,
"constraints": [
],
"entitlements": [
{
"license_module_type": "JAVA",
"number_of_licenses": 100
},
{
"license_module_type": "NATIVE_WEB_SERVER",
"number_of_licenses": 100
},
{
"license_module_type": "NATIVE_SDK",
"number_of_licenses": 100
},
{
"license_module_type": "DOT_NET",
"number_of_licenses": 100
},
{
"license_module_type": "NETVIZ",
"number_of_licenses": 100
},
{
"license_module_type": "MACHINE_AGENT",
"number_of_licenses": 100
},
{
"license_module_type": "NODEJS",
"number_of_licenses": 100
},
{
"license_module_type": "SIM_MACHINE_AGENT",
"number_of_licenses": 100
},
{
"license_module_type": "PHP",
"number_of_licenses": 100
},
{
"license_module_type": "PYTHON",
"number_of_licenses": 100
}
],
"account_id": "8b1e92f2-387c-45b6-9bb5-ebd7f67587d4",
"access_key": "ap1845ad-1f3e-4c9b-909b-a3cfa510bfb0",
"total_licenses": null,
"peak_usage": null
}
Warning: The version must be 0 when creating.

Returns a Summary of All the License Rules for the Current Account

Use this to retrieve a summary of the license rules. The data transfer objects (DTOs) returned will not contain any constraints, match conditions, or entitlements.

URL

 http://<host>:<port>/controller/mds/v1/license/rules

Format

GET /controller/mds/v1/license/rules

Example

[
{
"id":"f36e08e2-5f57-4b8c-9ad2-f18873adcd87",
"version":2,
"name":"Default",
"description":null,
"enabled":true,
"constraints":[
],
"entitlements":[
],
"account_id":"0429fc7b-a2b9-42e3-a7fb-f704d436a054",
"access_key":"account-accesskey-123",
"total_licenses":120,
"peak_usage":null
}
]

Updates a License Rule

URL

 http://<host>:<port>/controller/mds/v1/license/rules

Format

PUT /controller/mds/v1/license/rules

Input parameters

Parameter Name Parameter Type Value Mandatory

id

StringString representing the ID or name.Yes

license_module_type

String

String representing the type of the license module.

Module types are:

  • NetViz
  • Machine Agent
  • SIM Machine Agent
  • APM
Yes

version

IntegerIndicates the version number.Yes

number_of_licenses

IntegerInteger indicating the required number of licenses.Yes

account_id

StringProvides the account name or account ID.Yes

access_key

PathProvides the account access key.Yes

Example Request

curl -v -X PUT http://<host>:<port>/controller/mds/v1/license/rules \
--user <user>@<AccountName>:<password> \
-H 'Content-Type: application/json' \
-d '{
"id": "321116a4-124c-4b73-9343-f315836f103b",
"version": 0,
"name": "Default_API",
"description": null,
"enabled": true,
"constraints": [],
"entitlements": [
{
"license_module_type": "JAVA",
"number_of_licenses": 1000
},
{
"license_module_type": "NATIVE_WEB_SERVER",
"number_of_licenses": 100
},
{
"license_module_type": "NATIVE_SDK",
"number_of_licenses": 100
},
{
"license_module_type": "DOT_NET",
"number_of_licenses": 100
},
{
"license_module_type": "NETVIZ",
"number_of_licenses": 100
},
{
"license_module_type": "MACHINE_AGENT",
"number_of_licenses": 100
},
{
"license_module_type": "NODEJS",
"number_of_licenses": 100
},
{
"license_module_type": "SIM_MACHINE_AGENT",
"number_of_licenses": 100
},
{
"license_module_type": "PHP",
"number_of_licenses": 100
},
{
"license_module_type": "PYTHON",
"number_of_licenses": 100
}
],
"account_id": "8b1e92f2-387c-45b6-9bb5-ebd7f67587d4",
"access_key": "api845ad-1f3e-4c9b-909b-a3cfa510bfb0",
"total_licenses": null,
"peak_usage": null
}
Note: To update the license rules:Get the payload using any of the available GET methods.Update accessKeys, entitlements, etc.Send the PUT request without changing other key-value pairs."version" should be kept as it was during GET. This would be incremental.

Deletes a License Rule

URL

http://<host>:<port>/controller/mds/v1/license/rules/f36e08e2-5f57-4b8c-9ad2-f18873adcd87

Format

DELETE /controller/mds/v1/license/rules/{id}

Input parameter

Parameter Name Parameter Type Value Mandatory

LicenseRuleId

Path

Deletes license rule by its ID.

Yes

Retrieve a License Rule by ID

Use this to retrieve a license rule by the license rule ID.

URL

http://<host>:<port>/mds/v1/license/rules/f36e08e2-5f57-4b8c-9ad2-f18873adcd87

Format

GET /mds/v1/license/rules/{licenseRuleId}

Path Parameter

Parameter Name Parameter Type Value Mandatory
licenseRuleId PathRetrieves the UUID of the license rule.Yes

Output Parameters

Parameter Name Parameter Type Value Mandatory

id

StringString representing the ID or name.Yes

version

IntegerIndicates the version number.Yes

total_licenses

IntegerInteger indicating the total number of licenses.Yes

account_id

StringProvides the account name or account ID.Yes

access_key

pathProvides the account access key.Yes

Example

Request
curl -X GET --user <user>@<AccountName>:<password> http://<host>:<port>/controller/mds/v1/license/rules/091116a4-124c-4b73-9343-f315836f103b
Response
{
"id": "091116a4-124c-4b73-9343-f315836f103b",
"version": 0,
"name": "Default",
"description": null,
"enabled": true,
"constraints": [],
"entitlements": [
{
"license_module_type": "JAVA",
"number_of_licenses": 100
},
{
"license_module_type": "NATIVE_WEB_SERVER",
"number_of_licenses": 100
},
{
"license_module_type": "NATIVE_SDK",
"number_of_licenses": 100
},
{
"license_module_type": "DOT_NET",
"number_of_licenses": 100
},
{
"license_module_type": "NETVIZ",
"number_of_licenses": 100
},
{
"license_module_type": "MACHINE_AGENT",
"number_of_licenses": 100
},
{
"license_module_type": "NODEJS",
"number_of_licenses": 100
},
{
"license_module_type": "SIM_MACHINE_AGENT",
"number_of_licenses": 100
},
{
"license_module_type": "PHP",
"number_of_licenses": 100
},
{
"license_module_type": "PYTHON",
"number_of_licenses": 100
}
],
"account_id": "8b1e92f2-387c-45b6-9bb5-ebd7f67587d4",
"access_key": "bd3845ad-1f3e-4c9b-909b-a3cfa510bfb0",
"total_licenses": null,
"peak_usage": null
}
Warning: The "version" gets updated after every update from UI or API.

Retrieves a License Rule by Access Key

URL

http://<host>:<port>/controller/mds/v1/license/rules/accessKey/account-accesskey-123

Format

GET /controller/mds/v1/license/rules/accessKey/{accessKey}

Path Parameter

Parameter Name Parameter Type Value Mandatory

access_key

Path

Retrieves the access key assigned to the license rule.

Yes

Output Parameters

Parameter Name Parameter Type Value Mandatory

id

StringString representing the ID or name.Yes

version

IntegerIndicates the version number.Yes

total_licenses

IntegerInteger indicating the total number of licenses.Yes

account_id

StringProvides the account name or account ID.Yes

Example

Request
curl -X GET --user <user>@<AccountName>:<password> http://<host>:<port>/controller/mds/v1/license/rules
Response
[
{
"id": "221116a4-124c-4b73-9343-f315836f103b",
"version": 0,
"name": "Default",
"description": null,
"enabled": true,
"constraints": [],
"entitlements": [],
"account_id": "8b1e92f2-387c-45b6-9bb5-ebd7f67587d4",
"access_key": "bd3845ad-1f3e-4c9b-909b-a3cfa510bfb0",
"total_licenses": 1000,
"peak_usage": null
},
{
"id": "321116a4-124c-4b73-9343-f315836f103b",
"version": 0,
"name": "Custom1",
"description": null,
"enabled": true,
"constraints": [],
"entitlements": [],
"account_id": "8b1e92f2-387c-45b6-9bb5-ebd7f67587d4",
"access_key": "api845ad-1f3e-4c9b-909b-a3cfa510bfb0",
"total_licenses": 1000,
"peak_usage": null
}
]

Retrieve a License Rule by Name

URL

http://<host>:<port>/controller/mds/v1/license/rules/name/Default

Format

GET /controller/mds/v1/license/rules/name/{name}

Path Parameter

Parameter Name Parameter Type Value Mandatory

name

Path

Retrieves the name of the license rule.

Yes

Output Parameters

Parameter Name Parameter Type Value Mandatory

id

StringString representing the ID or name.Yes

version

IntegerIndicates the version number.Yes

total_licenses

IntegerInteger indicating the total number of licenses.Yes

account_id

StringProvides the account name or account ID.Yes

Example

Request
curl -X GET --user <user>@<AccountName>:<password> http://<host>:<port>/controller/mds/v1/license/rules
Response
[
{
"id": "221116a4-124c-4b73-9343-f315836f103b",
"version": 0,
"name": "Default",
"description": null,
"enabled": true,
"constraints": [],
"entitlements": [],
"account_id": "8b1e92f2-387c-45b6-9bb5-ebd7f67587d4",
"access_key": "bd3845ad-1f3e-4c9b-909b-a3cfa510bfb0",
"total_licenses": 1000,
"peak_usage": null
},
{
"id": "321116a4-124c-4b73-9343-f315836f103b",
"version": 0,
"name": "Custom1",
"description": null,
"enabled": true,
"constraints": [],
"entitlements": [],
"account_id": "8b1e92f2-387c-45b6-9bb5-ebd7f67587d4",
"access_key": "api845ad-1f3e-4c9b-909b-a3cfa510bfb0",
"total_licenses": 1000,
"peak_usage": null
}
]