Skip to main content
Back to API List Retrieves engagement metrics for a specific app in a workspace over a chosen time period, including unique users, new users, returning users, and average user counts.
FieldValue
MethodPOST
Endpointhttps://{{host}}/api/public/bot/{{streamId}}/v2/userEngagementTrend?aggregation_type={{aggregation_type}}&start_date={{start_date}}&end_date={{end_date}}&conversationType={{conversationType}}&conversationStatus={{conversationStatus}}&timeZoneOffset=Asia/Kolkata
Content Typeapplication/json
Authorizationauth: {{JWT}} See How to generate the JWT Token.
API ScopeApp Builder: User Engagement Trend; Admin Console: Not Applicable

Path Parameters

ParameterRequiredDescription
hostRequiredEnvironment URL, for example, https://platform.kore.ai
streamIdRequiredApp ID or Stream ID. You can access it by navigating to App SettingsApp Profile in the app.

Query Parameters

ParameterDescriptionType
aggregation_typeSpecifies the time-based aggregation level. Allowed values: daily and hourly. Defaults to hourly.string, optional
start_dateStart date for retrieving analytics data in YYYY-MM-DD format.string, required
end_dateEnd date for retrieving analytics data in YYYY-MM-DD format.string, required
conversationTypeFilters analytics data by conversation type. Allowed values: All, Interactive, Non Interactive. Defaults to All.string, optional
conversationStatusFilters analytics data by conversation status. Allowed values: All, Active, Closed. Defaults to All.string, optional
channelsFilters analytics data by the specified channel. Defaults to All.string, optional
timeZoneOffsetTime zone used to normalize and aggregate date and time values (for example, Asia/Kolkata).string, optional

Sample Request

curl --location --request POST 'https://{{host}}/api/public/bot/{{streamId}}/v2/userEngagementTrend?aggregation_type={{aggregation_type}}&start_date={{start_date}}&end_date={{end_date}}&conversationType={{conversationType}}&conversationStatus={{conversationStatus}}&timeZoneOffset=Asia%2FKolkata' \
--header 'auth: {{YOUR_JWT_ACCESS_TOKEN}}'

Sample Response

When aggregation_type = Daily:
{
    "summary": {
        "uniqueUsers": 2,
        "newUsers": 2,
        "returningUsers": 0,
        "avgUniqueUsersPerDay": 0.4,
        "avgNewUsersPerDay": 0.4,
        "avgReturningUsersPerDay": 0
    },
    "uniqueUsersTrend": {
        "dataPoints": [
            {
                "date": "Dec 01 2025",
                "users": 0
            },
            {
                "date": "Dec 03 2025",
                "users": 1
            }
        ]
    },
    "filters": {
        "start": "Dec 01 2025",
        "end": "Dec 05 2025",
        "conversationType": "all",
        "conversationStatus": "all",
        "aggregationType": "daily",
        "dataPointsCount": 5
    }
}

Response Parameters

ParameterDescriptionType
summaryAggregated user metrics for the selected period.Object
summary.uniqueUsersTotal number of unique users in the selected period.Integer
summary.newUsersTotal number of new users in the selected period.Integer
summary.returningUsersTotal number of returning users in the selected period.Integer
summary.avgUniqueUsersPerDayAverage number of unique users per day for the selected period.Number
summary.avgNewUsersPerDayAverage number of new users per day for the selected period.Number
summary.avgReturningUsersPerDayAverage number of returning users per day for the selected period.Number
uniqueUsersTrendTrend data for unique users based on the selected aggregation type.Object
uniqueUsersTrend.dataPointsList of date-wise user engagement data points.Array of Objects
uniqueUsersTrend.dataPoints.dateDate corresponding to the data point (formatted as MMM DD YYYY).String
uniqueUsersTrend.dataPoints.usersTotal count of unique users for the day. Displayed only when aggregation_type is daily.Integer
newUsersTrendTrend data for new users based on the selected aggregation type.Object
returningUsersTrendTrend data for returning users based on the selected aggregation type.Object
filtersMetadata describing the filters applied to generate the response.Object
filters.startStart date of the applied filter range.String
filters.endEnd date of the applied filter range.String
filters.conversationTypeConversation type filter applied.String
filters.conversationStatusConversation status filter applied.String
filters.aggregationTypeAggregation level applied to the data (daily or hourly).String
filters.dataPointsCountTotal number of data points returned in the response.Integer