Get task run logs
Get a page of a task run’s own logs.
Page with since; a page ends with nextSince, null once the run has
finished and every line has been returned.
An empty page means nothing new has been logged yet, not that the run is
over: keep polling while nextSince is non-null. Nothing here ever says
“give up” — a run that never starts never logs, so what bounds the polling
is the run’s own state from GET /task-runs/{taskRunId}, not this endpoint.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The id of the task run.
Query Parameters
Only return lines logged after this instant, exclusive: the previous page's nextSince. A UTC RFC 3339 instant with up to nanosecond precision, e.g. '2026-06-04T18:01:12.680610267Z'. Omit for the first page.
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?Z$Response
Successful Response
e.g. { "taskRunId": "npqy9q19q4wlm3", "items": [ {"timestamp": "2026-06-04T18:01:12.680610267Z", "level": "INFO", "message": "Starting SAM 3 inference."} ], "nextSince": "2026-06-04T18:01:12.680610267Z" }
A UTC instant carried to the nanosecond, e.g. '2026-06-04T18:01:12.680610267Z'. A string, not a date-time: log timestamps are nanoseconds, and every datetime type in this stack rounds them off to microseconds. Emitted with as many fractional digits as the value needs, up to 9; 0 to 9 are accepted.
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?Z$"2026-06-04T18:01:12.680610267Z"

