create_page
Create a new empty page by providing a name, unique slug, and type (main, store, member, blog, custom, error, maintain). Optionally set SEO metadata or mark as homepage. Duplicate slugs are rejected.
Instructions
Create a new (empty) page. For a page with content use build_page instead. type is a KIND (main/store/member/blog/custom/error/maintain) mapped to the numeric backend type; pass seo so it doesn't publish with an empty title. ONE page per site for main (homepage) / error / maintain, and slugs are unique per site — a duplicate is refused with the existing page_id to edit instead; only 'custom' pages can be created over and over.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| seo | No | SEO → settings.seo (title/description/keyword/favicon/thumbnail). Tokens {{name_page}}/{{name_site}} allowed. | |
| name | Yes | Page name | |
| slug | Yes | URL slug WITHOUT a leading slash, e.g. 'about', 'collections', 'cart'. A leading '/' is stripped automatically (the storefront matches the bare path segment, so '/cart' would 404). Homepage needs no slug (pass is_homepage:true). | |
| type | No | Page kind (main/store/member/blog/custom/error/maintain). store/member/blog need their data-source flag enabled — prefer build_page which auto-enables it. main/error/maintain are one-per-site; use 'custom' for extra pages. | |
| is_homepage | No | Set as homepage |