Skip to content
Strife Docs

Reference Field Reference

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() (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 emits Target[].

Example

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

Options

OptionTypeRequiredDescription
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 — the same editor, documented from the Strife Studio UI side.
  • fields.reference() — scoped by collection (to) rather than by template name (allow).