Appearance
page schema
A page's rows/overlays/variants/designer metadata — the top-level page.json contract.
Pull the full JSON Schema: erp schema pull page · MCP: erp_get_schema {"name":"page"}
Top-level properties
| Property | Type | Required | Notes |
|---|---|---|---|
contractVersion | — | yes | |
id | string | yes | |
version | string | yes | |
publisher | string | yes | |
title | #/$defs/i18nKey | yes | |
template | string | ||
slotFills | object | ||
rows | array | yes | |
canvas | array | ||
overlays | array | ||
theme | object | ||
route | #/$defs/route | yes | |
menu | #/$defs/menuEntry | ||
breadcrumb | #/$defs/breadcrumb | ||
variants | array | ||
designer | #/$defs/designer | yes | |
access | string | one of: public, authenticated | |
backgroundImageUrl | string | ||
isLoginPage | boolean | ||
isSessionExpiredPage | boolean | ||
isAccessDeniedPage | boolean | ||
devicePersistence | array | ||
modules | array | App-module ids this page belongs to (e.g. "hcm-foundation-home") - TenantPageHost's per-module page listing only surfaces a page if it's present here. Load-bearing in practice for any page reached via the app sidenav/module shell, even on pages authored before this was documented. |
Named sub-definitions
identifier, i18nKey, expression, breakpointOverride, breakpointOverrides, linkItem, item, column, row, routeParam, route, menuEntry, breadcrumb, overlay, variantRule, variant, canvasPosition, canvasItem, designer, devicePersistenceRule