@alexa/ask-expressions-spec
Version:
The JSON Schema specification for the Alexa Skills Kit Intermediate Representation (ASKIR).
169 lines (93 loc) • 6.44 kB
Markdown
# ActionDeclaration Schema
```txt
https://amazonalexa.com/ask/2020/12/ActionDeclaration
```
Represents the declaration of an action.
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------ |
| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [ActionDeclaration.json](../../schemas/ActionDeclaration.json "open original schema") |
## ActionDeclaration Type
`object` ([ActionDeclaration](actiondeclaration.md))
# ActionDeclaration Properties
| Property | Type | Required | Nullable | Defined by |
| :------------------------------------ | :------------ | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [kind](#kind) | Not specified | Required | cannot be null | [ActionDeclaration](actiondeclaration-properties-kind.md "https://amazonalexa.com/ask/2020/12/ActionDeclaration#/properties/kind") |
| [name](#name) | `string` | Required | cannot be null | [ActionDeclaration](actiondeclaration-properties-qualifiedname.md "https://amazonalexa.com/ask/2020/12/QualifiedName#/properties/name") |
| [genericArguments](#genericarguments) | `array` | Optional | cannot be null | [ActionDeclaration](actiondeclaration-properties-genericargumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/GenericArgumentsDeclaration#/properties/genericArguments") |
| [returnType](#returntype) | `object` | Required | cannot be null | [ActionDeclaration](actiondeclaration-properties-typereference.md "https://amazonalexa.com/ask/2020/12/TypeReference#/properties/returnType") |
| [arguments](#arguments) | `array` | Optional | cannot be null | [ActionDeclaration](actiondeclaration-properties-argumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/ArgumentsDeclaration#/properties/arguments") |
| [annotations](#annotations) | `array` | Optional | cannot be null | [ActionDeclaration](actiondeclaration-properties-annotations.md "https://amazonalexa.com/ask/2020/12/ActionDeclaration#/properties/annotations") |
## kind
The expression's identifier.
`kind`
* is required
* Type: unknown ([kind](actiondeclaration-properties-kind.md))
* cannot be null
* defined in: [ActionDeclaration](actiondeclaration-properties-kind.md "https://amazonalexa.com/ask/2020/12/ActionDeclaration#/properties/kind")
### kind Type
unknown ([kind](actiondeclaration-properties-kind.md))
### kind Constraints
**constant**: the value of this property must be equal to:
```json
"ActionDeclaration"
```
## name
A qualified name
`name`
* is required
* Type: `string` ([QualifiedName](actiondeclaration-properties-qualifiedname.md))
* cannot be null
* defined in: [ActionDeclaration](actiondeclaration-properties-qualifiedname.md "https://amazonalexa.com/ask/2020/12/QualifiedName#/properties/name")
### name Type
`string` ([QualifiedName](actiondeclaration-properties-qualifiedname.md))
### name Constraints
**maximum length**: the maximum number of characters for this string is: `1024`
**pattern**: the string must match the following regular expression: 
```regexp
^[A-Za-z][A-Za-z0-9_]*(\.((_[A-Za-z0-9][A-Za-z0-9_]*)|([A-Za-z][A-Za-z0-9_]*)))*$
```
[try pattern](https://regexr.com/?expression=%5E%5BA-Za-z%5D%5BA-Za-z0-9_%5D*\(%5C.\(\(_%5BA-Za-z0-9%5D%5BA-Za-z0-9_%5D*\)%7C\(%5BA-Za-z%5D%5BA-Za-z0-9_%5D*\)\)\)*%24 "try regular expression with regexr.com")
### name Examples
```json
"com.amazon.alexa.schema.String"
```
```json
"foo"
```
## genericArguments
A set of generic arguments for a declaration.
`genericArguments`
* is optional
* Type: `object[]` ([Details](genericargumentsdeclaration-items.md))
* cannot be null
* defined in: [ActionDeclaration](actiondeclaration-properties-genericargumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/GenericArgumentsDeclaration#/properties/genericArguments")
### genericArguments Type
`object[]` ([Details](genericargumentsdeclaration-items.md))
### genericArguments Constraints
**unique items**: all items in this array must be unique. Duplicates are not allowed.
## returnType
The representation of a reference to a type declaration.
`returnType`
* is required
* Type: `object` ([TypeReference](actiondeclaration-properties-typereference.md))
* cannot be null
* defined in: [ActionDeclaration](actiondeclaration-properties-typereference.md "https://amazonalexa.com/ask/2020/12/TypeReference#/properties/returnType")
### returnType Type
`object` ([TypeReference](actiondeclaration-properties-typereference.md))
## arguments
Represents the declaration of a set of arguments.
`arguments`
* is optional
* Type: `object[]` ([argument-declaration](argumentsdeclaration-argument-declaration.md))
* cannot be null
* defined in: [ActionDeclaration](actiondeclaration-properties-argumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/ArgumentsDeclaration#/properties/arguments")
### arguments Type
`object[]` ([argument-declaration](argumentsdeclaration-argument-declaration.md))
## annotations
`annotations`
* is optional
* Type: `object[]` ([Call](actiondeclaration-properties-annotations-call.md))
* cannot be null
* defined in: [ActionDeclaration](actiondeclaration-properties-annotations.md "https://amazonalexa.com/ask/2020/12/ActionDeclaration#/properties/annotations")
### annotations Type
`object[]` ([Call](actiondeclaration-properties-annotations-call.md))