CreateSlotType - Amazon Lex API Reference

CreateSlotType

Creates a custom slot type

To create a custom slot type, specify a name for the slot type and a set of enumeration values, the values that a slot of this type can assume.

Request Syntax

PUT /bots/botId/botversions/botVersion/botlocales/localeId/slottypes/ HTTP/1.1 Content-type: application/json { "compositeSlotTypeSetting": { "subSlots": [ { "name": "string", "slotTypeId": "string" } ] }, "description": "string", "externalSourceSetting": { "grammarSlotTypeSetting": { "source": { "kmsKeyArn": "string", "s3BucketName": "string", "s3ObjectKey": "string" } } }, "parentSlotTypeSignature": "string", "slotTypeName": "string", "slotTypeValues": [ { "sampleValue": { "value": "string" }, "synonyms": [ { "value": "string" } ] } ], "valueSelectionSetting": { "advancedRecognitionSetting": { "audioRecognitionStrategy": "string" }, "regexFilter": { "pattern": "string" }, "resolutionStrategy": "string" } }

URI Request Parameters

The request uses the following URI parameters.

botId

The identifier of the bot associated with this slot type.

Length Constraints: Fixed length of 10.

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

Required: Yes

botVersion

The identifier of the bot version associated with this slot type.

Length Constraints: Fixed length of 5.

Pattern: ^DRAFT$

Required: Yes

localeId

The identifier of the language and locale that the slot type will be used in. The string must match one of the supported locales. All of the bots, intents, and slots used by the slot type must have the same locale. For more information, see Supported languages.

Required: Yes

Request Body

The request accepts the following data in JSON format.

compositeSlotTypeSetting

Specifications for a composite slot type.

Type: CompositeSlotTypeSetting object

Required: No

description

A description of the slot type. Use the description to help identify the slot type in lists.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 200.

Required: No

externalSourceSetting

Sets the type of external information used to create the slot type.

Type: ExternalSourceSetting object

Required: No

parentSlotTypeSignature

The built-in slot type used as a parent of this slot type. When you define a parent slot type, the new slot type has the configuration of the parent slot type.

Only AMAZON.AlphaNumeric is supported.

Type: String

Required: No

slotTypeName

The name for the slot. A slot type name must be unique within the intent.

Type: String

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

Pattern: ^([0-9a-zA-Z][_-]?)+$

Required: Yes

slotTypeValues

A list of SlotTypeValue objects that defines the values that the slot type can take. Each value can have a list of synonyms, additional values that help train the machine learning model about the values that it resolves for a slot.

Type: Array of SlotTypeValue objects

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

Required: No

valueSelectionSetting

Determines the strategy that Amazon Lex uses to select a value from the list of possible values. The field can be set to one of the following values:

  • ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to the slot value.

  • TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list. If there is no resolution list, return null.

If you don't specify the valueSelectionSetting parameter, the default is ORIGINAL_VALUE.

Type: SlotValueSelectionSetting object

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "botId": "string", "botVersion": "string", "compositeSlotTypeSetting": { "subSlots": [ { "name": "string", "slotTypeId": "string" } ] }, "creationDateTime": number, "description": "string", "externalSourceSetting": { "grammarSlotTypeSetting": { "source": { "kmsKeyArn": "string", "s3BucketName": "string", "s3ObjectKey": "string" } } }, "localeId": "string", "parentSlotTypeSignature": "string", "slotTypeId": "string", "slotTypeName": "string", "slotTypeValues": [ { "sampleValue": { "value": "string" }, "synonyms": [ { "value": "string" } ] } ], "valueSelectionSetting": { "advancedRecognitionSetting": { "audioRecognitionStrategy": "string" }, "regexFilter": { "pattern": "string" }, "resolutionStrategy": "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.

botId

The identifier for the bot associated with the slot type.

Type: String

Length Constraints: Fixed length of 10.

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

botVersion

The version of the bot associated with the slot type.

Type: String

Length Constraints: Fixed length of 5.

Pattern: ^DRAFT$

compositeSlotTypeSetting

Specifications for a composite slot type.

Type: CompositeSlotTypeSetting object

creationDateTime

A timestamp of the date and time that the slot type was created.

Type: Timestamp

description

The description specified for the slot type.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 200.

externalSourceSetting

The type of external information used to create the slot type.

Type: ExternalSourceSetting object

localeId

The specified language and local specified for the slot type.

Type: String

parentSlotTypeSignature

The signature of the base slot type specified for the slot type.

Type: String

slotTypeId

The unique identifier assigned to the slot type. Use this to identify the slot type in the UpdateSlotType and DeleteSlotType operations.

Type: String

Length Constraints: Fixed length of 10.

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

slotTypeName

The name specified for the slot type.

Type: String

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

Pattern: ^([0-9a-zA-Z][_-]?)+$

slotTypeValues

The list of values that the slot type can assume.

Type: Array of SlotTypeValue objects

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

valueSelectionSetting

The strategy that Amazon Lex uses to select a value from the list of possible values.

Type: SlotValueSelectionSetting object

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

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: