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

Compare with Current View Page History

« Previous Version 7 Next »

License Statistics API allows you to generate data from the Expiring Features report. This report shows statistics about features that are nearing expiration.

Obtaining information about expiring features

If you want to retrieve information 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 proper value, according to your needs

 - 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 in YYYY-MM-DD format; for example, 2017-01-20. If not 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 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

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


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

{
	"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 expiring features amounts in some period of time

If you want to retrieve information 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:

ParameterRequiredTypeDescription
licenseServerIdYesarrayArrays of feature IDs in the following format: id1, id2, id3... for example fi=1,2,3,5.
sdNostringSpecifies the 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.
edNostringSpecifies the 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]
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 "Month".

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


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

{
	"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
fexpminteger

Number of period

fexpcintegerCount of expiring features in period
granularityinteger

Period granularity: 

  • QUARTER
  • MONTH
  • WEEK
  • DAY
codeinteger

Error code if success equals false, null otherwise.

totalCountintegerTotal number of rows returned.

 

Example 1

For example, say you would like to get count of features that expire every month in next 12 months on all your 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/count/grouped/json"


Example 2

For example, say you would like to get 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