> From the [Strife developer docs](https://strife.app/docs/reference/fields/references). Every page is listed in [llms.txt](https://strife.app/docs/llms.txt).

# References

The References editor lets you connect existing documents from other collections directly into your content, enabling structured reuse instead of duplication.

Functionally similar to adding Chapters, the References editor differs in that it does not create inline content bound to the current document. Instead, it allows you to **reference one or more existing documents** from a specified collection. This makes it easy to compose content from shared building blocks while keeping a single source of truth.

If needed, editors can also **create a new document in the target collection on the fly** and immediately reference it—without leaving the current editing context. All referenced documents remain fully editable and can be opened and updated directly from where they are referenced, ensuring a smooth and efficient workflow.

This approach supports modular content architectures, reduces duplication, and keeps related content consistently up to date across the system.

### Settings

In addition to the basic settings, this section provides information about unique settings and configurations specific to this field.

> [!NOTE]
> You can find a comprehensive list of all basic settings in the ['Overview' section](https://strife.app/docs/reference/fields.md).

<table><thead><tr><th width="232">Option</th><th>Description</th><th data-hidden></th></tr></thead><tbody><tr><td>Restrict types</td><td>Restrict the collections that can be added to this reference editor</td><td></td></tr><tr><td>Size</td><td>Optional setting for limiting the number of references allowed</td><td></td></tr></tbody></table>

### Define with JSON

When defining templates using JSON, this field is represented using:

* **Component Name:** `str-references`
* **Type:** `references`
* Reference ID: `str-references`

The settings above map into the `editor` object inside the JSON definition.

```json
{
  ...
  "editor": {
    "name": "str-references",
    "type": "references",
    "propertyName": "...",
    "attributes": {
      "hint": "...",
      "size": 3              //Any number
    },
    "options": {
      "availableTypes": [...] //Array of the collection's normalized template name
    }
    ...    
  },
  ...
}
```

### Live preview

> [!NOTE]
> This field does not have any default Strife Web Components. Custom live preview implementations are fully supported.

> [!NOTE]
> For more information on live preview and Strife Web Components, please refer to the [Live preview documentation](https://strife.app/docs/reference/live-preview.md).
