SSE of ONE step's log bodies (ADR-0013), the source for the run detail's per-step fold. Same machinery as the run-wide `/logs`, scoped to the step — and, with `?attempt=`, to a single attempt so a rerun's earlier (failed) output can be read in isolation. Replays committed chunks then live-tails only when the run is still going AND the latest attempt is in scope (historical attempts are immutable). Read at the run's tenant.
GET
/v1/runs/{id}/steps/{step}/logs
const url = 'https://example.com/v1/runs/example/steps/example/logs';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/v1/runs/example/steps/example/logsParameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string
Run id
step
required
string
Step id
Query Parameters
Section titled “Query Parameters”attempt
string
Restrict to one attempt id (default = all)
sidecar
integer
Restrict to a sidecar service by its index in the step’s services (default = the step’s main container)
Responses
Section titled “Responses”SSE stream of this step’s log output
No such run or step