The Expiring Features endpoint delivers metrics that License Statistics collects from the monitored license server. This endpoint is used to fetch license usage metrics specific to the Expiring Features report for features that are nearing expiration.
Obtaining information about expiring features
If you want to fetch metrics about features that are nearing expiration, we recommend that you use the following URL request template.
GET /api/v1/report/expiry/server/${licenseServerId}/json?sd=${startDate}&ed=${endDate}$(additional parameters, as needed)
where $ indicates a variable value that you can replace with a value that best suits your needs and the possible parameters are as follows:
Parameter | Required | Type | Description |
---|---|---|---|
${licenseServerId} | Yes | integer/string | Specifies ID of license server for which we want to gather data about features nearing expiration. You can set this parameter to 'all' to gather data from all license servers. |
${returnType} | Yes | string | Specifies the format in which license data will be returned. The format can be one of the following: JSON, CSV, XLS, XLSX or PDF. |
sd | No | string | Specifies the start date for which the report will be generated in YYYY-MM-DD format; for example, 2017-05-20. If neither this field, nor "ed" is provided, it defaults to today. |
ed | No | string | Specifies the end date for which the report will be generated in YYYY-MM-DD format; for example, 2017-05-27. If neither this field, nor "sd" is provided, it defaults to [today + 12 months]. |
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, this parameter will be ignored. |
filter | No | json/string | Applies filtering license usage data on all fields. To filter by a string column, use the following format: [ { "type": "string", "field": "${fns | ftype | fexp | lsn | vn | fv}", "value": "${value}" } ] To filter by a numeric column, use the following format: [ { "type": "numeric", "comparison": "${gt | lt | eq}", "field": "${fid | lsid}", "value": "${value}" } ] |
fieldsVisibility | No | json/string | Specifies field visibility settings, like this: { "fns": "1", "fv": "1", "ftype": "1", "vn": "1", "lsn": "1", "fexp": "1" } where "1" indicates that a specific field is visible and ''0" indicates that it is not. |
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: fid | fns | fv | ftype | vn | lsn | fexp (See this section for more field-specific information.) |
orderDirection | No | string | Determines whether the sorting results will be displayed in an ascending (ASC) or descending (DESC) order. |
The following code block shows an example result of a successful request:
{ "success": ${success}, "msg": ${message}, "data": [ { "fid": ${featureId}, "fns": ${featureName}, "ftype": ${featureType}, "fv": ${featureVersion}, "fexp": ${featureExpires}, "lsid": ${licenseServerId}, "lsn": ${licenseServerName}, "vn": ${licenseServerVendorName}, } ], "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. |
fns | string | Feature name. |
ftype | string | Feature type. |
fv | string | Feature version. |
fexp | string | Feature expiration date. |
lsid | integer | License server ID. |
lsn | string | License server name. |
vn | string | License server vendor name. |
code | integer | Error code if success equals false, null otherwise. |
totalCount | integer | Total number of rows that will be returned. |
Example 1
Say you would like to view all features expiring in the next 12 months on all of you license servers. To generate such data, enter a command that is similar to the following:
curl -H "X-Auth-token: token" "http://yourdomain/api/v1/report/expiry/server/all/json"
Example 2
To view all features expiring in some period of time on one of your license servers that have licenseServerId=1, enter a command similar to this one:
curl --data "sd=2015-01-01" --data "ed=2015-03-01" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/expiry/server/1/json"
Obtaining information about the number of features expiring in some period of time
If you want to fetch metrics about how many features expire in some period of time, we recommend that you use the following URL request template.
GET /api/v1/report/expiry/server/{licenseServerId}/count/grouped/json?sd=${startDate}&ed=${endDate}&granularity=${granularity}&filter=${filter}
where the possible parameters are as follows:
Parameter | Required | Type | Description |
---|---|---|---|
licenseServerId | Yes | integer/string | ID of the license server or 'all' string for all license servers. |
sd | No | string | Specifies the start date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-20. If neither this field, nor "ed" is provided, it defaults to today. |
ed | No | string | Specifies the end date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-27. If neither this field, nor "sd" is provided, it defaults to [today + 12 months]. |
granularity | No | integer | Specifies granularity of the returned data, and can be one of the following:
By default, this parameter is set to show monthly statistics. |
filter | No | string | Applies filtering license usage data on all fields. To filter by string column, use the following format: [ { "type": "string", "field": "${fns | ftype | fexp | lsn | vn | fv}", "value": "${value}" } ] To filter by numeric column, use the following format: [ { "type": "numeric", "comparison": "${gt | lt | eq}", "field": "${fid | lsid}", "value": "${value}" } ] |
The following code block shows an example result of a successful request:
{ "success": ${success}, "msg": ${message}, "data": [ { "fexpy": ${featureId}, "fexpm": ${featureName}, "fexpc": ${featureVersion}, "granularity": ${granularity} } ], "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. |
fexpy | integer | Year for which the period number has been specified. |
fexpm | integer | Number of time period such as day, week, month, etc. |
fexpc | integer | Count of features expiring in the given period of time. |
granularity | integer | Specifies granularity of the returned data, and can be one of the following:
|
code | integer | Error code if success equals false, null otherwise. |
totalCount | integer | Total number of rows returned. |
Example 1
If you would like to obtain count of features that expire every month in the next 12 months on all your servers, enter a command that is similar to the following:
curl -H "X-Auth-token: token" "http://yourdomain/api/v1/report/expiry/server/all/count/grouped/json"
Example 2
Say you would like to obtain count of features that expire every week in some period of time on server with ID 1. To generate such data, enter a command that is similar to the following:
curl --data "sd=2015-01-01" --data "ed=2015-03-01" --data "granularity=4" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/expiry/server/1/count/grouped/json"