Execute Report (v1)

Execute report on the insights of the application and view result.

Endpoint URL

POST https://api-prod-eu-central-1.inappnavi.com/api/public/v1/insights/executeReport

Purpose

Execute report on the insights of the application and view result.

Request Structure

When making a POST request to /executeReport,include the authentication token in the header and include the following JSON body.. Below is a common example; parameter names or structures may differ based on your final OpenAPI documentation:

ParameterTypeRequiredDescription
TenantIdstringYesThe unique tenant identifier.
ClientIdstringYesThe unique client identifier.
ClientSecretstringYesThe client secret.
QueryParamsQueryParamsYesThe Additional data required to process API request.

QueryParams Parameters:

ParameterTypeRequiredDescription
ApplicationIdstringYesThe start date for the execution of report on insight data.
displayedColumnsArray of StringsYesThe list of property/column names to include in the insight execute report. Minimum 1 column name is required to process the report. e.g. ["EventType"]. Available displayed columns are
["id","eventType","sessionId","userId","timestamp", "avatarVersion","integrationMode","browser","browserLanguage", "pageUrl","pageTitle","pageLoadTime","userRole","country", "timeZone","areaLabel","elementLabel","areaId","tagType", "activityScope","activityTime","customField1","customField2", "customField3","resolution","organizationalUnit"]
reportFiltersArray of ReportFilterNoThe list of filters to be applied to report.
groupByArray of StringsNoThe name of columns on which group by clause will be applied.
fromDatestringNoStart date in YYYY-MM-DD HH:MM:SS format. If provided, set TimeRange to VIEW_CUSTOM_DAYS.
toDatestringNoEnd date in YYYY-MM-DD HH:MM:SS format. If provided, set TimeRange to VIEW_CUSTOM_DAYS.
pageintegerNoThe page number to retrieve data from. Defaults to 1.
itemsPerPageintegerNoThe number of items to retrieve per page. Defaults to 50, if not specified.

ReportFilter Parameters:

ParameterTypeRequiredDescription
ColumnNamestringYesThe column name on which filter will be applied.
ValuesArrays of stringYesThe conditional values
OperatorstringYesThe textual operator to be applied between column name and values. Available operators are equal_to, not_equal_to, less_than_or_equal_to, less_than, greater_than_or_equal_to, greater_than, between, exists, not_exists, contains, not_contains, begins_with

ReportFilterOperator Information:

This table shows each column name along with the operators that cannot be used when creating filters for that column. If you see an operator listed in the “Not Available Operator” column, it means that operator is invalid or unsupported for that specific column and will not work in your filter expressions.

Column NameNot available operator
idexists, not_exists, between, less_than_or_equal_to, less_than, greater_than_or_equal_to, greater_than
eventTypeexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
sessionIdexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
userIdexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
timestampexists, not_exists, contains, not_contains, begins_with
avatarVersionexists, not_exists, contains, between, not_contains, begins_with
integrationModeexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
browserexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
browserLanguageexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
pageUrlexists, not_exists, less_than_or_equal_to,between, less_than, greater_than_or_equal_to, greater_than
pageTitleless_than_or_equal_to, less_than, between, greater_than_or_equal_to, greater_than
pageLoadTimecontains, not_contains, begins_with
userRoleless_than_or_equal_to, less_than, between, greater_than_or_equal_to, greater_than
countryCodeexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
timeZoneexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
areaLabelexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
elementLabelexists, not_exists, less_than_or_equal_to, between, less_than, greater_than_or_equal_to, greater_than
areaIdless_than_or_equal_to, less_than, between, greater_than_or_equal_to, greater_than
tagTypeless_than_or_equal_to, less_than, between, greater_than_or_equal_to, greater_than
activityScopeless_than_or_equal_to, less_than, between, greater_than_or_equal_to, greater_than

Example: Calling via Postman

  1. Open Postman and create a new POST request.
  2. Set the Request URL to:
https://api-prod-eu-central-1.inappnavi.com/api/public/v1/insights/executeReport
  1. Compose the Body:
    1. In the Body tab, choose raw and then JSON.
    2. Enter the required parameters in the request body.
    3. Example request body structure.
{
    "QueryParams": {
        "applicationId": "applicationIdentifier",
        "DateFrom": "2024-01-21 00:00:00.000",
        "DateTo": "2025-01-21 00:00:00.000",
        "displayedColumns": [ "pageTitle" ],
        "reportFilters": [
            {
                "columnName": "pageUrl",
                "values": [ "someValue" ],
                "operator": "contains"
            },
            {
                "columnName": "browser",
                "values": [ "someValue" ],
                "operator": "contains"
            }
        ],
        "groupBy": [],
        "itemsPerPage": 50,
        "page": 1
    }
}

  1. Send the Request:

    1. Click Send.
    2. If everything is correct, you should receive a 200 OK response with a JSON response containing the execute report data.