---
title: "Get Weld Candidates"
method: GET
path: "/v1/designs/{design_id}/weld-candidates"
tags: ["manufacturing-v1"]
---

# Get Weld Candidates

`GET /v1/designs/{design_id}/weld-candidates`

Find contact paths an agent can submit as assembly weld operations.

Coordinates are millimetres in the assembly model frame, before viewer
centering/scaling. Each operation includes its actual joined instances.
Select and adapt candidates to the drawing; detection does not decide
weld process, finish, intermittent spacing, or accessibility.

## Path parameters

- `design_id` string, required

## Response `200`

Successful Response

- V1WeldCandidates — Detected contact boundaries, not a drawing-approved weld plan. Copy selected operations into configuration.assembly_operations. Set method, finish, and access from the drawing. Add a stitch pattern for intermittent beads; inaccessible or unwanted contacts can be omitted.
  - `object` 'weld_candidates'
  - `design_id` string, required
  - `coordinate_frame` 'assembly_model'
  - `candidates` V1WeldCandidate[], required
    - `id` string, required
    - `operation` V1WeldingOperation, required — A welded seam. `part_instance_ids` with one entry is a seam on that instance (for example a rolled edge); two or more entries join them.
      - `type` 'weld'
      - `method` 'auto' | 'mig' | 'tig'
      - `weld_length_mm` number, nullable — Total deposited weld length, excluding stitch gaps. Calculated from the path and optional stitch pattern when omitted; if supplied it must match.
      - `stitch` V1StitchWeldPattern — Repeat beads along the guide's arc length; clip the last bead at its end. Pitch is start-to-start spacing, not the unwelded gap. Reversing the guide changes the starting end. A closed guide is traversed once, without wrapping.
        - `length_mm` number, required
        - `pitch_mm` number, required
        - `offset_mm` number
      - `path_points_mm` V1WeldPoint[], nullable — Ordered seam polyline in millimetres, in the analyzed assembly model's Z-up coordinate frame (before GLTF axis conversion or viewer scaling). GET the design's weld_candidates_url for located paths. Its length must match weld_length_mm within 0.01 mm or one part per million for a continuous weld. Required for a ready DFM report or quote. Omitting it returns a blocking weld_path_required finding; no location is invented. With stitch, this is the full guide; only the repeated beads are welded and priced.
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `part_instance_ids` string[], required
      - `weld_finish` 'none' | 'rough' | 'fine'
      - `joint_access` 'open' | 'tight' | 'blind'

## 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.
- `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.

## Changes

- **2026-09-07** `35a1cd3bea64` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rmfg/apis/fastapi/changes/v1/designs/:design_id/weld-candidates/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)
