Project structure
Manage variants and page overrides
Runs one hierarchy operation, selected by op. A variant is a child project that inherits pages (and optionally the theme) from its parent; customizing a page gives the variant its own override. All operations take effect immediately.
Operations:
- create-variant: creates a variant of this project named name (1-100 characters), with optional variantDescription (max 500) and inheritTheme (default true). contentStrategy is empty (default; the variant inherits every page) or clone-all (copies every page into the variant). Returns 201 with the new project and clonedPagesCount.
- link-parent: makes this project a variant of parentProjectId (same shop), with optional variantDescription and inheritTheme. Hierarchies are at most two levels deep.
- detach-parent (confirm equal to the projectId): turns this variant into an independent project, copying inherited content first. Returns pagesCopied.
- customize-page: copies a page inherited from the parent into this variant as an override. pageAssignmentId is the parent's assignment id.
- revert-page (content:delete, confirm equal to pageAssignmentId): deletes this variant's override so the page inherits from the parent again. Only allowed when the parent would actually serve a live page for the override's exact market or locale; otherwise it returns 409 CONFLICT and the override is kept.
A refused transition (maximum depth, project name already taken, circular link, not a variant, page already customized) returns 409 CONFLICT and changes nothing. A wrong confirm value returns 400 INVALID_PARAMS.
Required scope: project:manage (all operations); revert-page also needs content:delete
post/projects/{projectId}/hierarchy
Request
- Base URLhttps://studio.weaverse.io/api/v1/content
- AuthHTTP bearer
Request body
Response
Operation result
object required
Changes
No recorded changes to this operation across all 1 revision of this API.