AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Classes

NameDescription
Class BadRequestException

LexModelBuildingService exception

Class BotAliasMetadata

Provides information about a bot alias.

Class BotChannelAssociation

Represents an association between an Amazon Lex bot and an external messaging platform.

Class BotMetadata

Provides information about a bot. .

Class BuiltinIntentMetadata

Provides metadata for a built-in intent.

Class BuiltinIntentSlot

Provides information about a slot used in a built-in intent.

Class BuiltinSlotTypeMetadata

Provides information about a built in slot type.

Class CodeHook

Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot..

Class ConflictException

LexModelBuildingService exception

Class CreateBotVersionRequest

Container for the parameters to the CreateBotVersion operation. Creates a new version of the bot based on the $LATEST version. If the $LATEST version of this resource hasn't changed since you created the last version, Amazon Lex doesn't create a new version. It returns the last created version.

You can update only the $LATEST version of the bot. You can't update the numbered versions that you create with the CreateBotVersion operation.

When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permission for the lex:CreateBotVersion action.

Class CreateBotVersionResponse

This is the response object from the CreateBotVersion operation.

Class CreateIntentVersionRequest

Container for the parameters to the CreateIntentVersion operation. Creates a new version of an intent based on the $LATEST version of the intent. If the $LATEST version of this intent hasn't changed since you last updated it, Amazon Lex doesn't create a new version. It returns the last version you created.

You can update only the $LATEST version of the intent. You can't update the numbered versions that you create with the CreateIntentVersion operation.

When you create a version of an intent, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permissions to perform the lex:CreateIntentVersion action.

Class CreateIntentVersionResponse

This is the response object from the CreateIntentVersion operation.

Class CreateSlotTypeVersionRequest

Container for the parameters to the CreateSlotTypeVersion operation. Creates a new version of a slot type based on the $LATEST version of the specified slot type. If the $LATEST version of this resource has not changed since the last version that you created, Amazon Lex doesn't create a new version. It returns the last version that you created.

You can update only the $LATEST version of a slot type. You can't update the numbered versions that you create with the CreateSlotTypeVersion operation.

When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permissions for the lex:CreateSlotTypeVersion action.

Class CreateSlotTypeVersionResponse

This is the response object from the CreateSlotTypeVersion operation.

Class DeleteBotAliasRequest

Container for the parameters to the DeleteBotAlias operation. Deletes an alias for the specified bot.

You can't delete an alias that is used in the association between a bot and a messaging channel. If an alias is used in a channel association, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the channel association that refers to the bot. You can remove the reference to the alias by deleting the channel association. If you get the same exception again, delete the referring association until the DeleteBotAlias operation is successful.

Class DeleteBotAliasResponse

This is the response object from the DeleteBotAlias operation.

Class DeleteBotChannelAssociationRequest

Container for the parameters to the DeleteBotChannelAssociation operation. Deletes the association between an Amazon Lex bot and a messaging platform.

This operation requires permission for the lex:DeleteBotChannelAssociation action.

Class DeleteBotChannelAssociationResponse

This is the response object from the DeleteBotChannelAssociation operation.

Class DeleteBotRequest

Container for the parameters to the DeleteBot operation. Deletes all versions of the bot, including the $LATEST version. To delete a specific version of the bot, use the DeleteBotVersion operation.

If a bot has an alias, you can't delete it. Instead, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the alias that refers to the bot. To remove the reference to the bot, delete the alias. If you get the same exception again, delete the referring alias until the DeleteBot operation is successful.

This operation requires permissions for the lex:DeleteBot action.

Class DeleteBotResponse

This is the response object from the DeleteBot operation.

Class DeleteBotVersionRequest

Container for the parameters to the DeleteBotVersion operation. Deletes a specific version of a bot. To delete all versions of a bot, use the DeleteBot operation.

This operation requires permissions for the lex:DeleteBotVersion action.

Class DeleteBotVersionResponse

This is the response object from the DeleteBotVersion operation.

Class DeleteIntentRequest

Container for the parameters to the DeleteIntent operation. Deletes all versions of the intent, including the $LATEST version. To delete a specific version of the intent, use the DeleteIntentVersion operation.

You can delete a version of an intent only if it is not referenced. To delete an intent that is referred to in one or more bots (see how-it-works), you must remove those references first.

If you get the ResourceInUseException exception, it provides an example reference that shows where the intent is referenced. To remove the reference to the intent, either update the bot or delete it. If you get the same exception when you attempt to delete the intent again, repeat until the intent has no references and the call to DeleteIntent is successful.

This operation requires permission for the lex:DeleteIntent action.

Class DeleteIntentResponse

This is the response object from the DeleteIntent operation.

Class DeleteIntentVersionRequest

Container for the parameters to the DeleteIntentVersion operation. Deletes a specific version of an intent. To delete all versions of a intent, use the DeleteIntent operation.

This operation requires permissions for the lex:DeleteIntentVersion action.

Class DeleteIntentVersionResponse

This is the response object from the DeleteIntentVersion operation.

Class DeleteSlotTypeRequest

Container for the parameters to the DeleteSlotType operation. Deletes all versions of the slot type, including the $LATEST version. To delete a specific version of the slot type, use the DeleteSlotTypeVersion operation.

You can delete a version of a slot type only if it is not referenced. To delete a slot type that is referred to in one or more intents, you must remove those references first.

If you get the ResourceInUseException exception, the exception provides an example reference that shows the intent where the slot type is referenced. To remove the reference to the slot type, either update the intent or delete it. If you get the same exception when you attempt to delete the slot type again, repeat until the slot type has no references and the DeleteSlotType call is successful.

This operation requires permission for the lex:DeleteSlotType action.

Class DeleteSlotTypeResponse

This is the response object from the DeleteSlotType operation.

Class DeleteSlotTypeVersionRequest

Container for the parameters to the DeleteSlotTypeVersion operation. Deletes a specific version of a slot type. To delete all versions of a slot type, use the DeleteSlotType operation.

This operation requires permissions for the lex:DeleteSlotTypeVersion action.

Class DeleteSlotTypeVersionResponse

This is the response object from the DeleteSlotTypeVersion operation.

Class DeleteUtterancesRequest

Container for the parameters to the DeleteUtterances operation. Deletes stored utterances.

Amazon Lex stores the utterances that users send to your bot unless the childDirected field in the bot is set to true. Utterances are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinitely for use in improving the ability of your bot to respond to user input.

Use the DeleteStoredUtterances operation to manually delete stored utterances for a specific user.

This operation requires permissions for the lex:DeleteUtterances action.

Class DeleteUtterancesResponse

This is the response object from the DeleteUtterances operation.

Class EnumerationValue

Each slot type can have a set of values. Each enumeration value represents a value the slot type can take.

For example, a pizza ordering bot could have a slot type that specifies the type of crust that the pizza should have. The slot type could include the values

  • thick

  • thin

  • stuffed

Class FollowUpPrompt

A prompt for additional activity after an intent is fulfilled. For example, after the OrderPizza intent is fulfilled, you might prompt the user to find out whether the user wants to order drinks.

Class FulfillmentActivity

Describes how the intent is fulfilled after the user provides all of the information required for the intent. You can provide a Lambda function to process the intent, or you can return the intent information to the client application. We recommend that you use a Lambda function so that the relevant logic lives in the Cloud and limit the client-side code primarily to presentation. If you need to update the logic, you only update the Lambda function; you don't need to upgrade your client application.

Consider the following examples:

  • In a pizza ordering application, after the user provides all of the information for placing an order, you use a Lambda function to place an order with a pizzeria.

  • In a gaming application, when a user says "pick up a rock," this information must go back to the client application so that it can perform the operation and update the graphics. In this case, you want Amazon Lex to return the intent data to the client.

Class GetBotAliasesRequest

Container for the parameters to the GetBotAliases operation. Returns a list of aliases for a specified Amazon Lex bot.

This operation requires permissions for the lex:GetBotAliases action.

Class GetBotAliasesResponse

This is the response object from the GetBotAliases operation.

Class GetBotAliasRequest

Container for the parameters to the GetBotAlias operation. Returns information about an Amazon Lex bot alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:GetBotAlias action.

Class GetBotAliasResponse

This is the response object from the GetBotAlias operation.

Class GetBotChannelAssociationRequest

Container for the parameters to the GetBotChannelAssociation operation. Returns information about the association between an Amazon Lex bot and a messaging platform.

This operation requires permissions for the lex:GetBotChannelAssociation action.

Class GetBotChannelAssociationResponse

This is the response object from the GetBotChannelAssociation operation.

Class GetBotChannelAssociationsRequest

Container for the parameters to the GetBotChannelAssociations operation. Returns a list of all of the channels associated with the specified bot.

The GetBotChannelAssociations operation requires permissions for the lex:GetBotChannelAssociations action.

Class GetBotChannelAssociationsResponse

This is the response object from the GetBotChannelAssociations operation.

Class GetBotRequest

Container for the parameters to the GetBot operation. Returns metadata information for a specific bot. You must provide the bot name and the bot version or alias.

This operation requires permissions for the lex:GetBot action.

Class GetBotResponse

This is the response object from the GetBot operation.

Class GetBotsRequest

Container for the parameters to the GetBots operation. Returns bot information as follows:

  • If you provide the nameContains field, the response includes information for the $LATEST version of all bots whose name contains the specified string.

  • If you don't specify the nameContains field, the operation returns information about the $LATEST version of all of your bots.

This operation requires permission for the lex:GetBots action.

Class GetBotsResponse

This is the response object from the GetBots operation.

Class GetBotVersionsRequest

Container for the parameters to the GetBotVersions operation. Gets information about all of the versions of a bot.

The GetBotVersions operation returns a BotMetadata object for each version of a bot. For example, if a bot has three numbered versions, the GetBotVersions operation returns four BotMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetBotVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetBotVersions action.

Class GetBotVersionsResponse

This is the response object from the GetBotVersions operation.

Class GetBuiltinIntentRequest

Container for the parameters to the GetBuiltinIntent operation. Returns information about a built-in intent.

This operation requires permission for the lex:GetBuiltinIntent action.

Class GetBuiltinIntentResponse

This is the response object from the GetBuiltinIntent operation.

Class GetBuiltinIntentsRequest

Container for the parameters to the GetBuiltinIntents operation. Gets a list of built-in intents that meet the specified criteria.

This operation requires permission for the lex:GetBuiltinIntents action.

Class GetBuiltinIntentsResponse

This is the response object from the GetBuiltinIntents operation.

Class GetBuiltinSlotTypesRequest

Container for the parameters to the GetBuiltinSlotTypes operation. Gets a list of built-in slot types that meet the specified criteria.

For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

This operation requires permission for the lex:GetBuiltInSlotTypes action.

Class GetBuiltinSlotTypesResponse

This is the response object from the GetBuiltinSlotTypes operation.

Class GetExportRequest

Container for the parameters to the GetExport operation. Exports the contents of a Amazon Lex resource in a specified format.

Class GetExportResponse

This is the response object from the GetExport operation.

Class GetIntentRequest

Container for the parameters to the GetIntent operation. Returns information about an intent. In addition to the intent name, you must specify the intent version.

This operation requires permissions to perform the lex:GetIntent action.

Class GetIntentResponse

This is the response object from the GetIntent operation.

Class GetIntentsRequest

Container for the parameters to the GetIntents operation. Returns intent information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all intents that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all intents.

The operation requires permission for the lex:GetIntents action.

Class GetIntentsResponse

This is the response object from the GetIntents operation.

Class GetIntentVersionsRequest

Container for the parameters to the GetIntentVersions operation. Gets information about all of the versions of an intent.

The GetIntentVersions operation returns an IntentMetadata object for each version of an intent. For example, if an intent has three numbered versions, the GetIntentVersions operation returns four IntentMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetIntentVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetIntentVersions action.

Class GetIntentVersionsResponse

This is the response object from the GetIntentVersions operation.

Class GetSlotTypeRequest

Container for the parameters to the GetSlotType operation. Returns information about a specific version of a slot type. In addition to specifying the slot type name, you must specify the slot type version.

This operation requires permissions for the lex:GetSlotType action.

Class GetSlotTypeResponse

This is the response object from the GetSlotType operation.

Class GetSlotTypesRequest

Container for the parameters to the GetSlotTypes operation. Returns slot type information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all slot types that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all slot types.

The operation requires permission for the lex:GetSlotTypes action.

Class GetSlotTypesResponse

This is the response object from the GetSlotTypes operation.

Class GetSlotTypeVersionsRequest

Container for the parameters to the GetSlotTypeVersions operation. Gets information about all versions of a slot type.

The GetSlotTypeVersions operation returns a SlotTypeMetadata object for each version of a slot type. For example, if a slot type has three numbered versions, the GetSlotTypeVersions operation returns four SlotTypeMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetSlotTypeVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetSlotTypeVersions action.

Class GetSlotTypeVersionsResponse

This is the response object from the GetSlotTypeVersions operation.

Class GetUtterancesViewRequest

Container for the parameters to the GetUtterancesView operation. 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.

Class GetUtterancesViewResponse

This is the response object from the GetUtterancesView operation.

Class Intent

Identifies the specific version of an intent.

Class IntentMetadata

Provides information about an intent.

Class InternalFailureException

LexModelBuildingService exception

Class LimitExceededException

LexModelBuildingService exception

Class Message

The message object that provides the message text and its type.

Class NotFoundException

LexModelBuildingService exception

Class PreconditionFailedException

LexModelBuildingService exception

Class Prompt

Obtains information from the user. To define a prompt, provide one or more messages and specify the number of attempts to get information from the user. If you provide more than one message, Amazon Lex chooses one of the messages to use to prompt the user. For more information, see how-it-works.

Class PutBotAliasRequest

Container for the parameters to the PutBotAlias operation. Creates an alias for the specified version of the bot or replaces an alias for the specified bot. To change the version of the bot that the alias points to, replace the alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:PutBotAlias action.

Class PutBotAliasResponse

This is the response object from the PutBotAlias operation.

Class PutBotRequest

Container for the parameters to the PutBot operation. Creates an Amazon Lex conversational bot or replaces an existing bot. When you create or update a bot you are only required to specify a name. You can use this to add intents later, or to remove intents from an existing bot. When you create a bot with a name only, the bot is created or updated but Amazon Lex returns the response FAILED. You can build the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works.

If you specify the name of an existing bot, the fields in the request replace the existing values in the $LATEST version of the bot. Amazon Lex removes any fields that you don't provide values for in the request, except for the idleTTLInSeconds and privacySettings fields, which are set to their default values. If you don't specify values for required fields, Amazon Lex throws an exception.

This operation requires permissions for the lex:PutBot action. For more information, see auth-and-access-control.

Class PutBotResponse

This is the response object from the PutBot operation.

Class PutIntentRequest

Container for the parameters to the PutIntent operation. Creates an intent or replaces an existing intent.

To define the interaction between the user and your bot, you use one or more intents. For a pizza ordering bot, for example, you would create an OrderPizza intent.

To create an intent or replace an existing intent, you must provide the following:

  • Intent name. For example, OrderPizza.

  • Sample utterances. For example, "Can I order a pizza, please." and "I want to order a pizza."

  • Information to be gathered. You specify slot types for the information that your bot will request from the user. You can specify standard slot types, such as a date or a time, or custom slot types such as the size and crust of a pizza.

  • How the intent will be fulfilled. You can provide a Lambda function or configure the intent to return the intent information to the client application. If you use a Lambda function, when all of the intent information is available, Amazon Lex invokes your Lambda function. If you configure your intent to return the intent information to the client application.

You can specify other optional information in the request, such as:

  • A confirmation prompt to ask the user to confirm an intent. For example, "Shall I order your pizza?"

  • A conclusion statement to send to the user after the intent has been fulfilled. For example, "I placed your pizza order."

  • A follow-up prompt that asks the user for additional activity. For example, asking "Do you want to order a drink with your pizza?"

If you specify an existing intent name to update the intent, Amazon Lex replaces the values in the $LATEST version of the intent with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception. When you update the $LATEST version of an intent, the status field of any bot that uses the $LATEST version of the intent is set to NOT_BUILT.

For more information, see how-it-works.

This operation requires permissions for the lex:PutIntent action.

Class PutIntentResponse

This is the response object from the PutIntent operation.

Class PutSlotTypeRequest

Container for the parameters to the PutSlotType operation. Creates a custom slot type or replaces an existing custom slot type.

To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume. For more information, see how-it-works.

If you specify the name of an existing slot type, the fields in the request replace the existing values in the $LATEST version of the slot type. Amazon Lex removes the fields that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an exception. When you update the $LATEST version of a slot type, if a bot uses the $LATEST version of an intent that contains the slot type, the bot's status field is set to NOT_BUILT.

This operation requires permissions for the lex:PutSlotType action.

Class PutSlotTypeResponse

This is the response object from the PutSlotType operation.

Class ResourceInUseException

LexModelBuildingService exception

Class Slot

Identifies the version of a specific slot.

Class SlotTypeMetadata

Provides information about a slot type..

Class Statement

A collection of messages that convey information to the user. At runtime, Amazon Lex selects the message to convey.

Class UtteranceData

Provides information about a single utterance that was made to your bot.

Class UtteranceList

Provides a list of utterances that have been made to a specific version of your bot. The list contains a maximum of 100 utterances.