Import Zip
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
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/connect+json
validate:skip no per-frame limit server-side; the whole body is currently unbounded
byteResponse Body
application/connect+json
application/connect+json
curl -X POST "https://containers.xeonr.io/containers.api.v1.WorkspaceService/ImportZip" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/connect+json" \ -d ''{
"filesWritten": 0,
"bytesWritten": "string"
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}Get Workspace POST
Returns a workspace with derived stats (total bytes, file count, revision). NotFound for an unknown id. **Access:** namespace VIEWER or above (read); a workspace-scoped agent key may act only on the trees it was minted for
List Files POST
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