You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

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

You can easily list features that are nearing expiration by calling this HTTP GET 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 and the possible parameters are as follows:

ParameterRequiredTypeDescription
${licenseServerId}Yesinteger/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}YesstringSpecifies the format in which license data will be returned. The format can be one of the following: json, csv, xls, xlsx or pdf.
sdNostringSpecifies the start date for which the report will be generated. The date format is YYYY-MM-DD; for example, 2017-05-20. If neither this field, nor "ed" is provided, it defaults to today.
edNostringSpecifies 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].
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.
If you don't pass this parameter, it will be generated automatically for PDF and XLS types. If provided, it cannot be left empty.

filterNojson/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}" 
	}
]


fieldsVisibilityNojson/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.

limitNointegerDetermines the maximum number of data records that can be returned. The value must be greater than zero.
offsetNointegerSpecifies the offset of the first row to return.
orderByNostring

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.)

orderDirectionNostringDetermines 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:

FieldTypeDescription
successbooleanIndicates that your API request was successfully processed.
msgstringError message returned on failure.
fidintegerFeature ID.
fnsstring

Feature name.

ftypestringFeature type.
fvstringFeature version.
fexpstringFeature expiration date.
lsidintegerLicense server ID.
lsnstringLicense server name.

vn

stringLicense server vendor name.
codeinteger

Error code if success equals false, null otherwise.

totalCountintegerTotal 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

You can easily list features that are going to expire in some period of time by calling this HTTP GET request:

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:

ParameterRequiredTypeDescription
licenseServerIdYesinteger/stringID of the license server or 'all' string for all license servers.
sdNostringSpecifies the start date for which the report will be generated. The date is in YYYY-MM-DD format; for example, 2017-01-20. If neither this field, nor "ed" is provided, it defaults to today.
edNostringSpecifies the end date for which the report will be generated. The date is in YYYY-MM-DD format; for example, 2017-01-27. If neither this field, nor "sd" is provided, it defaults to [today + 12 months].
granularityNointegerSpecifies granularity of the returned data, and can be one of the following:
  • Quarter - 2
  • Month - 3
  • Week - 4
  • Day - 5

By default, this parameter is set to show monthly statistics.

filterNostring

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:
 

FieldTypeDescription
successbooleanIndicates that your API request was successfully processed.
msgstringError message returned on failure.
fexpyintegerYear for which the period number has been specified.
fexpminteger

Number of time period such as day, week, month, etc.

fexpcintegerCount of features expiring in the given period of time.
granularityintegerSpecifies granularity of the returned data, and can be one of the following:
  • Quarter - 2
  • Month - 3
  • Week - 4
  • Day - 5
By default, this parameter is set to show monthly statistics.
codeinteger

Error code if success equals false, null otherwise.

totalCountintegerTotal 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"


  • No labels