@alexa/ask-expressions-spec
Version:
The JSON Schema specification for the Alexa Skills Kit Intermediate Representation (ASKIR).
160 lines (88 loc) • 5.25 kB
Markdown
# property reference Schema
```txt
https://amazonalexa.com/ask/2020/12/PropertyReference
```
Reference a property on an Expression
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------ |
| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [PropertyReference.json](../../schemas/PropertyReference.json "open original schema") |
## property reference Type
`object` ([property reference](propertyreference.md))
# property reference Properties
| Property | Type | Required | Nullable | Defined by |
| :-------------------------- | :------------ | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |
| [kind](#kind) | Not specified | Required | cannot be null | [property reference](propertyreference-properties-kind.md "https://amazonalexa.com/ask/2020/12/PropertyReference#/properties/kind") |
| [name](#name) | `string` | Required | cannot be null | [property reference](genericargumentsdeclaration-items-properties-name.md "https://amazonalexa.com/ask/2020/12/Name#/properties/name") |
| [expression](#expression) | Merged | Required | cannot be null | [property reference](propertyreference-properties-expression.md "https://amazonalexa.com/ask/2020/12/PropertyReference#/properties/expression") |
| [type](#type) | `object` | Optional | cannot be null | [property reference](actiondeclaration-properties-typereference.md "https://amazonalexa.com/ask/2020/12/TypeReference#/properties/type") |
| [annotations](#annotations) | `array` | Optional | cannot be null | [property reference](propertyreference-properties-annotations.md "https://amazonalexa.com/ask/2020/12/PropertyReference#/properties/annotations") |
## kind
`kind`
* is required
* Type: unknown ([kind](propertyreference-properties-kind.md))
* cannot be null
* defined in: [property reference](propertyreference-properties-kind.md "https://amazonalexa.com/ask/2020/12/PropertyReference#/properties/kind")
### kind Type
unknown ([kind](propertyreference-properties-kind.md))
### kind Constraints
**constant**: the value of this property must be equal to:
```json
"PropertyReference"
```
## name
A name.
`name`
* is required
* Type: `string` ([Name](genericargumentsdeclaration-items-properties-name.md))
* cannot be null
* defined in: [property reference](genericargumentsdeclaration-items-properties-name.md "https://amazonalexa.com/ask/2020/12/Name#/properties/name")
### name Type
`string` ([Name](genericargumentsdeclaration-items-properties-name.md))
### name Constraints
**pattern**: the string must match the following regular expression: 
```regexp
^[a-zA-Z_][a-zA-Z0-9_]*$
```
[try pattern](https://regexr.com/?expression=%5E%5Ba-zA-Z_%5D%5Ba-zA-Z0-9_%5D*%24 "try regular expression with regexr.com")
### name Examples
```json
"foo"
```
```json
"bar"
```
```json
"person"
```
```json
"foo1"
```
## expression
`expression`
* is required
* Type: merged type ([Details](propertyreference-properties-expression.md))
* cannot be null
* defined in: [property reference](propertyreference-properties-expression.md "https://amazonalexa.com/ask/2020/12/PropertyReference#/properties/expression")
### expression Type
merged type ([Details](propertyreference-properties-expression.md))
one (and only one) of
* [Call](actiondeclaration-properties-annotations-call.md "check type definition")
* [property reference](arguments-definitions-arg-expression-oneof-property-reference.md "check type definition")
* [name](arguments-definitions-arg-expression-oneof-name.md "check type definition")
## type
The representation of a reference to a type declaration.
`type`
* is optional
* Type: `object` ([TypeReference](actiondeclaration-properties-typereference.md))
* cannot be null
* defined in: [property reference](actiondeclaration-properties-typereference.md "https://amazonalexa.com/ask/2020/12/TypeReference#/properties/type")
### type Type
`object` ([TypeReference](actiondeclaration-properties-typereference.md))
## annotations
`annotations`
* is optional
* Type: `object[]` ([Call](actiondeclaration-properties-annotations-call.md))
* cannot be null
* defined in: [property reference](propertyreference-properties-annotations.md "https://amazonalexa.com/ask/2020/12/PropertyReference#/properties/annotations")
### annotations Type
`object[]` ([Call](actiondeclaration-properties-annotations-call.md))