TailAppLogs streams an App's output: retained history first, then live.
An App's replicas are interchangeable and individually disposable, so its logs cannot live only in its pods — the instance that emitted the line you need is often the one that died. The control plane therefore collects and retains them, and this reads that record, merged across replicas and tagged with which one produced each chunk.
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
1Define the timeout, in ms
Request Body
application/connect+json
Restrict to a single replica. Empty = every replica, merged.
Resume after this cursor. 0 starts at the oldest retained chunk.
int64Stay open and stream new output as it arrives. False returns the retained history and ends, which is what a one-shot fetch wants.
Cap on history chunks replayed before live output begins. 0 = server default.
Response Body
application/connect+json
application/connect+json
curl -X POST "https://containers.xeonr.io/containers.api.v1.AppService/TailAppLogs" \ -H "Connect-Protocol-Version: 1" \ -H "Content-Type: application/connect+json" \ -d ''{
"chunk": {
"replica": "string",
"data": "string",
"stderr": true,
"atUnix": 0,
"offset": 0
}
}{
"code": "not_found",
"message": "string",
"details": [
{
"type": "string",
"value": "string",
"debug": {}
}
]
}