Files
bctrl.files is the durable storage namespace a space exposes. Files you upload and files a runtime produces both live here, survive past any single run, and are readable by every runtime in the space.
Three file surfaces, three jobs:
bctrl.filesis the durable space store (this page).bctrl.runs.filesis the read-and-export view of what one run produced.bctrl.runtimes.filesstages files into - and collects them out of - a live runtime. They all point at the same underlying storage.
Upload a file
The file may be any Blob. Pass spaceId to target a space other than the API key’s default. Files default to source: "upload"; files a runtime writes back arrive as source: "runtime".
List files
list returns one page with a cursor; iter walks every page. Narrow the set with prefix (a path prefix), source ("upload" or "runtime"), type, runId, runtimeId, q (name search), or createdAfter. See Pagination.
Browse by folder
By default list returns a flat file list. Pass include: "folders" for an S3-style directory view: data holds only the files directly under prefix, and the response gains a folders array of immediate-subfolder rollups - so you can render a file tree without scanning every key.
Each folder rollup carries fileCount, totalBytes, and lastCreatedAt (the newest file under it, or null when empty), so a listing screen has its totals without a second pass.

