License Statistics API allows you to obtain information about Current Feature Usage. The report consists of two parts: Current Feature Usage grid that shows usage at current moment, and Feature Usage chart, that shows how usage was shaped during the day
Obtaining information about current feature usage
To get data about current feature usage use following URL template:
GET /api/v1/report/feature/${featureId}/current-usage/${returnType}
where:
- $ indicates a variable value that you can replace with a proper value, according to your needs
- the possible parameters are as follows:
Parameter | Required | Type | Description |
---|---|---|---|
${featureId} | Yes | integer/string | Id of feature for which you want to get data |
${returnType} | Yes | string | Specifies the format in which the data should be returned. The format can be one of the following: json, csv, xls or pdf. |
fieldsVisibility | No | json/string | Specifies field visibility settings, for example: { "uid": "1", "un": "1", "hn": "1", "lus": "1", "lco": "1", "tu": "1", "lbe": "1" } where number "1" indicates that a specific field is visible. Note that the order of the settings you make is important – when exported, the fields will be visible in exactly the same order you specify here. |
rn | No | string | Specifies the name of the report that will be displayed once the report has been exported to PDF or XLS. For CSV and JSON formats this parameter will be ignored. If you don't pass this parameter, it will be generated automatically for PDF and XLS types. If provided, it cannot be left empty. |
filter | No | json/string | Applies filtering license usage data on all fields. To filter by string column, use the following format: [ { "type": "string", "field": "${un | hn | lco | lbe}", "value": "${value}" } ] To filter by numeric column, use the following format: [ { "type": "numeric", "comparison": "${gt | lt | eq}", "field": "${lus}", "value": "${value}" } ] |
limit | No | integer | Determines the maximum number of data records that can be returned. The value must be greater than zero. |
offset | No | integer | Specifies the offset of the first row to return. |
orderBy | No | string | Specifies the field by which you want to order your data records. The field name can be one of the following: un, hn, lus, lco, tu, lbe. |
orderDirection | No | string | Determines whether the sorting results will be displayed in an ascending (ASC) or a descending (DESC) order. |
If your request is successful, you should see a response similar to the following:
{ success: ${success}, msg: ${message}, data: [{ "uid": ${userId}, "un": ${userName}, "hn": ${hostName}, "lus": ${licensesUsed}, "lco": ${checkoutTime}, "tu": ${licensesUsed}, "lbe": ${borrowExpire}, "uil": ${ldapUser} }], "code": ${errorCode}, "totalCount": ${totalCount} }
where the response fields can be explained as follows:
Field | Type | Description |
---|---|---|
uid | integer | User ID. |
un | string | Username. |
hn | string | Hostname. |
lus | integer | Total number of licenses used by user on host. |
lco | string | Date when license was checked out, in 'YYYY-MM-DD HH:MM' format. |
lbe | string | Borrow expiration date, in 'YYYY-MM-DD HH:MM' format. |
uil | boolean | Indicates whether user details have been imported from an LDAP directory. Note that you cannot filter and order data by this field. |
msg | string | Error message returned on failure. |
success | boolean | Indicates whether the API request was successfully processed. |
code | integer | Error code for unsuccessful request. |
totalCount | integer | Total number of all matching results. |
If you want to obtain information about currently borrowed licenses on all servers in CSV format, enter a command similar to this one:
curl -H "X-Auth-token: token" "http://yourdomain/api/v1/report/feature/1/current-usage/csv"
Obtaining information about feature usage during given day
To get data about feature usage during selected day use following URL template:
GET /api/v1/report/feature/${featureId}/usage/chart/json?day=${day}
where:
- $ indicates a variable value that you can replace with a proper value, according to your needs
- the possible parameters are as follows:
Parameter | Required | Type | Description |
---|---|---|---|
${featureId} | Yes | integer | Id of feature for which you want to get data |
${day} | No | string | Date in format 'YYYY-MM-DD'. States for which day we want to get the data. If not provided defaults to today
|
If your request is successful, you should see a response similar to the following:
{ success: ${success}, msg: ${message}, data: [{ "fid": ${featureId}, "lud": ${dateAndTime}, "ltc": ${totalCount}, "lumax": ${licenseUsageMax}, "lbmax": ${licensesBorrowedMax} }], "code": ${errorCode}, "totalCount": ${totalCount} }
where the response fields can be explained as follows:
Field | Type | Description |
---|---|---|
fid | integer | Feature ID. |
lud | string | Date and time (adjusted to 5 minute intervals). |
ltc | integer | License total count. |
lumax | integer | Maximum amount of used licenses. |
lbmax | integer | Maximum amount of borrowed licenses. |
msg | string | Error message returned on failure. |
success | boolean | Indicates whether the API request was successfully processed. |
code | integer | Error code for unsuccessful request. |
totalCount | integer | Total number of all matching results. |