Observability
On-demand service logs
Substring line filter.
Max lines (≤1000, default 100).
Absolute window end (ISO). Only meaningful with start; defaults to now.
Absolute window start (ISO). Wins over since; capped to your plan’s retention.
Relative window, e.g. 1h (capped to your plan’s retention).
Service name within the environment.
The RESOLVED absolute window start actually queried — after clamping the relative request to your plan’s retention. Honest: never the raw request string.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/logs \ -H "Authorization: Bearer kc_your_api_token"{ "serviceId": "svc_01example0000000000000000x", "lines": [ { "ts": "2026-01-01T00:00:00.000Z", "line": "example", "stream": "stdout", "location": "example", "container": "example" } ], "truncated": true, "since": "2026-01-01T00:00:00.000Z"}Account-wide combined log stream
One combined, newest-first log stream across every project/environment/service of the account, each line attributed to its owning service. Live tail: poll the same since-window on an interval and REPLACE your list with each response (the window is honest — see `since`).
Scope to a service by name; spans environments when a project/environment is not also set.
Scope to a single environment (must belong to projectId when both are given).
Scope the stream to a single project.
Substring line filter.
Max lines (≤1000, default 100).
Absolute window end (ISO). Only meaningful with start; defaults to now.
Absolute window start (ISO). Wins over since; capped to your plan’s retention.
Relative window, e.g. 1h (capped to your plan’s retention).
True when the line limit was hit before attribution — the RAW fetched count reached the limit (older lines were dropped). Computed BEFORE unattributable lines are filtered, so it never under-reports.
The RESOLVED absolute window start actually queried — after clamping the relative request to your plan’s retention. Honest: never the raw request string.
curl https://api.koo.io/accounts/:accountId/logs \ -H "Authorization: Bearer kc_your_api_token"{ "accountId": "acct_01example0000000000000000x", "lines": [ { "ts": "2026-01-01T00:00:00.000Z", "line": "example", "project": "example", "environment": "example", "service": "example", "projectId": "project_01example0000000000000000x", "environmentId": "environment_01example0000000000000000x", "stream": "stdout", "replica": "example", "location": "example", "container": "example" } ], "truncated": true, "since": "2026-01-01T00:00:00.000Z"}On-demand service metrics
Relative window, e.g. 1h (capped to your plan’s retention).
Service name within the environment.
The RESOLVED absolute window actually queried — after clamping the relative request to your plan’s retention.
curl https://api.koo.io/accounts/:accountId/projects/:projectId/environments/:environmentId/services/:name/metrics?metric=example \ -H "Authorization: Bearer kc_your_api_token"{ "serviceId": "svc_01example0000000000000000x", "metric": "cpu", "unit": "example", "range": { "start": "2026-01-01T00:00:00.000Z", "end": "2026-01-01T00:00:00.000Z" }, "stepSec": 1, "series": [ { "labels": { "key": "example" }, "points": [ { "t": "2026-01-01T00:00:00.000Z", "v": 1 } ] } ]}