Operazioni sulle pagine

6 operazioni di nome page.*. Ognuna si esegue in un batch con apply_ops, dry_run_ops, la CLI o l’admin.

Aggiornato il
OperationWhat it doesPermissionConfirmation
page.readRead a page row: slug, title, status, frame and SEO fields.site.readnone
page.createCreate a page (slug, title per locale, and optionally frame, the theme layout frame it renders in, parentId, pageType, SEO and members-only fields) with an empty tree.site.structurenone
page.updatePatch a page's fields as { pageId, patch }: slug, title, frame (the theme layout frame it renders in, such as default, which reflows at the site breakpoints, or a scaled canvas such as scale-canvas; layout.update edits a frame), status, SEO, members-only access or meta.site.editnone
page.deleteDelete a page and its tree.site.structuredestructive
page.forkTemplateFork a theme template into an editable site page row.site.structurenone
page.setPasswordProtect a page with a password, change it, or remove it with password: null.site.editnone

page.read

Read a page row: slug, title, status, frame and SEO fields. Page validation and ownership checks apply.

permission: site.readreads onlyclass: read

Esempio di input

{
  "pageId": "6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f"
}

Input

FieldTypeRequiredNotes
pageIdstringyesAt least 1 character.

Output

FieldTypeRequiredNotes
pageobjectyes
page.slugstringyesAt least 1 character.
page.titlerecord of stringyes
page.framestringyes
page.dynamicbooleanyes
page.positionintegeryes
page.parentIdstring | nullyes
page.requireAuthbooleanyes
page.requiredRolesarray of stringnoAt most 50 items.
page.metarecord of any JSONyes
page.pageTypestringnoOne of "static", "blog-index", "article", "brand-canvas", "template", "region", "dynamic", "component".
page.templateIdstring | nullno
page.collectionKeystring | nullno
page.statusstringnoOne of "draft", "published".
page.authorUserIdstring | nullno
page.authorNamestring | nullno
page.featuredImageIdstring | nullno
page.excerptrecord of string | nullno
page.metaTitlerecord of string | nullno
page.metaDescriptionrecord of string | nullno
page.ogImageIdstring | nullno
page.noIndexbooleanno
page.canonicalUrlstring | nullno
page.idstringyes
page.passwordProtectedbooleanno
page.publishedAtstring | nullno
page.createdAtstringyes
page.updatedAtstringyes
page.treeobjectno
warningsarray of stringno

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash page.read '{"pageId":"6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f"}' --dry-run

page.create

Create a page (slug, title per locale, and optionally frame, the theme layout frame it renders in, parentId, pageType, SEO and members-only fields) with an empty tree. status defaults to draft; a draft page stays out of the site publish, so pass status: "published" for a page the next publication.publish should serve. Fill the tree with tree.commit in the same batch: read the new root id with tree.read through a $ref to this operation's page.id. A section's anchor is the node field anchor in that tree, not a page field, meta.anchor or props.anchor. A pageType: "dynamic" page names a collection in collectionKey and is the detail page of its items: it answers /<slug>/<item slug> in each locale, and its tree binds the item. Page validation and ownership checks apply.

permission: site.structurewrites: pagesclass: transactionundo: yes

Esempio di input

{
  "slug": "studio",
  "title": {
    "en-US": "Studio"
  },
  "status": "published"
}

Input

FieldTypeRequiredNotes
slugstringyesAt least 1 character.
titlerecord of stringyes
framestringno
dynamicbooleanno
positionintegerno
parentIdstring | nullno
requireAuthbooleanno
requiredRolesarray of stringnoAt most 50 items.
metarecord of any JSONno
pageTypestringnoOne of "static", "blog-index", "article", "dynamic".
templateIdstring | nullno
collectionKeystring | nullno
statusstringnoOne of "draft", "published".
authorUserIdstring | nullno
authorNamestring | nullno
featuredImageIdstring | nullno
excerptrecord of string | nullno
metaTitlerecord of string | nullno
metaDescriptionrecord of string | nullno
ogImageIdstring | nullno
noIndexbooleanno
canonicalUrlstring | nullno
publishedAtstring (date-time) | nullno

Output

FieldTypeRequiredNotes
pageobjectyes
page.slugstringyesAt least 1 character.
page.titlerecord of stringyes
page.framestringyes
page.dynamicbooleanyes
page.positionintegeryes
page.parentIdstring | nullyes
page.requireAuthbooleanyes
page.requiredRolesarray of stringnoAt most 50 items.
page.metarecord of any JSONyes
page.pageTypestringnoOne of "static", "blog-index", "article", "brand-canvas", "template", "region", "dynamic", "component".
page.templateIdstring | nullno
page.collectionKeystring | nullno
page.statusstringnoOne of "draft", "published".
page.authorUserIdstring | nullno
page.authorNamestring | nullno
page.featuredImageIdstring | nullno
page.excerptrecord of string | nullno
page.metaTitlerecord of string | nullno
page.metaDescriptionrecord of string | nullno
page.ogImageIdstring | nullno
page.noIndexbooleanno
page.canonicalUrlstring | nullno
page.idstringyes
page.passwordProtectedbooleanno
page.publishedAtstring | nullno
page.createdAtstringyes
page.updatedAtstringyes
page.treeobjectno
warningsarray of stringno

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash page.create '{"slug":"studio","title":{"en-US":"Studio"},"status":"published"}' --dry-run

page.update

Patch a page's fields as { pageId, patch }: slug, title, frame (the theme layout frame it renders in, such as default, which reflows at the site breakpoints, or a scaled canvas such as scale-canvas; layout.update edits a frame), status, SEO, members-only access or meta. patch.status: "published" marks a draft page for the next site publish. patch.meta replaces the page's whole meta, so read the page first (page.read) and send its meta back with your change. meta.layoutOverrides overrides the frame for this page alone, layer by layer, where the frame's overridePolicy allows it: background ({ color, image, overlay, texture }: the page's own background colour, as raw CSS such as var(--ds-color-bg-inverse)), header, footer, scroll and chrome. Page validation and ownership checks apply.

permission: site.editwrites: pagesclass: transactionundo: yes

Esempio di input

{
  "pageId": "6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f",
  "patch": {
    "title": {
      "en-US": "Studio and team"
    },
    "status": "published"
  }
}

Input

FieldTypeRequiredNotes
pageIdstringyesAt least 1 character.
patchobjectyes
patch.slugstringnoAt least 1 character.
patch.titlerecord of stringno
patch.framestringno
patch.dynamicbooleanno
patch.positionintegerno
patch.parentIdstring | nullno
patch.requireAuthbooleanno
patch.requiredRolesarray of stringnoAt most 50 items.
patch.metarecord of any JSONno
patch.pageTypestringnoOne of "static", "blog-index", "article", "brand-canvas", "template", "region", "dynamic", "component".
patch.templateIdstring | nullno
patch.collectionKeystring | nullno
patch.statusstringnoOne of "draft", "published".
patch.authorUserIdstring | nullno
patch.authorNamestring | nullno
patch.featuredImageIdstring | nullno
patch.excerptrecord of string | nullno
patch.metaTitlerecord of string | nullno
patch.metaDescriptionrecord of string | nullno
patch.ogImageIdstring | nullno
patch.noIndexbooleanno
patch.canonicalUrlstring | nullno

Output

FieldTypeRequiredNotes
pageobjectyes
page.slugstringyesAt least 1 character.
page.titlerecord of stringyes
page.framestringyes
page.dynamicbooleanyes
page.positionintegeryes
page.parentIdstring | nullyes
page.requireAuthbooleanyes
page.requiredRolesarray of stringnoAt most 50 items.
page.metarecord of any JSONyes
page.pageTypestringnoOne of "static", "blog-index", "article", "brand-canvas", "template", "region", "dynamic", "component".
page.templateIdstring | nullno
page.collectionKeystring | nullno
page.statusstringnoOne of "draft", "published".
page.authorUserIdstring | nullno
page.authorNamestring | nullno
page.featuredImageIdstring | nullno
page.excerptrecord of string | nullno
page.metaTitlerecord of string | nullno
page.metaDescriptionrecord of string | nullno
page.ogImageIdstring | nullno
page.noIndexbooleanno
page.canonicalUrlstring | nullno
page.idstringyes
page.passwordProtectedbooleanno
page.publishedAtstring | nullno
page.createdAtstringyes
page.updatedAtstringyes
page.treeobjectno
warningsarray of stringno

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash page.update '{"pageId":"6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f","patch":{"title":{"en-US":"Studio and team"},"status":"published"}}' --dry-run

page.delete

Delete a page and its tree. Page validation and ownership checks apply.

permission: site.structurewrites: pagesclass: transactionconfirm: destructiveundo: yes

Esempio di input

{
  "pageId": "6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f"
}

Input

FieldTypeRequiredNotes
pageIdstringyesAt least 1 character.

Output

FieldTypeRequiredNotes
successtrueyes

Vuole confirmed: ["destructive"] sul batch, che la forma della CLI per una sola operazione non imposta: mettila in un file di batch ed esegui yarn splash apply <file> --dry-run.

page.forkTemplate

Fork a theme template into an editable site page row. Page validation and ownership checks apply.

permission: site.structurewrites: pagesclass: transactionundo: yes

Esempio di input

{
  "templateId": "page"
}

Input

FieldTypeRequiredNotes
templateIdstringyesAt least 1 character.

Output

FieldTypeRequiredNotes
pageobjectyes
page.slugstringyesAt least 1 character.
page.titlerecord of stringyes
page.framestringyes
page.dynamicbooleanyes
page.positionintegeryes
page.parentIdstring | nullyes
page.requireAuthbooleanyes
page.requiredRolesarray of stringnoAt most 50 items.
page.metarecord of any JSONyes
page.pageTypestringnoOne of "static", "blog-index", "article", "brand-canvas", "template", "region", "dynamic", "component".
page.templateIdstring | nullno
page.collectionKeystring | nullno
page.statusstringnoOne of "draft", "published".
page.authorUserIdstring | nullno
page.authorNamestring | nullno
page.featuredImageIdstring | nullno
page.excerptrecord of string | nullno
page.metaTitlerecord of string | nullno
page.metaDescriptionrecord of string | nullno
page.ogImageIdstring | nullno
page.noIndexbooleanno
page.canonicalUrlstring | nullno
page.idstringyes
page.passwordProtectedbooleanno
page.publishedAtstring | nullno
page.createdAtstringyes
page.updatedAtstringyes
page.treeobjectno
warningsarray of stringno

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash page.forkTemplate '{"templateId":"page"}' --dry-run

page.setPassword

Protect a page with a password, change it, or remove it with password: null. A visitor sees the password form instead of the page until they enter it; members are asked too. The password is stored hashed and never answered: page answers say only passwordProtected. Like the other page fields it reaches the public site with the next publish. Run it alone in a batch: the input is redacted from the history and the audit log, and the change is not undone.

permission: site.editwrites: pagesclass: transactionundo: explicit recovery

Esempio di input

{
  "pageId": "6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f",
  "password": "press-preview-2026"
}

Input

FieldTypeRequiredNotes
pageIdstringyesAt least 1 character.
passwordstring | nullyes

Output

FieldTypeRequiredNotes
pageobjectyes
page.slugstringyesAt least 1 character.
page.titlerecord of stringyes
page.framestringyes
page.dynamicbooleanyes
page.positionintegeryes
page.parentIdstring | nullyes
page.requireAuthbooleanyes
page.requiredRolesarray of stringnoAt most 50 items.
page.metarecord of any JSONyes
page.pageTypestringnoOne of "static", "blog-index", "article", "brand-canvas", "template", "region", "dynamic", "component".
page.templateIdstring | nullno
page.collectionKeystring | nullno
page.statusstringnoOne of "draft", "published".
page.authorUserIdstring | nullno
page.authorNamestring | nullno
page.featuredImageIdstring | nullno
page.excerptrecord of string | nullno
page.metaTitlerecord of string | nullno
page.metaDescriptionrecord of string | nullno
page.ogImageIdstring | nullno
page.noIndexbooleanno
page.canonicalUrlstring | nullno
page.idstringyes
page.passwordProtectedbooleanno
page.publishedAtstring | nullno
page.createdAtstringyes
page.updatedAtstringyes
page.treeobjectno
warningsarray of stringno

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash page.setPassword '{"pageId":"6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f","password":"press-preview-2026"}' --dry-run

Generato dal registro delle operazioni e dal catalogo degli strumenti MCP (sorgente b47cd6cff6a50703).

Qualcosa non va in questa pagina? Scrivi a docs@librettocms.com.

Guida di Libretto

Colophon. Questa guida è un sito Libretto: 70 pagine in due lingue, 21 pagine della guida importate da Markdown e 42 pagine di riferimento generate dal registro delle operazioni. Composta in Softcore, il codice in IBM Plex Mono. La sua struttura:

/it/ Guida di Libretto /it/start Per iniziare /it/start/request-access Richiedere l'accesso /it/start/workspace Il tuo spazio di lavoro /it/start/first-site Il tuo primo sito /it/start/invite-a-client Invitare un cliente /it/start/connect-claude Connettere Claude a Libretto /it/build Costruire /it/build/first-page Costruire una pagina /it/build/layers-and-canvas Livelli e canvas /it/build/site-components Componenti del sito /it/design-system Design system /it/design-system/tokens Colori, spazi e temi /it/design-system/components Componenti e varianti /it/design-system/fonts Tipografia e font /it/motion Movimento /it/motion/scenes Scene e ricette /it/motion/image-sequences Sequenze di immagini /it/motion/reduced-motion Movimento ridotto /it/publish Pubblicazione /it/publish/languages Le lingue del sito /it/publish/versions Pubblicazione e versioni /it/publish/members-and-forms Iscritti e moduli /it/publish/domains Domini /it/publish/redirects Reindirizzamenti /it/handover Consegnare un sito al cliente /it/glossary Glossario /it/agents Agenti e API /it/agents/mcp Server MCP /it/agents/cli CLI /it/agents/batches Batch /it/agents/errors Errori e segnalazioni /it/agents/operations Operazioni /it/search Cerca