Read Console
Reads output from from_offset, optionally long-polling up to wait_ms (capped at 25 s) for new bytes. max_bytes is capped at 1 MiB (0 means 1 MiB). truncated is set when the requested offset was already evicted. Returns the next offset, session state and exit code.
Access: namespace VIEWER or above (read)
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 <= 64validate:skip any offset is valid; below head_offset reads report truncated
int640 or anything over 1 MiB reads 1 MiB. validate:skip clamped server-side to 1 MiB
Wait up to this long for new bytes before returning empty. 0 = return immediately with whatever is there (the polling agent's mode); non-zero turns one request into a long poll and is how a live terminal rides on the same call. Capped server-side at 25 s. validate:skip clamped server-side to 25 s
Response Body
application/json
application/json
curl -X POST "https://containers.xeonr.io/containers.api.v1.ConsoleService/ReadConsole" \ -H "Connect-Protocol-Version: 1" \ -H "Connect-Timeout-Ms: 1000" \ -H "Content-Type: application/json" \ -d '{}'{
"data": "string",
"nextOffset": "string",
"truncated": true,
"state": "CONSOLE_SESSION_STATE_UNSPECIFIED",
"exitCode": 0
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}List Console Sessions POST
Lists a sandbox's terminal sessions with their live state. Sessions the pod no longer has (suspended, restarted or evicted) are reported LOST; exited sessions are omitted unless include_exited is set. **Access:** namespace VIEWER or above (read)
Resize Console POST
Sets the session's PTY window size; cols and rows must both be non-zero (InvalidArgument otherwise). **Access:** namespace OPERATOR or above (write)