The shared services of a run's **current Take** (ADR-0058), name-ordered — each with its lifecycle status, for the run detail's Services panel beside the DAG. A shared service is not a DAG node, so it is never folded into the step list. Read at the run's tenant. Empty when the pipeline declares no shared services.
GET
/v1/runs/{id}/services
const url = 'https://example.com/v1/runs/example/services';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/servicesParameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string
Run id
Responses
Section titled “Responses”Media typeapplication/json
Array<object>
A shared service instance of a run (ADR-0058) — the evidence a shared
service exists and its lifecycle state. A shared service is NOT a DAG node
(it has no needs, no rerun action), so it is surfaced in a Services panel
beside the DAG, never inside it. Keyed {run, take, name}; a Rerun’s new
Take is a fresh instance.
object
created_at
required
When the instance was born (unix-ms).
integer format: int64
name
required
The declared service name — also its cluster DNS hostname (<name>:<port>).
string
status
required
Lifecycle: starting | ready | running | torn-down | failed.
string
take
required
The Take generation this instance belongs to (a Rerun opens a new one).
integer format: int64
Examplegenerated
[ { "created_at": 1, "name": "example", "status": "example", "take": 1 }]No such run