Skip to content

block-instance schema

One block INSTANCE inside a page (instanceId/blockType/properties/events) — same shape validate-page-properties.mjs checks.

Pull the full JSON Schema: erp schema pull block-instance  ·  MCP: erp_get_schema {"name":"block-instance"}

Top-level properties

PropertyTypeRequiredNotes
contractVersionyes
instanceIdstringyesThe block's instance identity - also its Phase 4 block-scope scopeKey.
blockTypestringyes
blockVersionstringyesThe version this instance was authored against (the pin, W1-05).
propertiesobjectyes
eventsobject
outputsobjectOptional output redirection: where each output port writes. Defaults to the block's own block-scope entry named after the port.
childrenobjectContainer-class blocks only: slot name to nested instance configs.
a11yLabelKeystringW10 (additive, 2026-07-16): the authored label's translation key for this placed instance (a Phase 6 field's labelKey), resolved through the runtime i18n resolver into the node's accessible name; takes precedence over the block definition's labelFrom default.
namestring2026-07-18: an author-facing display name (e.g. "Header block"), never read at render/runtime — a Studio authoring aid only.
classNamestring2026-07-17: a framework-specific class name applied to the rendered root, the universal escape hatch alongside style.
styleobject2026-07-17: raw inline style properties applied to the rendered root, the universal escape hatch alongside className.

Named sub-definitions

boundKey, propertyValue, eventWiring