List Files
Lists the entries under a directory in a workspace or snapshot, optionally recursively. Exactly one of workspace_id / snapshot_id must be set; path is required (use "/" for the root).
Access: namespace VIEWER or above (read); a workspace-scoped agent key may act only on the trees it was minted for
Authorization
BearerAuth A namespace-scoped API key (cpk_…) for machines, or a Xeonr Auth OIDC
token for humans. The key's namespace and role are pinned server-side.
In: header
Header Parameters
Define the version of the Connect protocol
Define the timeout, in ms
Request Body
application/json
length <= 1281 <= length <= 4096validate:skip a bool has no bounds
Address an immutable snapshot instead of a live workspace; exactly one of workspace_id / snapshot_id must be set. (A9)
length <= 128Response Body
application/json
application/json
curl -X POST "https://containers.xeonr.io/containers.api.v1.WorkspaceService/ListFiles" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/json" \ -d '{}'{
"files": [
{
"path": "string",
"size": "string",
"mode": 0,
"isDir": true,
"sha256": "string",
"mtimeUnix": "string",
"symlinkTarget": "string"
}
]
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}Import Zip POST
Client stream: one ImportZipHeader, then zip bytes as chunks — or set source_url and the server pulls the zip itself (SSRF-guarded, http(s) only, public addresses only, at most 512 MiB). Unpacks under dest_path; entries escaping the destination are rejected. Returns files and bytes written. **Access:** namespace OPERATOR or above (write); a workspace-scoped agent key may act only on the trees it was minted for
List Snapshots POST
Lists snapshots newest first, either of one workspace (workspace_id) or of a whole namespace (namespace, which includes snapshots whose source workspace was deleted). Exactly one of the two must be set (InvalidArgument). page_size defaults to 100 and is clamped to 1000. **Access:** namespace VIEWER or above (read); the namespace form is refused for workspace-scoped agent keys