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.

Interface for accessing LexModelBuildingService Amazon Lex Build-Time Actions

Amazon Lex is an AWS service for building conversational voice and text interfaces. Use these actions to create, update, and delete conversational bots for new and existing client applications.

Inheritance Hierarchy

Amazon.LexModelBuildingService.IAmazonLexModelBuildingService

Namespace: Amazon.LexModelBuildingService
Assembly: AWSSDK.LexModelBuildingService.dll
Version: 3.x.y.z

Syntax

C#
public interface IAmazonLexModelBuildingService
         IAmazonService, IDisposable

The IAmazonLexModelBuildingService type exposes the following members

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

NameDescription
Public Method CreateBotVersion(CreateBotVersionRequest)

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.

Public Method CreateBotVersionAsync(CreateBotVersionRequest, CancellationToken)

Initiates the asynchronous execution of the CreateBotVersion operation.

Public Method CreateIntentVersion(CreateIntentVersionRequest)

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.

Public Method CreateIntentVersionAsync(CreateIntentVersionRequest, CancellationToken)

Initiates the asynchronous execution of the CreateIntentVersion operation.

Public Method CreateSlotTypeVersion(CreateSlotTypeVersionRequest)

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.

Public Method CreateSlotTypeVersionAsync(CreateSlotTypeVersionRequest, CancellationToken)

Initiates the asynchronous execution of the CreateSlotTypeVersion operation.

Public Method DeleteBot(DeleteBotRequest)

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.

Public Method DeleteBotAlias(DeleteBotAliasRequest)

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.

Public Method DeleteBotAliasAsync(DeleteBotAliasRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteBotAlias operation.

Public Method DeleteBotAsync(DeleteBotRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteBot operation.

Public Method DeleteBotChannelAssociation(DeleteBotChannelAssociationRequest)

Deletes the association between an Amazon Lex bot and a messaging platform.

This operation requires permission for the lex:DeleteBotChannelAssociation action.

Public Method DeleteBotChannelAssociationAsync(DeleteBotChannelAssociationRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteBotChannelAssociation operation.

Public Method DeleteBotVersion(DeleteBotVersionRequest)

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.

Public Method DeleteBotVersionAsync(DeleteBotVersionRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteBotVersion operation.

Public Method DeleteIntent(DeleteIntentRequest)

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.

Public Method DeleteIntentAsync(DeleteIntentRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteIntent operation.

Public Method DeleteIntentVersion(DeleteIntentVersionRequest)

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.

Public Method DeleteIntentVersionAsync(DeleteIntentVersionRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteIntentVersion operation.

Public Method DeleteSlotType(DeleteSlotTypeRequest)

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.

Public Method DeleteSlotTypeAsync(DeleteSlotTypeRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteSlotType operation.

Public Method DeleteSlotTypeVersion(DeleteSlotTypeVersionRequest)

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.

Public Method DeleteSlotTypeVersionAsync(DeleteSlotTypeVersionRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteSlotTypeVersion operation.

Public Method DeleteUtterances(DeleteUtterancesRequest)

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 indefinately 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.

Public Method DeleteUtterancesAsync(DeleteUtterancesRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteUtterances operation.

Public Method GetBot(GetBotRequest)

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.

Public Method GetBotAlias(GetBotAliasRequest)

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.

Public Method GetBotAliasAsync(GetBotAliasRequest, CancellationToken)

Initiates the asynchronous execution of the GetBotAlias operation.

Public Method GetBotAliases(GetBotAliasesRequest)

Returns a list of aliases for a specified Amazon Lex bot.

This operation requires permissions for the lex:GetBotAliases action.

Public Method GetBotAliasesAsync(GetBotAliasesRequest, CancellationToken)

Initiates the asynchronous execution of the GetBotAliases operation.

Public Method GetBotAsync(GetBotRequest, CancellationToken)

Initiates the asynchronous execution of the GetBot operation.

Public Method GetBotChannelAssociation(GetBotChannelAssociationRequest)

Returns information about the association between an Amazon Lex bot and a messaging platform.

This operation requires permissions for the lex:GetBotChannelAssociation action.

Public Method GetBotChannelAssociationAsync(GetBotChannelAssociationRequest, CancellationToken)

Initiates the asynchronous execution of the GetBotChannelAssociation operation.

Public Method GetBotChannelAssociations(GetBotChannelAssociationsRequest)

Returns a list of all of the channels associated with the specified bot.

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

Public Method GetBotChannelAssociationsAsync(GetBotChannelAssociationsRequest, CancellationToken)

Initiates the asynchronous execution of the GetBotChannelAssociations operation.

Public Method GetBots(GetBotsRequest)

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.

Public Method GetBotsAsync(GetBotsRequest, CancellationToken)

Initiates the asynchronous execution of the GetBots operation.

Public Method GetBotVersions(GetBotVersionsRequest)

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.

Public Method GetBotVersionsAsync(GetBotVersionsRequest, CancellationToken)

Initiates the asynchronous execution of the GetBotVersions operation.

Public Method GetBuiltinIntent(GetBuiltinIntentRequest)

Returns information about a built-in intent.

This operation requires permission for the lex:GetBuiltinIntent action.

Public Method GetBuiltinIntentAsync(GetBuiltinIntentRequest, CancellationToken)

Initiates the asynchronous execution of the GetBuiltinIntent operation.

Public Method GetBuiltinIntents(GetBuiltinIntentsRequest)

Gets a list of built-in intents that meet the specified criteria.

This operation requires permission for the lex:GetBuiltinIntents action.

Public Method GetBuiltinIntentsAsync(GetBuiltinIntentsRequest, CancellationToken)

Initiates the asynchronous execution of the GetBuiltinIntents operation.

Public Method GetBuiltinSlotTypes(GetBuiltinSlotTypesRequest)

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.

Public Method GetBuiltinSlotTypesAsync(GetBuiltinSlotTypesRequest, CancellationToken)

Initiates the asynchronous execution of the GetBuiltinSlotTypes operation.

Public Method GetExport(GetExportRequest)

Exports the contents of a Amazon Lex resource in a specified format.

Public Method GetExportAsync(GetExportRequest, CancellationToken)

Initiates the asynchronous execution of the GetExport operation.

Public Method GetIntent(GetIntentRequest)

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.

Public Method GetIntentAsync(GetIntentRequest, CancellationToken)

Initiates the asynchronous execution of the GetIntent operation.

Public Method GetIntents(GetIntentsRequest)

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.

Public Method GetIntentsAsync(GetIntentsRequest, CancellationToken)

Initiates the asynchronous execution of the GetIntents operation.

Public Method GetIntentVersions(GetIntentVersionsRequest)

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.

Public Method GetIntentVersionsAsync(GetIntentVersionsRequest, CancellationToken)

Initiates the asynchronous execution of the GetIntentVersions operation.

Public Method GetSlotType(GetSlotTypeRequest)

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.

Public Method GetSlotTypeAsync(GetSlotTypeRequest, CancellationToken)

Initiates the asynchronous execution of the GetSlotType operation.

Public Method GetSlotTypes(GetSlotTypesRequest)

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.

Public Method GetSlotTypesAsync(GetSlotTypesRequest, CancellationToken)

Initiates the asynchronous execution of the GetSlotTypes operation.

Public Method GetSlotTypeVersions(GetSlotTypeVersionsRequest)

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.

Public Method GetSlotTypeVersionsAsync(GetSlotTypeVersionsRequest, CancellationToken)

Initiates the asynchronous execution of the GetSlotTypeVersions operation.

Public Method GetUtterancesView(GetUtterancesViewRequest)

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.

Public Method GetUtterancesViewAsync(GetUtterancesViewRequest, CancellationToken)

Initiates the asynchronous execution of the GetUtterancesView operation.

Public Method PutBot(PutBotRequest)

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.

Public Method PutBotAlias(PutBotAliasRequest)

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.

Public Method PutBotAliasAsync(PutBotAliasRequest, CancellationToken)

Initiates the asynchronous execution of the PutBotAlias operation.

Public Method PutBotAsync(PutBotRequest, CancellationToken)

Initiates the asynchronous execution of the PutBot operation.

Public Method PutIntent(PutIntentRequest)

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 slot type 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.

For more information, see how-it-works.

This operation requires permissions for the lex:PutIntent action.

Public Method PutIntentAsync(PutIntentRequest, CancellationToken)

Initiates the asynchronous execution of the PutIntent operation.

Public Method PutSlotType(PutSlotTypeRequest)

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.

This operation requires permissions for the lex:PutSlotType action.

Public Method PutSlotTypeAsync(PutSlotTypeRequest, CancellationToken)

Initiates the asynchronous execution of the PutSlotType operation.

Version Information

.NET Standard:
Supported in: 1.3

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms