Menu
Amazon Lex
Developer Guide

GetUtterancesView

Use the GetUtterancesView operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to.

For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView operation to see the requests that they have made and whether they have been successful. You might find that the utterance "I want flowers" is not being recognized. You could add this utterance to the OrderFlowers intent so that your bot recognizes that utterance.

After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions.

Data is available for the last 15 days. You can request information for up to 5 versions in each request. The response contains information about a maximum of 100 utterances for each version.

If the bot's childDirected field is set to true, utterances for the bot are not stored and cannot be retrieved with the GetUtterancesView operation. For more information, see PutBot.

This operation requires permissions for the lex:GetUtterancesView action.

Request Syntax

Copy
GET /bots/botname/utterances?view=aggregation&bot_versions=botVersions&status_type=statusType HTTP/1.1

URI Request Parameters

The request requires the following URI parameters.

botName

The name of the bot for which utterance information should be returned.

Length Constraints: Minimum length of 2. Maximum length of 50.

Pattern: ^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)

botVersions

An array of bot versions for which utterance information should be returned. The limit is 5 versions per request.

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

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: \$LATEST|[0-9]+

statusType

To return utterances that were recognized and handled, useDetected. To return utterances that were not recognized, use Missed.

Valid Values: Detected | Missed

Request Body

The request does not have a request body.

Response Syntax

Copy
HTTP/1.1 200 Content-type: application/json { "botName": "string", "utterances": [ { "botVersion": "string", "utterances": [ { "count": number, "distinctUsers": number, "firstUtteredDate": number, "lastUtteredDate": number, "utteranceString": "string" } ] } ] }

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.

botName

The name of the bot for which utterance information was returned.

Type: String

Length Constraints: Minimum length of 2. Maximum length of 50.

Pattern: ^[a-zA-Z]+((_[a-zA-Z]+)*|([a-zA-Z]+_)*|_)

utterances

An array of UtteranceList objects, each containing a list of UtteranceData objects describing the utterances that were processed by your bot. The response contains a maximum of 100 UtteranceData objects for each version.

Type: Array of UtteranceList objects

Errors

BadRequestException

The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and try again.

HTTP Status Code: 400

InternalFailureException

An internal Amazon Lex error occurred. Try your request again.

HTTP Status Code: 500

LimitExceededException

The request exceeded a limit. Try your request again.

HTTP Status Code: 429

See Also

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