Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning
This page refers to functionality that has been removed from License Statistics. This information no longer applies to License Statistics v6.3 and newer.

License Statistics API allows you to generate data from The Expiring Features endpoint delivers license usage metrics specific to the Expiring Features report. This report shows statistics about for features that are nearing expiration.

Obtaining information about expiring features

If you want to retrieve information about You can easily list features that are nearing expiration , we recommend that you use the following URL request templateby sending the following HTTP request.

Code Block
languagejs
firstline1linenumberstrue
GET /api/v1/report/expiry/server/${licenseServerId}/json${returnType}?sd=${startDateYYYY-MM-DD}&ed=${endDateYYYY-MM-DD}$(additional parameters, as needed)

where  - $ $ indicates a variable value that you can replace with a proper value, according to your needs
 - the value that best suits your needs. The possible parameters are as follows:described below.

Applies filtering license usage data on all fields.

To filter by string column, use the following format: 

ParameterRequiredTypeDescription
${licenseServerId}Yesinteger/string

Specifies ID of Internal License Statistics identification of the license server for which we you 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 pdfStandard format option. See Making an API request for details.
sdNostringdateSpecifies the start Start date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-20. If not provided, it defaults to today. If neither this field nor "ed" is provided, the date defaults to the current date.
edNostringdateSpecifies the end End date for which the report will be generated in YYYY-MM-DD format; for example, 2017-01-27. If not 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
Code Block
languagejs
firstline1
linenumberstrue
[
	{ 
		"type": "string",
		"field": "${fns | ftype | fexp | lsn | vn | fv}",
		"value": "${value}"
	}
]

To filter by numeric column, use the following format:

Code Block
languagejs
firstline1
linenumberstrue
[
	{ 
		"type": "numeric", 
		"comparison": "${gt | lt | eq}", 
		"field": "${fid | lsid}",
		"value": "${value}" 
	}
]
fieldsVisibilityNojson/string

Specifies field visibility settings, like this:

Code Block
languagejs
firstline1
linenumberstrue
{ 
	"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
orderDirectionNostringDetermines whether the sorting results will be displayed in an ascending (ASC) or descending (DESC) order.

If your request is successful, you should see a response similar to the following:

Code Block
languagejs
firstline1
linenumberstrue
{
	"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:

...

Feature name.

...

vn

...

Error code if success equals false, null otherwise.

...

. If neither this field nor "sd" is provided, the date defaults to the current date + 12 months.
standard report optionsNovarious

See Making an API request for details.

Response

On success, this report will contain one row for each feature expiring in the specified time range. Each row consists of the following columns.

Column
Full nameTypeDescriptionVisible by default in export
fidFeature IDintegerInternal License Statistics identification of the feature.(tick)Yes
fnsFeature Namestring

Feature name.

(tick)Yes
fvFeature VersionenumerationFeature version.(tick)Yes
ftypeFeature TypestringSee feature type descriptions for details.
(tick)Yes

vn

VendorstringName of license server vendor hosting the feature.(tick)Yes
lsidLicense Server IDintegerInternal License Statistics identification of license server hosting the feature.(tick)Yes
lsnLicense ServerstringName of license server hosting the feature.(tick)Yes
fexpFeature ExpiresdateDay when the feature expires.
(tick)Yes

Note that the order in the table is the default order of the columns in the exported file.

Example 1

The following example shows a command that obtains statistics about

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: 

Code Block
languagebash
firstline1
linenumberstrue
curl -H "X-Auth-token: token" "http://yourdomain/api/v1/report/expiry/server/all/json"

Example 2

To view The following example shows a command that obtains information about all features expiring in some a specified period of time on one of your license servers that have licenseServerId=1, enter a command similar to this one:a license server with an ID of "1."

Code Block
languagebash
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 retrieve information about how many features You can easily list features that are going to expire in some period of time , we recommend that you use the following URL request template. by sending the following HTTP request:

Code Block
linenumbers
languagejs
firstline1true
GET /api/v1/report/expiry/server/{licenseServerId}/count/grouped/json?sd=${startDateYYYY-MM-DD}&ed=${endDateYYYY-MM-DD}&granularity=${granularity}&filter=${filter}

where the possible parameters are can be explained as follows:

ParameterRequiredTypeDescription
licenseServerIdYesinteger/string
ID
Internal License Statistics identification of
the
license server
or a string for all
for which you want to gather data about features nearing expiration. You can set this parameter to 'all' to gather data from all license servers.
sdNo
string
date
Specifies the start
Start date for which the report will be generated
in YYYY-MM-DD format; for example, 2017-01-20. If not provided defaults to today
.If neither this field nor "ed" is provided, the date defaults to the current date.
edNo
string
date
Specifies the end
End date for which the report will be generated
in YYYY-MM-DD format; for example, 2017-01-27. If not provided defaults to [today + 12 months]
. If neither this field nor "sd" is provided, the date defaults to the current date + 12 months.
granularityNo
integerSpecifies granularity of the returned data, and can be one of the following:
  • Quarter - 2
  • Month - 3
  • Week - 4
  • Day - 5
enumeration

Period type the result is aggregated for. HOUR granularity is not supported. See granularity descriptions for further details.

By default, this parameter is set to

show monthly statistics.

MONTH

filterNo
string

Applies filtering license usage data on all fields.

To filter by string column, use the following format: 

Code Block
languagejs
firstline1
linenumberstrue
[
	{ 
		"type": "string",
		"field": "${fns | ftype | fexp | lsn | vn | fv}",
		"value": "${value}"
	}
]

To filter by numeric column, use the following format:

Code Block
languagejs
firstline1
linenumberstrue
[
	{ 
		"type": "numeric", 
		"comparison": "${gt | lt | eq}", 
		"field": "${fid | lsid}",
		"value": "${value}" 
	}
]

...

JSON

See Making an API request for details.

This report supports only JSON format.

This report supports filtering, but does not support other standard options (limiting or ordering).

Response

On success, this report will contain one row for each feature expiring in the specified time range. Each row consists of the following columns.


Column
Full nameTypeDescription
fexpyYearintegerYear for which the time

...

Code Block
languagejs
firstline1
linenumberstrue
{
	"success": ${success},
  	"msg": ${message},
  	"data": [
    	{
      		"fexpy": ${featureId},
      		"fexpm": ${featureName},
      		"fexpc": ${featureVersion},
      		"granularity": ${granularity}
    	}
  	],
  	"code": ${code},
  	"totalCount": ${count}
}

...

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

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

fexpcCountintegerCount 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

Granularityenumeration

Granularity given in parameter. Defaults to MONTH if unspecified.

 

Example 1

The following example shows a command that obtains a count of features that will expire for 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:license servers.

Code Block
languagebash
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 The following example shows a command that obtains a count of features that will expire for every week in some a specified period of time on a license server with an ID of "1. To generate such data, enter a command that is similar to the following: "

Code Block
languagebash
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"

...