Skip to main content
POST
Create a page

Authorizations

Authorization
string
header
required

Bearer token: a shop API key (WEAVERSE_API_KEY), a scoped API key or a delegated MCP OAuth token; translation-unit routes also accept a project-bound translation agent token. Each operation lists the scope it requires; the scope table is in the API description.

Path Parameters

projectId
string
required

Body

application/json
type
enum<string>
required

Page type to create. CUSTOM is a bespoke merchant page (blank root). The resource-backed template types (PRODUCT, COLLECTION, PAGE, BLOG, ARTICLE) create a per-resource override / custom template that clones the project's shared default template for that type (or basedOn). This creates one new page per call (a per-resource copy). To share one template page across many resources without copying, use POST /template-assignments/{pageId} instead.

Available options:
CUSTOM,
PRODUCT,
COLLECTION,
PAGE,
BLOG,
ARTICLE
handle
string
required

Page handle. For CUSTOM, leading slashes are stripped, repeated slashes are collapsed, and trailing slashes are removed before persistence. For resource-backed types this is the Shopify resource handle (trimmed, kept verbatim) — pass the exact handle used by the list/get/delete endpoints.

name
string

Optional display name. Defaults to the normalized handle.

locale
string
default:""

Optional assignment locale. Defaults to the global/default assignment ("").

basedOn
string

Optional source page id to clone layout items from. The source page must be assigned to the same project. When omitted for a resource-backed type, the project's shared default template for that type is cloned when one exists; otherwise the page starts with a blank root item.

shopifyResourceId
string

Optional non-empty Shopify resource id (gid). Validated when present; persisted only for resource-backed types (PRODUCT/COLLECTION/PAGE/BLOG/ARTICLE); not stored for CUSTOM.

Response

Created page, or delete result when a legacy delete selector body is posted.

object
enum<string>
Available options:
page_create
page
object