Request/Response Parameters Summary

This is used to generate reports within a particular specified date range.

POST /reporting/generic/dateRange

The request and response are both JSON objects. The following is a summary of the properties inside the request and response objects.

Request Properties

Property

Description

Request JSON Object

user (string)—The username of your Usage Intelligence user account. Required only for non-cookie authentication.
sessionId (string)—The sessionId obtained via POST /auth/login. Required only for non-cookie authentication.
productId (integer)—The product ID on which this request is being done
groupBy (string)—Optional parameter to specify the property with which to group installations. By default, this value is considered to be clientId. Other possible options are machineId, licenseKey or any custom property of type 3.
dateSplit (string/null)—Whether to present results by day, week, or month or to combine all results into a pie/bar chart or table
startDate (string)—The first date of the date range on which to base the report. This is to be formatted as YYYY-MM-DD.
stopDate (string)—The last date of the date range on which to base the report. This is to be formatted as YYYY-MM-DD.
clientStatus (array)—The client statuses to show in the report. Each report can show any combination of new, active, and lost users. This is to be presented as an array of up to 3 strings which can be new, active, and lost.
daysUntilDeclaredLost (integer)—Required only if the clientStatus array contains lost. This specifies the number of consecutive days of inactivity that have to pass until a client installation is declared lost.
dateReportedLost (string)—Required only if the clientStatus array contains lost. When an installation is lost, it can either be shown as lost on the date it last contacted the Usage Intelligence servers (dateLastSeen) or else it can be shown as lost when it was declared lost (last date when it contacted the Usage Intelligence servers + the number of days specified in daysUntilDeclaredLost) (dateDeclaredLost). Therefore, the permitted values are dateLastSeen and dateDeclaredLost.
globalFilters (object)—JSON object containing the filters to be applied to the available data. Details about these filters can be found in the Global Filters section.
levels (object)—Optional JSON object that describes how data is to be split into segments in each level. Requests where dateSplit is null can have up to 3 levels while when date splitting is being done, 0 or 1 levels can be specified. Details about levels and segmentation can be found in the Segmentation and Levels (Date-Range Reports) section.

Response JSON Object

status (string)—Contains OK if successful or SYNTAX ERROR or AUTH ERROR.
reason (string)—Present only if status is not OK. Contains error message (reason).
levelLabels (object)—Present only on responses where dateSplit is null. When present, this contains the property names of each level as requested.
results (object)—Contains the results as requested represented as a JSON object. The structure differs between reports using date splitting (Results Format for Reports Using Date Splitting) and those that have date splitting set to null (Results Format for Reports Without Date Splitting). The result format is described below.