Skip to content

CategoryDescriptor

What a category field value resolves to. A stored category value is a pointer and nothing else; everything below key is written by delivery at request time, which is why renaming a category in Settings renames it on every page at once with nothing republished.

Only provider and key are guaranteed:

  • path, value and groupExternalId are written only when the category still exists. A category deleted since publish delivers resolved: false and none of the three — rendering nothing is the honest response, and a dangling id is not.
  • resolved is itself optional, because enrichment only reaches a descriptor carrying the kind stamp, and content published before that stamp existed is left alone until its next republish. So resolved === undefined means “published before the stamp”, distinct from false.

optional groupExternalId?: string


key: string


optional kind?: "category"

The delivered discriminator. Absent on content frozen before it was introduced.


optional path?: string

group/parent/child — the stable identity to filter on, never the label.


provider: string


optional resolved?: boolean

false once the category has been deleted; see the note above on undefined.


optional value?: string | null

The locale-resolved display label. null where the category itself has no value for the resolved locale chain.