List Project Folders

Retrieve the top level of a project's Docs tab: workflow phases, plus any real doc folders that sit at the project root (not nested in another folder or scoped to a phase). Each item carries a `type` field (`phase` or `folder`) telling you what it is and, for folders, matches the shape of `GET /folders/{folder_id}`. **Behavior change:** this endpoint used to return every real folder flat, including ones nested under another folder or scoped to a phase. It now returns root-level folders only, alongside phase rows, matching what the UI shows at the top of the Docs tab. To see what's inside a phase or folder, use `GET /phases/{phase_instance_id}/contents` or `GET /folders/{folder_id}/contents`. Pagination (`page`/`page_size`) applies only to the folder half of the results — phase rows are returned unpaginated (bounded by the project's workflow, not user-created volume). Pass `include_archived=true` to include archived root folders (default `false`); this doesn't affect phase rows.

Authentication

x-api-keystring
API Key authentication via header

Path parameters

project_idintegerRequired
Project identifier

Query parameters

include_archivedbooleanOptionalDefaults to false

Whether to include archived (inactive) records in the response. By default only active records are returned.

pageintegerOptional>=1Defaults to 1

Page number (1-based)

page_sizeintegerOptional1-100Defaults to 20

Number of items per page (max 100)

Response

Successful response
phaseobject

A virtual “folder” row synthesized from a workflow phase — not a real Folder database record. Use its id as phase_instance_id on GET /phases/{phase_instance_id}/contents.

OR
folderobject

A real doc folder, as returned by GET /projects/{project_id}/folders.

Errors

400
Bad Request Error
404
Not Found Error
500
Internal Server Error