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][_-]?){1,100}$
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 isORIGINAL_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
andDeleteSlotType
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][_-]?){1,100}$
- 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: