---
title: Property Paths
url: /docs/reference/property-paths/
---
Property paths represent a key or series of keys that one can use to refer to elements in an object or array.
The syntax, inspired by JavaScript, supports both dot notation and bracket notation.
For keys that contain special characters (i.e. `[`, `]`, `"`, or `.`) or begin with a digit,
bracket notation is required.

Below are some example property paths:

- `root`
- `root.nested`
- `root["nested"]`
- `root.double.nest`
- `root["double"].nest`
- `root["double"]["nest"]`
- `root.array[0]`
- `root.array[100]`
- `root.array[0].nested`
- `root.array[0][1].nested`
- `root.nested.array[0].double[1]`
- `root["key with \"escaped\" quotes"]`
- `root["key with a ."]`
- `["root key with \"escaped\" quotes"].nested`
- `["root key with a ."][100]`
- `root.array[*].field`
- `root.array["*"].field`

## Used in

Property paths are used in the following Pulumi features (this list is not exhaustive):

- [`ignoreChanges`](/docs/iac/concepts/resources/options/ignorechanges/) resource option
- [`replaceOnChanges`](/docs/iac/concepts/resources/options/replaceonchanges/) resource option
- [`hideDiffs`](/docs/iac/concepts/resources/options/hidediffs/) resource option
- [`pulumi config set --path`](/docs/iac/cli/commands/pulumi_config_set/) flag
- [ESC interpolations and references](/docs/esc/environments/syntax/interpolations-and-references/)
- [Insights resource search](/docs/insights/discovery/search/)

