Listing and writing project artifacts via the API
The Artifacts endpoint under /api/v1 is how programmatic clients read every file a project holds and push new files in.
Listing artifacts
A GET against a project's artifacts returns a flat manifest of every file in that project, each with a per-file relative download URL. This is the same set of files the web app shows across Documents, Design, Flows, and other folders. After a CAD generation or a flow run, this is where you find the resulting files (the CAD endpoint returns file names, and you fetch the bytes through artifacts).
Writing artifacts
A POST bulk-writes files into a project. Key details:
- Up to 600 files per call.
- Each file can be raw text or base64 (for binaries).
- Files default to the Documents folder when an unknown folder is specified.
- All writes are owner-scoped to your account.
Scopes
Listing artifacts is a read operation, so it works with the read scope. Writing artifacts is a write operation and needs the write scope.
Working with binary files
For binary outputs such as CAD files, content is base64-encoded. When you download CAD artifacts (for example to assemble a deliverable bundle), decode the base64 back to binary. The model files archived by the CAD engine include STEP, STL, and GLB.
Putting it together
A common pattern is: create or build a project, list its artifacts to discover what was produced, download the files you need by their URLs, and optionally write new files back in — all with a single hk_live_ key.