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

# fields.references()

Multi-template document references, sized and scoped by allowed template names. Not localizable.

Multi-template document references. Maps to editor `{ name: 'str-references', type: 'references' }`. Unlike [`fields.reference()`](https://strife.app/docs/reference/field-reference/fields.reference.md) (a single `str-related` picker scoped by collection), `references` is a sized list scoped by allowed template names.

Stored as `ContentRef[]` (the write shape); at **read** time the content index projects each entry into the full target document, so [`strife typegen`](https://strife.app/docs/reference/cli/typegen.md) emits `Target[]`.

## Example

```ts
fields.references({
  label: 'Related content',
  allow: ['article', 'video-post'],
  size: 5,
})
```

## Options

| Option         | Type                          | Required | Description                                                                                                                                                                                |
| -------------- | ----------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `label`        | `string`                      | Yes      | Label shown to editors in Strife Studio.                                                                                                                                                   |
| `allow`        | `string \| readonly string[]` | Yes      | The `defineType` name(s) this field may reference. Emitted as wire `options.availableTypes` (normalized template names) and drives the generated read type. Pass several to allow a union. |
| `description`  | `string`                      | No       | Tooltip shown to editors.                                                                                                                                                                  |
| `searchable`   | `boolean`                     | No       | Include in the team's search index.                                                                                                                                                        |
| `filterable`   | `boolean`                     | No       | Allow filtering content lists by this value.                                                                                                                                               |
| `protected`    | `boolean`                     | No       | Restrict editing to users with the appropriate permission.                                                                                                                                 |
| `propertyName` | `string`                      | No       | Override the stored property name.                                                                                                                                                         |
| `size`         | `number \| null`              | No       | Maximum number of references.                                                                                                                                                              |
| `hint`         | `string \| null`              | No       | Display hint shown above the references list in the editor.                                                                                                                                |

No `localizable` option.

## Output type

Write shape: `ContentRef[]`. Generated read shape (via `strife typegen`): `Target[]`.

## See also

* [References](https://strife.app/docs/reference/fields/references.md) — the same editor, documented from the Strife Studio UI side.
* [`fields.reference()`](https://strife.app/docs/reference/field-reference/fields.reference.md) — scoped by collection (`to`) rather than by template name (`allow`).
