Sync Sandbox Workspace
Forces the sandbox's agent to flush local changes back to the workspace store now rather than on the periodic sync, and reports files/bytes flushed plus conflict paths accumulated since the last call. Empty workspace_id flushes every read-write mount. FailedPrecondition when the sandbox has no writable workspace or is not RUNNING.
Access: namespace OPERATOR or above (write)
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 <= 64Flush only this workspace. Empty flushes every read-write mount the sandbox has, which is the pre-multi-mount behaviour and stays the default.
length <= 128Response Body
application/json
application/json
curl -X POST "https://containers.xeonr.io/containers.api.v1.SandboxService/SyncWorkspace" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/json" \ -d '{}'{
"filesFlushed": "string",
"bytesFlushed": "string",
"conflicts": [
"string"
]
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}Suspend Sandbox POST
Suspends a sandbox: records a SUSPENDED marker in the run log, deletes the pod gracefully (30s grace when a writable workspace needs flushing, 10s otherwise), marks the record SUSPENDED, revokes the agent key and marks console sessions lost. Workspaces and the egress binding are kept for resume. **Access:** namespace OPERATOR or above (write)
Tail Sandbox Logs POST
Streams the sandbox's retained run log (workload output plus typed lifecycle markers) across its whole life, including suspends. Starts after from_offset (0 = oldest retained), optionally restricted to one run. limit caps history replayed per read (0 = 2000). With follow, stays open and polls for new output about every 2 seconds. sandbox_id is required (InvalidArgument). **Access:** namespace VIEWER or above (read)