Get Workspace
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
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
1 <= length <= 128Response Body
application/json
application/json
curl -X POST "https://containers.xeonr.io/containers.api.v1.WorkspaceService/GetWorkspace" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/json" \ -d '{}'{
"workspace": {
"workspaceId": "string",
"namespace": "string",
"totalBytes": "string",
"fileCount": 0,
"updatedAtUnix": "string",
"label": "string",
"revision": "string",
"ephemeral": true,
"ownerKind": "string",
"ownerId": "string"
}
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}Export Zip POST
Server stream of a workspace subtree as a zip in 64 KiB frames; empty path exports the whole workspace. **Access:** namespace VIEWER or above (read); a workspace-scoped agent key may act only on the trees it was minted for
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