# 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:&#x20;

```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))
