Get Rail
Read a Spec's composed pipeline rail: the ordered stages (source, registry, extraction, resolution, validation, assembly, delivery) and per-stage config.
The rail is the ordered list of pipeline stages composed onto a Spec (a user_schema). It is what POST /v1/pipelines compiles and runs, so it is the prerequisite for running a Spec from the API without the UI. This endpoint returns the rail as it is stored. It reads back as an empty array until a rail has been set.
Each stage carries a type plus optional name, sub, and a per-stage json config. The compiler maps registry to transfer, schema to extraction, resolve to resolution (one phase per active policy), valid to a positional validation checkpoint, and assembly to a post-run compose. The source, deliver, reconcile, sanitize, and triage types are composition markers in the rail order.
/v1/schemas/{id}/railPath parameters
Get the rail
Response
Returns { "rail": [...] }, where each element is a stage object. The array reflects the stored composition order. An empty array means no rail has been set yet, in which case the Spec cannot be run until you set one.
Response fields
Response
{
"rail": [
{ "type": "schema", "name": "Extraction" },
{
"type": "resolve",
"name": "Resolution",
"json": { "policy_ids": ["b2c3d4e5-f6a7-8901-bcde-f23456789012"] }
},
{
"type": "valid",
"name": "Totals checkpoint",
"json": {
"stage_ids": ["f1e2d3c4-b5a6-7890-abcd-ef1234567890"],
"target_phases": ["resolve"]
}
}
]
}POST /v1/pipelines followed by POST /v1/pipelines/:id/start.Errors
Error responses