# Dialog Schema

```txt
https://amazonalexa.com/ask/2020/12/DialogDeclaration
```

Represents a dialog.

| Abstract            | Extensible | Status         | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In                                                                            |
| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------ |
| Can be instantiated | No         | Unknown status | No           | Forbidden         | Forbidden             | none                | [DialogDeclaration.json](../../schemas/DialogDeclaration.json "open original schema") |

## Dialog Type

`object` ([Dialog](dialogdeclaration.md))

# Dialog Properties

| Property                              | Type          | Required | Nullable       | Defined by                                                                                                                                                           |
| :------------------------------------ | :------------ | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [kind](#kind)                         | Not specified | Required | cannot be null | [Dialog](dialogdeclaration-properties-kind.md "https://amazonalexa.com/ask/2020/12/DialogDeclaration#/properties/kind")                                              |
| [name](#name)                         | `string`      | Required | cannot be null | [Dialog](actiondeclaration-properties-qualifiedname.md "https://amazonalexa.com/ask/2020/12/QualifiedName#/properties/name")                                         |
| [genericArguments](#genericarguments) | `array`       | Optional | cannot be null | [Dialog](actiondeclaration-properties-genericargumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/GenericArgumentsDeclaration#/properties/genericArguments") |
| [arguments](#arguments)               | `array`       | Optional | cannot be null | [Dialog](actiondeclaration-properties-argumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/ArgumentsDeclaration#/properties/arguments")                      |
| [returnType](#returntype)             | `object`      | Optional | cannot be null | [Dialog](actiondeclaration-properties-typereference.md "https://amazonalexa.com/ask/2020/12/TypeReference#/properties/returnType")                                   |
| [samples](#samples)                   | `array`       | Required | cannot be null | [Dialog](dialogdeclaration-properties-samples.md "https://amazonalexa.com/ask/2020/12/DialogDeclaration#/properties/samples")                                        |
| [annotations](#annotations)           | `array`       | Optional | cannot be null | [Dialog](dialogdeclaration-properties-annotations.md "https://amazonalexa.com/ask/2020/12/DialogDeclaration#/properties/annotations")                                |

## kind

The expression's identifier.

`kind`

*   is required

*   Type: unknown ([kind](dialogdeclaration-properties-kind.md))

*   cannot be null

*   defined in: [Dialog](dialogdeclaration-properties-kind.md "https://amazonalexa.com/ask/2020/12/DialogDeclaration#/properties/kind")

### kind Type

unknown ([kind](dialogdeclaration-properties-kind.md))

### kind Constraints

**constant**: the value of this property must be equal to:

```json
"DialogDeclaration"
```

## name

A qualified name

`name`

*   is required

*   Type: `string` ([QualifiedName](actiondeclaration-properties-qualifiedname.md))

*   cannot be null

*   defined in: [Dialog](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:&#x20;

```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: [Dialog](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.

## 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: [Dialog](actiondeclaration-properties-argumentsdeclaration.md "https://amazonalexa.com/ask/2020/12/ArgumentsDeclaration#/properties/arguments")

### arguments Type

`object[]` ([argument-declaration](argumentsdeclaration-argument-declaration.md))

## returnType

The representation of a reference to a type declaration.

`returnType`

*   is optional

*   Type: `object` ([TypeReference](actiondeclaration-properties-typereference.md))

*   cannot be null

*   defined in: [Dialog](actiondeclaration-properties-typereference.md "https://amazonalexa.com/ask/2020/12/TypeReference#/properties/returnType")

### returnType Type

`object` ([TypeReference](actiondeclaration-properties-typereference.md))

## samples

The set of dialog samples.

`samples`

*   is required

*   Type: `object[]` ([Sample](dialogdeclaration-properties-samples-sample.md))

*   cannot be null

*   defined in: [Dialog](dialogdeclaration-properties-samples.md "https://amazonalexa.com/ask/2020/12/DialogDeclaration#/properties/samples")

### samples Type

`object[]` ([Sample](dialogdeclaration-properties-samples-sample.md))

## annotations



`annotations`

*   is optional

*   Type: `object[]` ([Call](actiondeclaration-properties-annotations-call.md))

*   cannot be null

*   defined in: [Dialog](dialogdeclaration-properties-annotations.md "https://amazonalexa.com/ask/2020/12/DialogDeclaration#/properties/annotations")

### annotations Type

`object[]` ([Call](actiondeclaration-properties-annotations-call.md))
