---
title: "Prepare or revise a KiCad/dimension enclosure draft"
method: POST
path: "/workbenches/enclosure/prepare"
---

# Prepare or revise a KiCad/dimension enclosure draft

`POST /workbenches/enclosure/prepare`

## Request

- Base URL: `https://aiurion.com/api/agent/v1`
- URL: `https://aiurion.com/api/agent/v1/workbenches/enclosure/prepare`
- Auth: HTTP bearer

Uses a guest or integration token without consuming a quote allowance. Maximum REST JSON body 12 MB; KiCad text 10 MB. MCP has an 8 MB JSON body limit including text escaping. Raw PCB text is processed on the server and is not persisted. Returns exact parameters, adjustments, warnings, revision and editable review URL. Review the complete configuration before quoting.

## Request body

- object
  - `kicadPcb` string: KiCad 6–9 .kicad_pcb UTF-8 text. Sent to AIURION for parsing; raw PCB text is not stored in the draft or review link. Use parameters instead for dimensions.
  - `parameters` object
    - `activeTemplate` 'enclosure'
    - `lengthMm` number
    - `widthMm` number
    - `heightMm` number
    - `wallMm` number
    - `basePlateThicknessMm` number
    - `lidThicknessMm` number
    - `cornerRadiusMm` number
    - `holeDiameterMm` number
    - `riserHeightMm` number
    - `standoffCount` integer
    - `portCount` integer
    - `ioCutouts` object[]
      - `shape` 'rectangle' | 'circle', required
      - `wall` 'front' | 'back' | 'left' | 'right', required
      - `offsetMm` number, required
      - `verticalOffsetMm` number, required
      - `widthMm` number, required
      - `heightMm` number, required
      - `diameterMm` number, required
    - `wallPattern` 'none' | 'diagonal_vents' | 'voronoi'
    - `diagonalVentAngleDeg` number
    - `diagonalVentLengthMm` number
    - `diagonalVentWidthMm` number
    - `diagonalVentSpacingMm` number
    - `voronoiWallEnabled` boolean
    - `voronoiWallTarget` 'all'
    - `voronoiMaxOverhangDeg` 45
    - `voronoiCellSizeMm` number
    - `voronoiWebMm` number
    - `voronoiSeed` integer
    - `includePcb` boolean
    - `driveEnclosureFromPcb` boolean
    - `pcbLengthMm` number
    - `pcbWidthMm` number
    - `pcbThicknessMm` number
    - `pcbHoleSpacingX` number
    - `pcbHoleSpacingY` number
    - `pcbWallClearanceMm` number
    - `pcbMountingHoles` object[], nullable
      - `x` number, required
      - `y` number, required
      - `diameterMm` number, required
    - `includeLid` true
    - `includeLidLip` boolean
    - `fastenerMode` 'none' | 'heat_set'
    - `lidScrewHolesEnabled` boolean
    - `lidScrewPlacement` 'external'
    - `lidScrewSize` 'm2' | 'm3'
    - `pcbScrewSize` 'm2' | 'm3'
    - `lidLipDepthMm` number
    - `lidFitClearanceMm` 0.08
    - `ventEnabled` boolean
    - `ventPattern` 'slots'
    - `ventSlotCount` integer
    - `ventSlotLengthMm` number
    - `ventSlotWidthMm` number
    - `ventSlotSpacingMm` number
    - `ventSlotRotationDeg` number
    - `materialId` string
  - `quantity` integer

## Response `200`

Reviewable enclosure draft

- object
  - `success` true, required
  - `workbench` 'enclosure'
  - `parameters` object, required
    - `activeTemplate` 'enclosure'
    - `lengthMm` number
    - `widthMm` number
    - `heightMm` number
    - `wallMm` number
    - `basePlateThicknessMm` number
    - `lidThicknessMm` number
    - `cornerRadiusMm` number
    - `holeDiameterMm` number
    - `riserHeightMm` number
    - `standoffCount` integer
    - `portCount` integer
    - `ioCutouts` object[]
      - `shape` 'rectangle' | 'circle', required
      - `wall` 'front' | 'back' | 'left' | 'right', required
      - `offsetMm` number, required
      - `verticalOffsetMm` number, required
      - `widthMm` number, required
      - `heightMm` number, required
      - `diameterMm` number, required
    - `wallPattern` 'none' | 'diagonal_vents' | 'voronoi'
    - `diagonalVentAngleDeg` number
    - `diagonalVentLengthMm` number
    - `diagonalVentWidthMm` number
    - `diagonalVentSpacingMm` number
    - `voronoiWallEnabled` boolean
    - `voronoiWallTarget` 'all'
    - `voronoiMaxOverhangDeg` 45
    - `voronoiCellSizeMm` number
    - `voronoiWebMm` number
    - `voronoiSeed` integer
    - `includePcb` boolean
    - `driveEnclosureFromPcb` boolean
    - `pcbLengthMm` number
    - `pcbWidthMm` number
    - `pcbThicknessMm` number
    - `pcbHoleSpacingX` number
    - `pcbHoleSpacingY` number
    - `pcbWallClearanceMm` number
    - `pcbMountingHoles` object[], nullable
      - `x` number, required
      - `y` number, required
      - `diameterMm` number, required
    - `includeLid` true
    - `includeLidLip` boolean
    - `fastenerMode` 'none' | 'heat_set'
    - `lidScrewHolesEnabled` boolean
    - `lidScrewPlacement` 'external'
    - `lidScrewSize` 'm2' | 'm3'
    - `pcbScrewSize` 'm2' | 'm3'
    - `lidLipDepthMm` number
    - `lidFitClearanceMm` 0.08
    - `ventEnabled` boolean
    - `ventPattern` 'slots'
    - `ventSlotCount` integer
    - `ventSlotLengthMm` number
    - `ventSlotWidthMm` number
    - `ventSlotSpacingMm` number
    - `ventSlotRotationDeg` number
    - `materialId` string
  - `quantity` integer, required
  - `revision` string, required: SHA-256 revision of exact normalized parameters and set quantity.
  - `reviewUrl` string, uri, required: Editable browser review link. Contains enclosure dimensions in its fragment; treat it as private design information.
  - `reviewRequired` boolean
  - `warnings` string[]
  - `build` object: Authoritative complete base and lid build, total and quote items. Present after quoting.
  - `quotes` object[]
  - `checkout` object
    - `mode` 'browser'
    - `url` string, uri
    - `approvalRequired` true
  - `idempotentReplay` boolean
  - `usage` object
    - `remainingQuotes` integer, nullable

## Other responses

- `400`: Invalid request
- `401`: Missing, invalid, inactive, or expired token
- `403`: The credential lacks the required scope
- `404`: Resource not found
- `409`: Request conflict
- `413`: Uploaded request is too large
- `415`: Unsupported request content type
- `429`: Rate or beta quota exceeded
- `500`: Unexpected server error
- `503`: Agent API temporarily unavailable

---

[API](https://skmtc.dev/aiurion/apis/aiurion-agentic-3d-printing-api.md) · [All operations](https://skmtc.dev/aiurion/apis/aiurion-agentic-3d-printing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aiurion/apis/aiurion-agentic-3d-printing-api/revisions/949ce997a10c?raw)
