---
title: "Document Structure Endpoint"
method: GET
path: "/projects/{project_id}/document-structure"
---

# Document Structure Endpoint

`GET /projects/{project_id}/document-structure`

## Request

- Base URL: `https://usemeridian.us` (the document declares no server; this is the origin it was published from)
- URL: `https://usemeridian.us/projects/{project_id}/document-structure`
- Auth: none declared

3f596f81 — heading-tree structure of an ingested .docx for the Documents
panel. Calls the stateless docs_intel.document_outline (paragraph_count +
heading_count + an ordered heading list). Returns ``{"error": ...}`` on a
missing/unreadable/non-docx file rather than a 500 so the panel renders the
failure inline.

NOTE: ``path`` is resolved on the SERVER — this works for self-hosted / tunnel
setups where the server can see the file; a hosted server has no access to
the user's local filesystem, so it returns an error the panel surfaces.

## Path parameters

- `project_id` string, required

## Query parameters

- `path` string, required

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usemeridian/apis/meridian.md) · [All operations](https://skmtc.dev/usemeridian/apis/meridian/llms.txt) · [OpenAPI document](https://skmtc.dev/usemeridian/apis/meridian/revisions/f37a894bd374?raw)
