The Expiring Features endpoint delivers license usage metrics specific to the Expiring Features report for features that are nearing expiration.
Obtaining information about expiring features
You can easily list features that are nearing expiration by sending the following HTTP request.
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. The possible parameters are described below.
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. The date is 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. The date is 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. |
Response
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 whether 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
The following example shows a command that obtains statistics about all features expiring in the next 12 months on all license servers.
curl -H "X-Auth-token: token" "http://yourdomain/api/v1/report/expiry/server/all/json"
Example 2
The following example shows a command that obtains information about all features expiring in a specified period of time on a license server with an ID of "1."
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
You can easily list features that are going to expire in some period of time by sending the following HTTP request:
GET /api/v1/report/expiry/server/{licenseServerId}/count/grouped/json?sd=${startDate}&ed=${endDate}&granularity=${granularity}&filter=${filter}
where the possible parameters can be explained 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. The date is 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. The date format is YYYY-MM-DD; for example, 2017-05-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 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}" } ] |
Response
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
The following example shows a command that obtains a count of features that will expire for every month in the next 12 months on all servers.
curl -H "X-Auth-token: token" "http://yourdomain/api/v1/report/expiry/server/all/count/grouped/json"
Example 2
The following example shows a command that obtains a count of features that will expire for every week in a specified period of time on a server with an ID of "1."
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"