Some information on this page refers to License Statistics v5.7 or newer, which changed the API endpoint URL in order to maintain version integrity into the future. If you are running a previous version of License Statistics, please refer to v5.4-v5.6 documentation. |
The User History endpoint delivers license usage metrics specific to the User History report, allowing you to see statistics for license usage per user, during any period that usage was tracked.
Showing sessions at a specific point in time
You can easily fetch metrics about usage history at a particular point in time by sending the following HTTP request.
GET /api/v1/report/feature/${featureId}/user-history/${returnType}?sdt=${sessionDateTime}&(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.
Parameter | Required | Type | Description |
---|---|---|---|
${featureId} | Yes | integer | Specifies feature-specific parameters. |
${returnType} | Yes | string | Specifies the format in which license usage data should be returned. The format can be one of the following: json, csv, xls or pdf. |
sdt | Yes | string | Specifies point in time for which you want to generate the report. The date is in YYYY-MM-DD HH:MM format; for example, 2017-05-20 11:00. |
fieldsVisibility | No | json/string | Specifies field visibility settings, for example: {"un": "1", "hn": "1", "sst": "1", "set": "1"} where number "1" indicates that a specific field is visible. |
rn | No | string | Specifies the name of the report that will be displayed once the report has been exported to PDF or XLS. |
filter | No | json/string | Applies filtering license usage data on all fields. To filter your data, use the following format. [{"value": intOrString, "field": "${fid | fns | fv | ftype | lsid | lsn | vn | gtn}"}] |
limit | No | integer | Determines the maximum number of data records that can be returned. The value must be greater than zero. |
offset | No | integer | Specifies the offset of the first row to return. |
orderBy | No | string | Specifies the field by which you want to order your data records. The field name can be one of the following: uid, un, hn, sst, set (See this section for more field-specific information.) |
orderDirection | No | string | Determines whether the sorting results will be displayed in ascending (ASC) or descending (DESC) order. |
The following code block shows an example result of a successful request.
{ success: true, msg: ${message}, data: [{ uid: ${userId}, un: ${userName}, hn: ${hostName}, sst: ${sessionStartTime}, set: ${sessionEndTime}, il: ${hasUserLdapDetails} }] }
where the response fields can be explained as follows.
Field | Type | Description |
---|---|---|
uid | integer | User ID. |
un | string | Username. |
hn | string | Hostname. |
sst | string | Date returned in YYYY-MM-DD HH:MM format; for example, 2017-05-20 11:00. |
set | string | Date returned in YYYY-MM-DD HH:MM format; for example, 2017-05-20 11:00, "Unknown" or "Still in use". |
il | boolean | Indicates whether user details have been imported from LDAP directory. Note that you cannot filter and order data by this field. |
msg | string | Error message returned on failure. |
success | boolean | Indicates whether your API request was successfully processed. |
Example 1
Say you would like to obtain information about all sessions for feature "3" at a specific point in time. To generate this data set, enter a command similar to the following.
curl --data-urlencode "sdt=2015-10-30 00:00" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/feature/3/user-history/json"
Example 2
Let's assume you would like to obtain statistics about all sessions for feature "3" at a specific time point. In addition, you want your data to be ordered by username. To generate this data set, enter a command similar to the following.
curl --data "orderBy=un" --data "orderDirection=ASC" --data-urlencode "sdt=2015-10-30 00:00" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/feature/3/user-history/json"
Example 3
Say you need to view the first 100 sessions for feature "3" at a specific time point. To obtain this data set, enter a command that is similar to the one you can see below.
curl --data "limit=100" --data "offset=0" --data-urlencode "sdt=2015-10-30 00:00" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/feature/3/user-history/json"
Sample script
This sample PowerShell 3.0 script serves as a template for generating PDF reports to a file for features with a specific name and for a license server of your choosing. The script saves reports to a file under a filename that follows the pattern: UserHistory-${featureId}.pdf. You can easily adapt this script to any target parameters you'd like to use to generate the desired report. The number of generated PDF files corresponds to the number of features meeting the defined criteria.
$token = "Yourtoken" $url = "http://yourdomain/api/v1/report" $features = Invoke-RestMethod "$($url)/feature/json?fns=FeatureName&lsn=LicenseServerName" -Headers @{"X-Auth-token"="$($token)"} for ($i=0; $i -lt $features.data.fid.Length; $i++) { Invoke-RestMethod "$($url)/feature/$($features.data.fid[$i])/user-history/pdf?sdt=2016-02-03 00:00" -Headers @{"X-Auth-token"="$($token)"} -OutFile "UserHistory-$($features.data.fid[$i]).pdf" }
Showing sessions for a given time period
You can easily fetch metrics about usage history for a given time period by sending the following HTTP request.
GET /api/v1/report/feature/${featureId}/user-history/${returnType}?ssd=${sessionStartDate}&sed={sessionEndDate}&(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.
Parameter | Required | Type | Description |
---|---|---|---|
${featureId} | Yes | integer | Specifies feature-specific parameters. |
${returnType} | Yes | string | Specifies the format in which license usage data should be returned. The format can be one of the following: json, csv, xls or pdf. |
ssd | Yes | string | Specifies the start date for which the report will be generated The date is in YYYY-MM-DD format; for example, 2017-05-20. |
sed | Yes | string | Specifies the end date for which the report will be generated. The date is in YYYY-MM-DD format; for example, 2017-05-27. |
fieldsVisibility | Specifies field visibility settings, for example: {"un": "1", "hn": "1", "sst": "1", "set": "1"} where number "1" indicates that a specific field is visible. | ||
rn | No | string | Specifies the name of the report that will be displayed once the report has been exported to PDF or Excel. |
filter | No | json/string | Applies filtering license usage data on all fields. To filter your data, use the following format. [{"value": intOrString, "field": "${un | hn | sst | set}"}] |
limit | No | integer | Determines the maximum number of data records that can be returned. The value must be greater than zero. |
offset | No | integer | Specifies the offset of the first row to return. |
orderBy | No | string | Specifies the field by which you want to order your data records. The field name can be one of the following: uid, un, hn, sst, set (See this section for more field-specific information.) |
orderDirection | No | string | Determines whether the sorting results will be displayed in ascending (ASC) or descending (DESC) order. |
The following code block shows an example result of a successful request.
{success: true, msg: ${message}, data: [ uid: ${userId}, un: ${userName}, hn: ${hostName}, sst: ${sessionStartTime}, set: ${sessionEndTime}, il: ${hasUserLdapDetails} ]}
where the response fields can be explained as follows.
Field | Type | Description |
---|---|---|
uid | integer | User ID. |
un | string | Username. |
hn | string | Hostname. |
sst | string | Date returned in YYYY-MM-DD HH:MM format; for example, 2017-05-20 11:00. |
set | string | Date returned in YYYY-MM-DD HH:MM format (for example, 2017-05-20 11:00), "Unknown" or "Still in use". |
il | boolean | Indicates whether user details have been imported from LDAP directory. Note that you cannot filter and order data by this field. |
msg | string | Error message returned on failure. |
Example 1
Say you would like to view all sessions for feature "3" over a given timeframe. To generate this data set, enter a command similar to the following.
curl --data "ssd=2015-01-01" --data "sed=2015-01-02" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/feature/3/user-history/json"
Example 2
Let's assume you want to see all sessions for feature "3" for a given time period. Additionally, you would like your data to be ordered by username. To generate this data set, enter a command similar to the following.
curl --data "orderBy=un" --data "orderDirection=ASC" --data "ssd=2015-01-01" --data "sed=2015-01-02" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/feature/3/user-history/json"
Example 3
Let's assume you're interested in viewing the first 100 sessions for feature "3" over a specific timeframe. To obtain this information, enter a command similar to the following.
curl --data "limit=100" --data "offset=0" --data "ssd=2015-01-01" --data "sed=2015-01-02" -H "X-Auth-token: token" "http://yourdomain/api/v1/report/feature/3/user-history/json"
Sample script
This sample PowerShell 3.0 script can be used as a template for generating PDF reports to a file for features with a specific name and for a license server of your choosing. The script saves reports to a file under a filename that follows the pattern: UserHistoryForPeriod-${featureId}.pdf. You can easily adapt this script to any target parameters you'd like to use to generate the desired report. The number of generated PDF files corresponds to the number of features meeting the defined criteria.
$token = "Yourtoken" $url = "http://yourdomain/api/v1/report" $features = Invoke-RestMethod "$($url)/feature/json?fns=FeatureName&lsn=LicenseServerName" -Headers @{"X-Auth-token"="$($token)"} for ($i=0; $i -lt $features.data.fid.Length; $i++) { Invoke-RestMethod "$($url)/feature/$($features.data.fid[$i])/user-history/pdf?ssd=2016-02-03&sed=2016-02-10" -Headers @{"X-Auth-token"="$($token)"} -OutFile "UserHistoryForPeriod-$($features.data.fid[$i]).pdf" }