---
title: "Get project hierarchy"
method: GET
path: "/projects/{projectId}/hierarchy"
tags: ["Project structure"]
---

# Get project hierarchy

`GET /projects/{projectId}/hierarchy`

## Request

- Base URL: `https://studio.weaverse.io/api/v1/content`
- URL: `https://studio.weaverse.io/api/v1/content/projects/{projectId}/hierarchy`
- Auth: HTTP bearer

Returns the project's place in its hierarchy: its parent (if it is a variant), `inheritTheme`, and its live variants (`children`, with `variantDescription`).

Pass `analyzeParent=<projectId>` to also get `duplicates`: pages of this project that also exist in that candidate parent, with `identicalStructure` telling whether the content matches. Use it before `link-parent` to see which pages would become redundant. An unknown or foreign parent returns `404`.

Required scope: `project:manage`

## Response `200`

Hierarchy and optional duplicates

- object

## Other responses

- `401`: Missing or invalid credentials
- `403`: Foreign project or missing scope (INSUFFICIENT_SCOPE)
- `404`: Not found (never discloses other tenants)

---

[API](https://skmtc.dev/weaverse/apis/weaverse-content-api.md) - [All operations](https://skmtc.dev/weaverse/apis/weaverse-content-api/llms.txt) - [OpenAPI document](https://skmtc.dev/weaverse/apis/weaverse-content-api/revisions/d189794169bb?raw)
