ReferenceAPI
Logs
Covers the 1 API operation in the logs category.
| Method | Path | Description |
|---|---|---|
| GET | /v1/orgs/{orgSlug}/projects/{projectName}/logs | Live tail of worker output (runlot logs) |
GET /v1/orgs/{orgSlug}/projects/{projectName}/logs
Streams the ring buffer held by the node-agent on the home node (docs/phase6.md A1) through cp-core as-is. The response is text/x-ndjson, 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 — it keeps proxies from dropping an idle connection, and it is how a client tells whether the stream is dead.
These are not stored logs. They are only the recent lines in node memory, and when the process is replaced one line recording that fact is left in the runlot stream (prod-gap).
Requires member or above. It is a read, so it records no audit event.
operationId tailLogs
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
tail | query | No | integer | Number of buffered lines to send first. Maximum 2000 |
follow | query | No | boolean | Whether to keep streaming new lines after the buffer has been sent |
| Status | Description | Response body |
|---|---|---|
| 200 | NDJSON stream — one LogEvent per line | LogEvent |
| 403 | — | — |
| 404 | — | — |
| 409 | There is no process to stream from right now. code is no_home_node (cold, or no assignment) or suspended. | Error |
| 502 | The node does not answer. code is node_unreachable | Error |