---
title: "Get Design"
method: GET
path: "/designs/{design_id}"
tags: ["designs"]
---

# Get Design

`GET /designs/{design_id}`

Retrieves a design by its unique ID from our database.
Returns an assembly response with the design.

## Path parameters

- `design_id` string, required

## Response `200`

Successful Response

- AssemblyResponse — Response model for multi-part design processing
  - `assembly` Assembly, required
    - `id` string, nullable
    - `part_count` integer, required
    - `file_name` string, nullable
    - `bounding_dimensions` number[]
    - `part_locations` PartLocation[]
      - `part_id` string, required
      - `transformation_matrix` array[], required
        - number[]
      - `interior_point` Point3D
        - `x` number, required
        - `y` number, required
        - `z` number, required
    - `cad_status` 'pending' | 'processing' | 'ready' | 'failed', nullable
    - `cad_job_id` string, nullable
  - `designs` Design[], required
    - `id` string, required — The unique identifier for the design
    - `file_name` string, required — The original name of the file
    - `part_type` 'sheet' | 'tube'
    - `part_name` string, nullable
    - `user_id` string, nullable
    - `file_url` string, required
    - `file_size` integer, required
    - `gltf_url` string, required
    - `flat_pattern_gltf_url` string, required
    - `bends` Bend[], required
      - `id` integer, required
      - `angle` number, required
      - `radius` number, required
      - `location` BentLocation, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `direction` BentLocation, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `length` number, required
      - `line_start` BentLocation
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `line_end` BentLocation
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `distortion_zone_sides` BendDistortionZoneSide[]
        - `source_hole_id` integer, nullable
        - `edge_start` BentLocation, required
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `edge_end` BentLocation, required
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `outward_direction` BentLocation, required
          - `x` number, required
          - `y` number, required
          - `z` number, required
    - `thickness` number, required
    - `surface_area_cm2` number, required
    - `bounding_dimensions` number[], required
    - `flat_bounding_dimensions_mm` number[], required
    - `manufacturability` 'manufacturable' | 'not_within_shippable_dimensions' | 'not_within_manufacturable_dimensions', required
    - `manufacturability_details` string[], nullable, required
    - `cut_length_mm` number, nullable
    - `hole_count` integer, nullable
    - `flat_pattern_number_of_interior_boundaries` integer, required
    - `original_holes` Hole[], nullable
      - `id` integer, required
      - `area_mm2` number, required
      - `center` Point3D, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `diameter_mm` number, required
      - `perimeter_mm` number, required
      - `hole_center_dist_to_nearest_edge` number, required
      - `normal` Normal, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `nearest_bend` NearestBend
        - `bend_id` integer, nullable
        - `distance_to_flange` number, nullable
        - `is_inner_cylindrical_face` boolean, nullable
        - `outside_bend_path` boolean, nullable
        - `line_start` Point3D
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `line_end` Point3D
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `distortion_zone_side` BendDistortionZoneSide — Planner geometry for one sheet side adjacent to a bend line.
          - `source_hole_id` integer, nullable
          - `edge_start` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `edge_end` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `outward_direction` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
      - `nearby_bends` NearestBend[]
        - `bend_id` integer, nullable
        - `distance_to_flange` number, nullable
        - `is_inner_cylindrical_face` boolean, nullable
        - `outside_bend_path` boolean, nullable
        - `line_start` Point3D
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `line_end` Point3D
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `distortion_zone_side` BendDistortionZoneSide — Planner geometry for one sheet side adjacent to a bend line.
          - `source_hole_id` integer, nullable
          - `edge_start` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `edge_end` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `outward_direction` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
      - `outline` Point3D[], nullable
        - `x` number, required
        - `y` number, required
        - `z` number, required
    - `flange_lengths` union[], required
      - union
        - FlangeLength
          - `flange_length` number, required
          - `flange_bend_radius` number, required
          - `flange_bend_angle` number, required
        - number
    - `backgauge_flanges` object[], required
    - `u_channels` object[]
    - `transformed_holes` Hole[], nullable
      - `id` integer, required
      - `area_mm2` number, required
      - `center` Point3D, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `diameter_mm` number, required
      - `perimeter_mm` number, required
      - `hole_center_dist_to_nearest_edge` number, required
      - `normal` Normal, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `nearest_bend` NearestBend
        - `bend_id` integer, nullable
        - `distance_to_flange` number, nullable
        - `is_inner_cylindrical_face` boolean, nullable
        - `outside_bend_path` boolean, nullable
        - `line_start` Point3D
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `line_end` Point3D
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `distortion_zone_side` BendDistortionZoneSide — Planner geometry for one sheet side adjacent to a bend line.
          - `source_hole_id` integer, nullable
          - `edge_start` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `edge_end` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `outward_direction` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
      - `nearby_bends` NearestBend[]
        - `bend_id` integer, nullable
        - `distance_to_flange` number, nullable
        - `is_inner_cylindrical_face` boolean, nullable
        - `outside_bend_path` boolean, nullable
        - `line_start` Point3D
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `line_end` Point3D
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `distortion_zone_side` BendDistortionZoneSide — Planner geometry for one sheet side adjacent to a bend line.
          - `source_hole_id` integer, nullable
          - `edge_start` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `edge_end` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `outward_direction` BentLocation, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
      - `outline` Point3D[], nullable
        - `x` number, required
        - `y` number, required
        - `z` number, required
    - `countersinks` AnalyzedCountersink[], nullable
      - `id` integer, required
      - `center` Point3D, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `normal` Normal, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `inverted` boolean, required
      - `counters_sink_inner_radius` number, required
      - `counters_sink_outer_radius` number, required
      - `counter_sink_angle` number, required
    - `design_tree` object, nullable
    - `detected_tube_profile_key` string, nullable
    - `tube_profile_id` string, nullable
    - `tube_length_mm` number, nullable
    - `tube_features` object[]
    - `tube_holes` object[]
    - `tube_metadata` object
    - `public` boolean, required
    - `issues` Issue[], required
      - `bend_id` integer, required
      - `issue` string, required
    - `assembly_id` string, nullable
    - `session_token` string, nullable
  - `metadata` AssemblyMetadata, required
    - `total_processing_time_ms` integer, required
    - `success_count` integer, required
    - `fail_count` integer, required
    - `total_parts` integer, required
    - `failed_part_ids` string[]

## Other responses

- `404` — Not found
- `422` — Validation Error

---

[API](https://skmtc.dev/rmfg/apis/fastapi.md) · [All operations](https://skmtc.dev/rmfg/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rmfg/fastapi/revisions/17a4ad42a016/schema)
