Versions Compared

Key

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

The Feature Utilization endpoint delivers license usage metrics specific to Utilization History, allowing you to monitor the percentage of license usage during any period that usage was tracked.

Obtaining information about utilization history

You can easily fetch metrics about the percentage of license usage over a given timeframe by sending the following HTTP request.

Code Block
languagejs
firstline1
 GET /api/v1/report/feature/${featureId}/utilization-history/${returnType}?sd=${startDate}&ed=${endDate}&st=${startTime}&et=${endTime}&(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 can be explained as follows.

ParameterRequiredTypeDescription
${featureId}Yesinteger

Specifies ID of the feature for which you want to view utilization history.

${returnType}YesstringSpecifies the format in which the data should be returned. The format can be one of the following: json, csv, xls or pdf.
sdYesstringSpecifies the starting date from which you want to generate the report. The date is in YYYY-MM-DD format; for example, 2017-05-20.
ed

Yes

stringSpecifies the end date from which you want to generate the report. The date is in YYYY-MM-DD format; for example, 2017-05-20. The date is inclusive, meaning that all data from a particular day will be included in the report.
stYesstringSpecifies the start time of the time window that be applied for each date in a range ("working hours") in HH:MM format; for example, 09:30.
etYesstringSpecifies the end time of the time window that be applied for each date in a range ("working hours") in HH:MM format; for example, 09:30.
incdNobooleanSpecifies how utilization value should be calculated, i.e. whether the downtime periods should be included. If true, the length of the entire range will be used as a denominator ((days between ${sd} and ${ed} inclusively)*(et-st)). Otherwise only uptime periods will be used. Defaults to false.
fieldsVisibility Nojson/string

Specifies field visibility settings, for example:

Code Block
languagejs
firstline1
linenumberstrue
{"lc": "1", "lhu": "1", "lutil": "1"}

where number "1" indicates that a specific field is visible.
Note that the order of the settings you make is important – when exported, the fields will be visible in exactly the same order you specify here.

rnNostringSpecifies the name of the report that will be displayed once the report has been exported to PDF or XLS. For CSV and JSON formats 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 numeric column, use the following format. 

Code Block
languagejs
firstline1
[
	{ 
		"type": "numeric", 
		"comparison": "${gt | lt | eq}", 
		"field": "${lc | lhu | lutil}",
		"value": "${value}" 
	}
]
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:

 ls, lhu, lutil

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

orderDirectionNostringDetermines whether the sorting results will be displayed in an ascending (ASC) or a descending (DESC) order.

The following code block shows an example result of a successful request.

Code Block
languagejs
firstline1
linenumberstrue
  {
      success: ${success},
      msg: ${message},
      data: [{
        "lc": ${licensesInUse},
        "lhu": ${hourUsed},
        "lutil": ${utilization}
      }],
	  "code": ${errorCode},
	  "totalCount": ${totalCount}
  }

where the response fields can be explained as follows.

Anchor
fields def
fields def

FieldTypeDescription

lc

integer

Number of licenses that other fields are referring to.

lhu

float

Number of hours when at least ${lc} licenses were used.

lutil

float

Share of time when at least ${lc} licenses where used in percent. Value of ${lhu} is numerator. Denominator value is affected by ${incd} value.

msg

string

Error message returned on failure.

success

boolean

Indicates whether your API request was successfully processed. 

codeinteger

Error code for unsuccessful request.

totalCountinteger

Total number of all matching results.

Example

Say you would like to obtain statistics about utilization history for feature "3" over a specific timeframe given that your employees work from 9:00 a.m. to 5:00 p.m. To generate such data set, enter a command similar to the following.

Code Block
curl --data "sd=2015-01-01" --data "ed=2015-01-02" --data "st=09:00" --data "et=17:00" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/feature/3/utilization-history/json"