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 URL
    https://studio.weaverse.io/api/v1/content
  • Auth
    HTTP bearer

Request body

OR
OR
OR
OR

Response

Operation result

object required

Changes

No recorded changes to this operation across all 1 revision of this API.