---
title: "Program"
method: GET
path: "/v1/bend-programs/{program_id}/program"
tags: ["manufacturing-v1"]
---

# Program

`GET /v1/bend-programs/{program_id}/program`

Retrieve ordered steps, tools, station positions and independent gauge motion.

## Path parameters

- `program_id` string, required

## Response `200`

Successful Response

- V1BendProgram — One resolved candidate. Steps are listed in execution order.
  - `material_id` string, required
  - `steps` V1BendProgramStep[], required
    - `bend_id` integer, required
    - `station_id` string, nullable, required — Null when no tooling station could be resolved for this bend.
    - `reversed` boolean, required
    - `calibration_id` union, required
      - integer
      - string
    - `estimated_force_kn` number, nullable, required
    - `springback` object, nullable — Versioned springback prediction and historical-match provenance. Null for older programs; not machine qualification.
    - `backgauges` object, nullable, required — Native gauge schema v1: fingers in fixed machine order with start/end X/R/Z in mm, retractStart/retractEnd normalized stroke progress, and placement contacts/stability. Null means no placement. A confirmed placement is not controller qualification.
  - `stations` V1BendProgramStation[], required
    - `id` string, required
    - `setup_index` integer, required — Zero-based setup index.
    - `punch_id` string, required
    - `die_id` string, required
    - `lower_adapter_id` string, nullable
    - `punch_segments_mm` number[], required
    - `die_segments_mm` number[], required
    - `adapter_segments_mm` number[]
    - `punch_segment_order_numbers` string[] — Catalog order numbers for special end segments, aligned with punch_segments_mm.
    - `width_mm` number, required
    - `center_mm` number, required
  - `tools` object[], required — Selected native catalog profiles: id, name, profileNumber, kind, height/width/radius in mm, angle in degrees, maximumLoad in kN/m.
  - `setup_count` integer, required
  - `tooling_changes` integer, required

## Other responses

- `401` — Missing or invalid credentials.
- `403` — The credentials do not permit this operation.
- `404` — The resource does not exist or is not visible to the caller.
- `409` — The resource is not ready, or Idempotency-Key was reused with a different request.
- `422` — Validation failed; see `error.param` and `error.details`.
- `429` — Rate limit exceeded; retry after the `Retry-After` header.
- `500` — Unexpected failure; safe to retry with the same Idempotency-Key.
- `502` — An upstream service or saved artifact returned an invalid response.

## Changes

- **2026-10-01** `737527fc081e` — 1 info
  - added the optional property `anyOf[subschema #1: V1BendProgram]/steps/items/springback` to the response with the `200` status
- **2026-09-28** `3568b01e288d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rmfg/apis/fastapi/changes/v1/bend-programs/:program_id/program/get.md)

---

[API](https://skmtc.dev/rmfg/apis/fastapi.md) · [All operations](https://skmtc.dev/rmfg/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/rmfg/apis/fastapi/revisions/737527fc081e?raw)
