Skip to main content

Fetch a program by id

GET 

/parts/:partId/programs/:programId

Returns a single program for the URL part, including its operations and per-setup breakdown. 200 when ready or failed; 202 while Engine processing is in progress. When status is failed, failureCode and failureReason describe what went wrong; both are null otherwise. Returns 404 if the part or program does not exist, belongs to a different team, or the program is not on that part.

The optional timings query param selects which engine times drive each setup’s machiningTimeSeconds:

  • fast (default): the heuristic times, available as soon as the program is ready.
  • refined: the simulation-based times. If that pass is still computing, the endpoint returns 202 with status: "processing" (poll until ready); each setup’s machiningTimeSeconds is null until the refined times land.

A ready setup can also report machiningTimeSeconds: null when its computed time failed server-side validation and was withheld; treat null as "no usable time available", not as zero.

Request

Responses

Program is ready or failed