PresentationPathResult
Properties
Section titled “Properties”classification?
Section titled “classification?”
optionalclassification?:string[]
The ids of the categories this page was published in, each with all of its ancestors (so a page in Espresso under Coffee lists both). Absent when the page has none, and against an older server. Ids only: a category’s name and path are read live, since a rename must not need a republish. This is what a site sends to Audience when it records a page view.
kind:
"presentation"
locale?
Section titled “locale?”
optionallocale?:string|null
The locale this address resolved to — what a root layout sets <html lang> from. Sent for a
site with a locale addressing strategy (the address carries the locale, so the server is the one
that knows it); absent against an invariant site and against an older server. null when the
organization has no locale tree to name one from.
localeSlot?
Section titled “localeSlot?”
optionallocaleSlot?:string
The locale slot the path was found in. Usually the locale’s own code, but default when that
locale has no materialized slot yet and the page was found by its default path.
nodeId
Section titled “nodeId”nodeId:
string
path:
string
presentation
Section titled “presentation”presentation:
PresentationEnvelope
title?
Section titled “title?”
optionaltitle?:string
The title the CMS computed for this address: the node’s own contextual override where there is
one, the bound component’s frozen title otherwise, and the node’s internal editor label as the
floor, so a server never sees an empty one. titleSource says which answered.
Optional because the value can genuinely be absent on this side of the wire even though a
current server always sends one: against an older server, and on a result constructed locally
rather than fetched (a live-preview draft has no frozen title). Write
result.title ?? 'Your fallback'.
titleSource?
Section titled “titleSource?”
optionaltitleSource?:"name"|"content"
content = from the bound content, whether the address overrode it or not; name = the node’s internal label, meaning no Contract in the chain declares a title field.