Some information on this page refers to License Statistics v5.7 or newer, which changed the API endpoint URL in order to maintain version integrity into the future. If you are running a previous version of License Statistics, please refer the documentation for releases prior to v5.7. |
License Statistics API allows you to generate data from the Usage History report. This report shows statistics for license usage, during any period that usage was tracked.
Obtaining information about usage history for feature
If you want to retrieve information about usage history for a single feature, we recommend that you use the following URL request template.
GET /api/v1/report/feature/${featureId}/usage-history/${returnType}?sd=${startDate}&ed=${endDate}&granularity=${granularity}$(additional parameters, as needed)
where
- $ indicates a variable value that you can replace with a proper value, according to your needs
- possible parameters are as follows:
Parameter | Required | Type | Description |
---|---|---|---|
${featureId} | Yes | integer | Specifies feature-specific parameters. |
${returnType} | Yes | string | Specifies the format in which license usage data will be returned. The format can be one of the following: json, csv, xls, xlsx or pdf. |
sd | Yes | string | Specifies the start date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-20. |
ed | Yes | string | Specifies the end date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-27. |
granularity | Yes | integer | Specifies granularity of the returned data, which can be one of the following:
|
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. |
filter | No | json/string | Applies filtering license usage data on all fields. To filter by string column, use the following format: [ { "type": "string", "field": "lud", "value": "${value}" } ] To filter by numeric column, use the following format: [ { "type": "numeric", "comparison": "${gt | lt | eq}", "field": "${lumin | lua | lumax | lbmin | lbmax | ldtc | hu | ft}", "value": "${value}" } ] |
fieldsVisibility | No | json/string | Specifies field visibility settings, like this: { "lud": "1", "lumin": "1", "lua": "1", "lumax": "1", "lbmin": "1", "lbmax": "1", "ldtc": "1", "hu": "1", "ft": "1" } where "1" indicates that a specific field is visible and ''0" indicates that it is not. 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. |
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: lud | lumin | lua | lumax | lbmin | lbmax | ldtc | hu | ft |
orderDirection | No | string | Determines whether the sorting results will be displayed in ascending (ASC) or descending (DESC) order. |
If your request is successful, you should see a response similar to the following:
{ "success": ${success}, "msg": ${message}, "data": [ { "fid": ${featureId}, "lud": ${date}, "lumin": ${minUsed}, "lua": ${averageUsed}, "lumax": ${maxUsed}, "lbmin": ${minBorrowed}, "lbmax": ${maxBorrowed}, "ldtc": ${denials}, "hu": ${hoursUsed}, "ft": ${total} } ], "code": ${code}, "totalCount": ${count} }
where the response fields can be explained as follows:
Field | Type | Description |
---|---|---|
success | boolean | Indicates that your API request was successfully processed. |
msg | string | Error message returned on failure. |
fid | integer | Feature ID. |
lud | string | Indicates period of time for which usage information is generated, i.e. date and time for hourly usage and dates for the remaining granularity options. |
lumin | integer | Minimal licenses used count for given date. |
lua | float | Average licenses used count for given date. |
lumax | integer | Maximum licenses used count for given date. |
lbmin | integer | Minimal licenses borrowed count for given date. |
lbmax | integer | Maximum licenses borrowed count for given date. |
ldtc | integer | Denials count. |
hu | float | Hours used. |
ft | integer | Feature total. |
code | integer | Error code if success equals false, null otherwise. |
totalCount | integer | Total number of rows returned. |
Obtaining information about usage history comparison for features
If you want to obtain information about usage history comparison for features, we recommend that you use the following URL request template.
GET /api/v1/report/feature/usage-history/comparison/json?fi=${featureIds}&sd=${startDate}&ed=${endDate}&granularity=${granularity}
There is also another possible endpoint to do this, however it is deprecated.
GET /api/v1/report/usage-history/comparison/json?fi=${featureIds}&sd=${startDate}&ed=${endDate}&granularity=${granularity}
Possible parameters are as follows:
Parameter | Required | Type | Description |
---|---|---|---|
featureIds | Yes | array | Arrays of feature IDs in the following format: id1, id2, id3... for example fi=1,2,3,5. |
sd | Yes | string | Specifies the start date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-20. |
ed | Yes | string | Specifies the end date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-27. |
granularity | Yes | integer | Specifies granularity of the returned data, which can be one of the following:
|
Currently the report is only returned only in JSON syntax. There are plans to introduce CSV, XLS and PDF formats in the future.
If your request is successful, you should see a response similar to the following:
{ "success": ${success}, "msg": ${message}, "data": [ { "fid": ${featureId_1}, "lud": ${date}, "lumin": ${minUsed}, "lua": ${averageUsed}, "lumax": ${maxUsed}, "lbmin": ${minBorrowed}, "lbmax": ${maxBorrowed}, "ldtc": ${denials}, "hu": ${hoursUsed}, "ft": ${total} }, { "fid": ${featureId_2}, "lud": ${date}, "lumin": ${minUsed}, "lua": ${averageUsed}, "lumax": ${maxUsed}, "lbmin": ${minBorrowed}, "lbmax": ${maxBorrowed}, "ldtc": ${denials}, "hu": ${hoursUsed}, "ft": ${total} } ], "code": ${code}, "totalCount": ${count} }
where the fields have the same values as the ones explained in Obtaining information about usage history for feature, above.
Obtaining information about usage history for license server
If you want to obtain information about usage history for all visible features for a given server, we recommend that you use the following URL request template.
GET /api/v1/report/license-server/${lsid}/usage-history/${returnType}?sd=${startDate}&ed={endDate}&granularity=${granularity}$(additional parameters, as needed)
There is also another possible endpoint to do this, however it is deprecated.
GET /api/v1/report/usage-history/license-server/${lsid}/${returnType}?sd=${startDate}&ed={endDate}&granularity=${granularity}$(additional parameters, as needed)
Possible parameters are as follows:
Parameter | Required | Type | Description |
---|---|---|---|
${lsid} | Yes | integer | License Server ID. |
${returnType} | Yes | string | Specifies the format in which license usage data will be returned. The format can be one of the following: json, csv, xls, xlsx or pdf. |
sd | Yes | string | Specifies the start date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-20. |
ed | Yes | string | Specifies the end date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-27. |
granularity | Yes | integer | Specifies granularity of the returned data, which can be one of the following:
|
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": "${lud | fns | fv | ftype}", "value": "${value}" } ] To filter by numeric column, use the following format: [ { "type": "numeric", "field": "${lumin | lua | lumax | lbmin | lbmax | ldtc | hu | ft}", "value": "${value}" } ] |
fieldsVisibility | No | json/string | Specifies field visibility settings, for example: { "lud": "1", "lumin": "1", "lua": "0", "lumax": "1", "lbmin": "1", "lbmax": "1", "ldtc": "1", "hu": "0", "ft": "0", "fns": "1", "fv": "1", "ftype": "1" } where "1" indicates that a specific field is visible, ''0" indicates it is not. 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. |
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: lud | fns | fv | ftype | fid | lumin | lua | lumax | lbmin | lbmax | ldtc | hu | ft |
orderDirection | No | string | Determines whether the sorting results will be displayed in ascending (ASC) or descending (DESC) order. |
If your request is successful, you should see a response similar to the following:
{ "success": ${success}, "msg": ${message}, "data": [ { "fid": ${featureId_1}, "lud": ${date}, "lumin": ${minUsed}, "lua": ${averageUsed}, "lumax": ${maxUsed}, "lbmin": ${minBorrowed}, "lbmax": ${maxBorrowed}, "ldtc": ${denials}, "hu": ${hoursUsed}, "ft": ${total}, "fns": ${featureName}, "ftype": ${featureType}, "fv": ${featureVersion} }, { "fid": ${featureId_1}, "lud": ${date}, "lumin": ${minUsed}, "lua": ${averageUsed}, "lumax": ${maxUsed}, "lbmin": ${minBorrowed}, "lbmax": ${maxBorrowed}, "ldtc": ${denials}, "hu": ${hoursUsed}, "ft": ${total}, "fns": ${featureName}, "ftype": ${featureType}, "fv": ${featureVersion} } ], "code": ${code}, "totalCount": ${count} }
where the response fields can be explained as follows:
Field | Type | Description |
---|---|---|
success | boolean | Indicates that the API request was successfully processed. |
msg | string | Error message returned on failure. |
fid | integer | Feature ID. |
lud | string | Indicates period of time for which usage information is generated, i.e. date and time for hourly usage and dates for the remaining granularity options. |
lumin | integer | Minimal licenses used count for given date. |
lua | float | Average licenses used count for given date. |
lumax | integer | Maximum licenses used count for given date. |
lbmin | integer | Minimal licenses borrowed count for given date. |
lbmax | integer | Maximum licenses borrowed count for given date. |
ldtc | integer | Denials count. |
hu | float | Hours used. |
ft | integer | Feature total. |
code | integer | Error code if success equals false, null otherwise. |
totalCount | integer | Total number of rows returned. |
fns | string | Feature name. |
ftype | string | Feature type. |
fv | string | Feature version. |
If any of the requests has invalid or missing parameters, HTTP 400 BAD REQUEST is returned.