StartBotAnalyzer - Amazon Lex API Reference

StartBotAnalyzer

Initiates an asynchronous analysis of your bot configuration using AI-powered analysis to identify potential issues and recommend improvements based on AWS best practices.

The analysis examines your bot's configuration, including intents, utterances, slots, and conversation flows, to provide actionable recommendations for optimization.

Request Syntax

POST /bots/botId/botanalyzer/ HTTP/1.1 Content-type: application/json { "analysisScope": "string", "botVersion": "string", "localeId": "string" }

URI Request Parameters

The request uses the following URI parameters.

botId

The unique identifier of the bot to analyze.

Length Constraints: Fixed length of 10.

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

Required: Yes

Request Body

The request accepts the following data in JSON format.

analysisScope

The scope of analysis to perform. Currently only BotLocale scope is supported.

Valid Values: BotLocale

Type: String

Valid Values: BotLocale

Required: Yes

botVersion

The version of the bot to analyze. Defaults to DRAFT if not specified.

Type: String

Length Constraints: Fixed length of 5.

Pattern: ^DRAFT$

Required: No

localeId

The locale identifier for the bot locale to analyze. Required when analysisScope is BotLocale.

Type: String

Required: No

Response Syntax

HTTP/1.1 202 Content-type: application/json { "botAnalyzerRequestId": "string", "botAnalyzerStatus": "string", "botId": "string", "botVersion": "string", "creationDateTime": number, "localeId": "string" }

Response Elements

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

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

botAnalyzerRequestId

A unique identifier for this analysis request. Use this identifier to check the status and retrieve results.

Type: String

Length Constraints: Fixed length of 36.

Pattern: [a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}

botAnalyzerStatus

The current status of the analysis. The initial status is Processing.

Valid Values: Processing | Available | Failed | Stopping | Stopped

Type: String

Valid Values: Processing | Available | Failed | Stopping | Stopped

botId

The unique identifier of the bot being analyzed.

Type: String

Length Constraints: Fixed length of 10.

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

botVersion

The version of the bot being analyzed.

Type: String

Length Constraints: Fixed length of 5.

Pattern: ^DRAFT$

creationDateTime

The date and time when the analysis was initiated.

Type: Timestamp

localeId

The locale identifier of the bot locale being analyzed.

Type: String

Errors

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

ConflictException

The action that you tried to perform couldn't be completed because the resource is in a conflicting state. For example, deleting a bot that is in the CREATING state. Try your request again.

HTTP Status Code: 409

InternalServerException

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

HTTP Status Code: 500

ResourceNotFoundException

You asked to describe a resource that doesn't exist. Check the resource that you are requesting and try again.

HTTP Status Code: 404

ThrottlingException

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

retryAfterSeconds

The number of seconds after which the user can invoke the API again.

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

Examples

Example request

This example illustrates one usage of StartBotAnalyzer.

POST https://models-v2-lex.us-east-1.amazonaws.com/bots/<BotId>/botanalyzer/ Payload: { "analysisScope": "BotLocale", "botId": "<BotId>", "localeId": "en_US", "botVersion": "DRAFT" }

Example response

This example illustrates one usage of StartBotAnalyzer.

{ "botId": "<BotId>", "botVersion": "DRAFT", "localeId": "en_US", "botAnalyzerStatus": "Processing", "creationDateTime": 1729570423.948, "botAnalyzerRequestId": "<RequestId>" }

See Also

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