runlot
ReferenceAPI

Logs

Covers 1 API operations in the logs category.

MethodPathDescription
GET/v1/orgs/{orgSlug}/projects/{projectName}/logsLive tail of worker output (runlot logs)

GET /v1/orgs/{orgSlug}/projects/{projectName}/logs

Streams the ring buffer (docs/phase6.md A1) held by the home node's node-agent, unchanged, through cp-core. The response is text/x-ndjson, with one LogEvent per line: first the last tail lines of the buffer, then, if follow is set, new lines until the client disconnects. A ping arrives every 15 seconds — this keeps proxies from closing an idle connection, and lets the client tell whether the stream is dead.

Not stored logs. Only the most recent lines in node memory; if the process is replaced, the runlot stream records that fact in a single line (prod-gap).

Requires member or higher. Read-only, so it does not leave an audit event.

operationId tailLogs

ParameterLocationRequiredTypeDescription
tailqueryNointegerNumber of buffer lines to send first. Capped at 2000
followqueryNobooleanWhether to keep streaming new lines after the buffer is fully sent
Status codeDescriptionResponse body
200NDJSON stream — one LogEvent per lineLogEvent
403
404
409No process is available to stream right now. code is either no_home_node (cold, or no placement) or suspended.Error
502The node is not responding. code is node_unreachableError

On this page