List a document library's folders
Lists the folders of **one** of a project's two document libraries, A→Z. A folder belongs to a project *and* a library, so `kind` is required — there is no folder that spans both. `documentCount` reflects only the documents the caller may see: the Project-Information audience rule is applied, and folders that are empty *for the caller* are omitted for anyone who cannot manage the project, so a reader never opens a folder to find nothing. Folders are one level deep and **organisational only** — a folder never affects who can see a document. Use a returned `id` as `folderId` when listing documents or registering a new one.
Lists the folders of one of a project's two document libraries, A→Z.
A folder belongs to a project and a library, so kind is required —
there is no folder that spans both.
documentCount reflects only the documents the caller may see: the
Project-Information audience rule is applied, and folders that are empty
for the caller are omitted for anyone who cannot manage the project, so
a reader never opens a folder to find nothing.
Folders are one level deep and organisational only — a folder never
affects who can see a document. Use a returned id as folderId when
listing documents or registering a new one.
The per-tenant API key, copied from Settings → API & integrations.
Sent as the x-api-key request header. The key is tenant-scoped and acts
with Admin-equivalent, tenant-wide access.
In: header
Path Parameters
Resource id.
Query Parameters
Which library's folders to list.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/folders?kind=ohs"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8", "kind": "ohs", "name": "string", "documentCount": 0 } ]}{ "error": { "code": "unauthorized", "message": "Missing or invalid API key." }}{ "error": { "code": "read_only", "message": "Your subscription is inactive. This action is read-only." }}{ "error": { "code": "not_found", "message": "Not found." }}{ "error": { "code": "validation", "message": "One or more inputs are invalid.", "fields": { "fieldName": "A message explaining what's wrong with this field." } }}Create a document folder POST
Creates a folder in one of a project's document libraries. Names are unique per project and library, **case-insensitively** — "Drawings" and "drawings" are the same folder, and a collision returns `409`. Admin or the project's Site Manager; blocked on read-only tenants and archived projects, like every other write on these libraries.
List a project's document metadata GET
Lists document **metadata** (never the binary) for one project, paginated. `projectId` is required; `kind` narrows to one library, omitted returns both (OHS first, then Project Information). `folderId` narrows to one folder, or to the documents loose at the library root. Omit it to list the whole library — folders are additive, so a caller that predates them is unaffected.