ListSessionMetrics - Amazon Lex API Reference

ListSessionMetrics

Retrieves summary metrics for the user sessions with your bot. The following fields are required:

  • metrics – A list of AnalyticsSessionMetric objects. In each object, use the name field to specify the metric to calculate, the statistic field to specify whether to calculate the Sum, Average, or Max number, and the order field to specify whether to sort the results in Ascending or Descending order.

  • startDateTime and endDateTime – Define a time range for which you want to retrieve results.

Of the optional fields, you can organize the results in the following ways:

  • Use the filters field to filter the results, the groupBy field to specify categories by which to group the results, and the binBy field to specify time intervals by which to group the results.

  • Use the maxResults field to limit the number of results to return in a single response and the nextToken field to return the next batch of results if the response does not return the full set of results.

Note that an order field exists in both binBy and metrics. Currently, you can specify it in either field, but not in both.

Request Syntax

POST /bots/botId/analytics/sessionmetrics HTTP/1.1 Content-type: application/json { "binBy": [ { "interval": "string", "name": "string", "order": "string" } ], "endDateTime": number, "filters": [ { "name": "string", "operator": "string", "values": [ "string" ] } ], "groupBy": [ { "name": "string" } ], "maxResults": number, "metrics": [ { "name": "string", "order": "string", "statistic": "string" } ], "nextToken": "string", "startDateTime": number }

URI Request Parameters

The request uses the following URI parameters.

botId

The identifier for the bot for which you want to retrieve session metrics.

Length Constraints: Fixed length of 10.

Pattern: ^[0-9a-zA-Z]+$

Required: Yes

Request Body

The request accepts the following data in JSON format.

binBy

A list of objects, each of which contains specifications for organizing the results by time.

Type: Array of AnalyticsBinBySpecification objects

Array Members: Fixed number of 1 item.

Required: No

endDateTime

The date and time that marks the end of the range of time for which you want to see session metrics.

Type: Timestamp

Required: Yes

filters

A list of objects, each of which describes a condition by which you want to filter the results.

Type: Array of AnalyticsSessionFilter objects

Array Members: Minimum number of 1 item. Maximum number of 10 items.

Required: No

groupBy

A list of objects, each of which specifies how to group the results. You can group by the following criteria:

  • ConversationEndState – The final state of the conversation. The possible end states are detailed in Key definitions in the user guide.

  • LocaleId – The unique identifier of the bot locale.

Type: Array of AnalyticsSessionGroupBySpecification objects

Array Members: Minimum number of 1 item. Maximum number of 2 items.

Required: No

maxResults

The maximum number of results to return in each page of results. If there are fewer results than the maximum page size, only the actual number of results are returned.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 1000.

Required: No

metrics

A list of objects, each of which contains a metric you want to list, the statistic for the metric you want to return, and the method by which to organize the results.

Type: Array of AnalyticsSessionMetric objects

Array Members: Minimum number of 1 item. Maximum number of 7 items.

Required: Yes

nextToken

If the response from the ListSessionMetrics operation contains more results than specified in the maxResults parameter, a token is returned in the response.

Use the returned token in the nextToken parameter of a ListSessionMetrics request to return the next page of results. For a complete set of results, call the ListSessionMetrics operation until the nextToken returned in the response is null.

Type: String

Required: No

startDateTime

The date and time that marks the beginning of the range of time for which you want to see session metrics.

Type: Timestamp

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "botId": "string", "nextToken": "string", "results": [ { "binKeys": [ { "name": "string", "value": number } ], "groupByKeys": [ { "name": "string", "value": "string" } ], "metricsResults": [ { "name": "string", "statistic": "string", "value": number } ] } ] }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

botId

The identifier for the bot for which you retrieved session metrics.

Type: String

Length Constraints: Fixed length of 10.

Pattern: ^[0-9a-zA-Z]+$

nextToken

If the response from the ListSessionMetrics operation contains more results than specified in the maxResults parameter, a token is returned in the response.

Use the returned token in the nextToken parameter of a ListSessionMetrics request to return the next page of results. For a complete set of results, call the ListSessionMetrics operation until the nextToken returned in the response is null.

Type: String

results

The results for the session metrics.

Type: Array of AnalyticsSessionResult objects

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalServerException

The service encountered an unexpected condition. Try your request again.

HTTP Status Code: 500

PreconditionFailedException

Your request couldn't be completed because one or more request fields aren't valid. Check the fields in your request and try again.

HTTP Status Code: 412

ServiceQuotaExceededException

You have reached a quota for your bot.

HTTP Status Code: 402

ThrottlingException

Your request rate is too high. Reduce the frequency of requests.

HTTP Status Code: 429

ValidationException

One of the input parameters in your request isn't valid. Check the parameters and try your request again.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: