Export registered variants
GET/cms/pagebuilder/variants
Returns every registered variant, including disabled ones, in the manifest format accepted by PUT /cms/pagebuilder/variants, so a frontend can compare it with its own manifest. Every block type is listed, even without variants. Requires an API key linked to a CMS user who can view Page Builder settings.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Registered variants
A frontend’s pagebuilder-variants.json: variants grouped by block type. Other top-level fields (site, generatedAt, …) are ignored. In GET responses, entries also carry thumbnail (image URL or null) and usedBy (number of published layouts using the variant).
object
Block type → variants
object
A display variant a frontend implements. Unknown fields (e.g. component, note, thumbnail in a manifest) are ignored when importing.
object
Variant key, ^[a-z0-9_]{1,64}$. Never changes once registered.
Example
lead_gridName editors see (required unless status is “disable” or “planned”)
Example
Lead story + gridWhen editors should use it
Make this the block type’s default (fallback) variant. Only one per block type; must have breakpoints null.
implemented (create or update), disable (disable an existing variant), planned (skipped)
Example
implementedContent_list only: source kinds this variant supports; null = all
Screen sizes the variant can be used on; null = all (must be null for the default variant)
List blocks only: number of items the design shows well (whole numbers ≥ 1, min ≤ default ≤ max)
object
Fields editors fill in per block; read by the frontend from variantOptions[key]
object
Label editors see
Option key, ^[A-Za-z0-9_-]+$ (generated from the name when omitted)
List only: allow several values
Example
{ "key": "lead_grid", "label": "Lead story + grid", "description": "One large lead story followed by a grid of smaller stories.", "isDefault": false, "status": "implemented", "allowedSources": [ "section", "query" ], "breakpoints": null, "limit": { "min": 3, "default": 7, "max": 13 }, "options": [ { "name": "Lead badge", "key": "leadBadge", "type": "text", "default": "TOP STORY" }, { "name": "Show byline", "key": "showByline", "type": "boolean", "default": "true" } ]}Example
{ "blocks": { "content_list": [ { "key": "lead_grid", "label": "Lead story + grid", "limit": { "min": 3, "default": 7, "max": 13 } } ], "ad_slot": [ { "key": "default", "label": "Default", "isDefault": true } ] }}API key not linked to a CMS user with the required permission