Versions Compared

Key

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

License Statistics API allows you to generate data from 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. This report shows statistics about for features that are nearing expiration.

Obtaining information about expiring features

If you want to retrieve information fetch metrics about features that are nearing expiration, we recommend that you use the following URL request template.

Code Block
languagejs
firstline1
linenumberstrue
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 proper value, according to 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: jsonJSON, csvCSV, xlsXLS, xlsx XLSX or pdfPDF.
sdNostringSpecifies the start date for which the report will be generated in YYYY-MM-DD format; for example, 2017-0105-20. If neither this field, nor "ed" is provided, it defaults to today.
edNostringSpecifies the end date for which the report will be generated in YYYY-MM-DD format; for example, 2017-0105-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: 

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

To filter by a 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

(See this section for more field-specific information.)

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 followingThe following code block shows an example result of a successful request:

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:

Anchor
fields def
fields def

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.

...

Obtaining information about the number of features expiring in some period of time

If you want to retrieve information fetch metrics about how many features expire in some period of time, we recommend that you use the following URL request template. 

...

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

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

If your request is successful, you should see a response similar to the followingThe following code block shows an example result of a successful request:

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

...