Skip to content

CMS Page — Detail

Equivalent to GET /api/admin/cms/pages/{id}.

TIP

For what CMS Pages are and how multi-locale / multi-channel works, see the CMS Pages overview.

Operation

OperationType
adminCmsPage(id: ID!)Query

The id argument is the IRI (/api/admin/cms/pages/{id}) — the same value returned as node.id on the listing. A bare numeric ID is not accepted.

Fields

FieldTypeNotes
idIDIRI.
_idIntNumeric page ID.
urlKeyStringURL slug for the active locale.
pageTitleStringTitle for the active locale.
htmlContentStringThe full page HTML body for the active locale.
metaTitle / metaKeywords / metaDescriptionStringSEO fields.
layoutStringPage layout identifier.
previewUrlStringLive storefront URL for the page (the "View" action).
locale / channelStringResolved locale / channel.
channelsConnectionEvery assigned channel — query via channels { edges { node { … } } }.
translationsConnectionPer-locale content — query via translations { edges { node { … } } }.

channels — connection

A field-selectable Relay connection. Each node exposes:

FieldTypeNotes
idIDChannel IRI (e.g. /api/admin_cms_page_channels/1).
codeStringChannel code.
nameStringChannel display name.

translations — connection

A field-selectable Relay connection — one entry per authored locale. Each node exposes:

FieldTypeNotes
localeStringLocale code for this translation.
pageTitleStringTitle in this locale.
urlKeyStringURL slug in this locale.
htmlContentStringThe full page body for this locale.
metaTitle / metaKeywords / metaDescriptionStringSEO fields in this locale.

translations returns one entry per authored locale; the htmlContent inside a translation is the full body for that locale.

Field-selectable connections

channels and translations are Relay connections, not opaque JSON. Select them with the edges { node { … } } syntax and pick exactly the sub-fields you need. (Over REST these come back as plain JSON arrays.)

Errors

CodeCause
Not foundPage not found.

Released under the MIT License.