{"success":true,"workbenches":[{"id":"enclosure","name":"Enclosure Workbench","href":"/enclosure-workbench","status":"agent_enabled","inputs":["kicad_pcb","dimensions"],"outputs":["editable_draft","complete_base_and_lid_quote"],"tools":["prepare_enclosure","quote_enclosure"],"checkout":"customer_reviews_complete_build_in_browser","limits":{"kicadVersions":"6–9","maximumRestBodyMb":12,"maximumMcpBodyMb":8,"maximumPcbFileMb":10,"maximumQuantity":150},"reviewRequired":["mounting_holes","connector_openings","component_height","mating_plug_clearance","material","quantity"],"available":true,"quotingRequirements":"Selected materials and process profiles must be enabled. Preparation and geometry review do not imply manufacturing availability."},{"id":"workholding","name":"Workholding Workbench","href":"/workholding-workbench","status":"agent_enabled","inputs":["dimensions","straight_extrusion_stl"],"outputs":["editable_draft","complete_fixture_set_quote"],"tools":["prepare_workholding","quote_workholding"],"limits":{"maximumStlFileMb":5,"maximumQuantity":150},"checkout":"customer_reviews_complete_build_in_browser","reviewRequired":["workpiece_fit","mounting_pattern","clamping_setup","material","quantity"],"available":true,"quotingRequirements":"Selected materials and process profiles must be enabled. Preparation and geometry review do not imply manufacturing availability."},{"id":"gripper","name":"Robot Gripper Lab","href":"/end-effector-workbench","status":"agent_enabled","inputs":["dimensions"],"outputs":["editable_draft","complete_six_piece_gripper_kit_quote"],"tools":["prepare_gripper","quote_gripper"],"limits":{"maximumQuantity":75},"checkout":"customer_reviews_complete_build_in_browser","reviewRequired":["jaw_fit","mounting","material","prototype_load_test","quantity"],"available":true,"quotingRequirements":"Selected materials and process profiles must be enabled. Preparation and geometry review do not imply manufacturing availability."},{"id":"stamping","name":"Stamping Lab","href":"/stamping-workbench","status":"agent_enabled","inputs":["die_parameters","binary_artwork_mask","sheet_assumptions"],"outputs":["editable_draft","matched_die_pair_quote"],"tools":["prepare_stamping","quote_stamping"],"limits":{"maximumQuantity":150,"simulationToolAvailable":false},"checkout":"customer_reviews_complete_build_in_browser","reviewRequired":["die_pair","sheet_assumptions","pressing_setup","prototype_limits","quantity"],"available":true,"quotingRequirements":"Selected materials and process profiles must be enabled. Preparation and geometry review do not imply manufacturing availability."},{"id":"wheel","name":"Wheel Lab","href":"/wheel-workbench","status":"coming_soon","inputs":[],"outputs":[],"tools":[],"available":false,"quotingRequirements":"Selected materials and process profiles must be enabled. Preparation and geometry review do not imply manufacturing availability."}],"workholding":{"prepare":{"method":"POST","path":"/api/agent/v1/workbenches/workholding/prepare","inputSchema":{"type":"object","additionalProperties":false,"properties":{"parameters":{"type":"object","additionalProperties":false,"properties":{"fixtureType":{"type":"string","enum":["nest","clamped","soft-jaws"]},"jawMount":{"type":"string","enum":["kurt-dx6","custom"]},"jawLength":{"type":"number","minimum":50,"maximum":300},"jawHeight":{"type":"number","minimum":30,"maximum":100},"jawThickness":{"type":"number","minimum":15,"maximum":100},"jawGrip":{"type":"number","minimum":2,"maximum":60},"jawGap":{"type":"number","minimum":0.5,"maximum":30},"jawHoleSpacing":{"type":"number","minimum":20,"maximum":250},"jawHoleHeight":{"type":"number","minimum":10,"maximum":80},"jawBore":{"type":"number","minimum":3,"maximum":20},"jawCounterbore":{"type":"number","minimum":5,"maximum":32},"jawRecess":{"type":"number","minimum":2,"maximum":35},"clampWidth":{"type":"number","minimum":14,"maximum":40},"clampThickness":{"type":"number","minimum":6,"maximum":16},"clampOverlap":{"type":"number","minimum":3,"maximum":15},"clampBoltOffset":{"type":"number","minimum":10,"maximum":28},"clampY":{"type":"number","minimum":-140,"maximum":140},"shape":{"type":"string","enum":["bracket","rectangle","round","custom"]},"partLength":{"type":"number","minimum":8,"maximum":280},"partWidth":{"type":"number","minimum":8,"maximum":280},"partHeight":{"type":"number","minimum":3,"maximum":150},"stockLength":{"type":"number","minimum":25,"maximum":300},"stockWidth":{"type":"number","minimum":25,"maximum":320},"floor":{"type":"number","minimum":1,"maximum":40},"depth":{"type":"number","minimum":1,"maximum":80},"clearance":{"type":"number","minimum":0.05,"maximum":2},"rotation":{"type":"number","minimum":-180,"maximum":180},"offsetX":{"type":"number","minimum":-160,"maximum":160},"offsetY":{"type":"number","minimum":-160,"maximum":160},"preset":{"type":"string","enum":["custom","smw-m6","smw-half","kurt"]},"materialId":{"type":"string","minLength":1,"maxLength":80},"fulfillmentMethod":{"type":"string","enum":["shipping","pickup","courier"]},"productionSpeed":{"type":"string","enum":["standard","rush"]},"holes":{"type":"array","maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["x","y","diameter","counterbore","recess"],"properties":{"x":{"type":"number","minimum":-160,"maximum":160},"y":{"type":"number","minimum":-160,"maximum":160},"diameter":{"type":"number","minimum":3,"maximum":20},"counterbore":{"type":"number","minimum":5,"maximum":30},"recess":{"type":"number","minimum":1,"maximum":116}}}},"outline":{"type":"array","maxItems":256,"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"number","minimum":-320,"maximum":320}}}}},"quantity":{"type":"integer","minimum":1,"maximum":150},"stlBase64":{"type":"string","minLength":4,"maxLength":6990508,"description":"Base64 encoded STL, at most 5 MiB decoded. One closed straight extrusion on XY, without internal holes or undercuts. The raw STL is not stored in the draft or review URL."},"stlUnits":{"type":"string","enum":["mm","in"],"description":"Units of the supplied STL coordinates; defaults to mm."}}},"requiredHeaders":["Authorization"]},"quote":{"method":"POST","path":"/api/agent/v1/workbenches/workholding/quote","inputSchema":{"type":"object","additionalProperties":false,"required":["configuration","reviewedRevision","reviewConfirmed"],"properties":{"configuration":{"type":"object","additionalProperties":false,"properties":{"fixtureType":{"type":"string","enum":["nest","clamped","soft-jaws"]},"jawMount":{"type":"string","enum":["kurt-dx6","custom"]},"jawLength":{"type":"number","minimum":50,"maximum":300},"jawHeight":{"type":"number","minimum":30,"maximum":100},"jawThickness":{"type":"number","minimum":15,"maximum":100},"jawGrip":{"type":"number","minimum":2,"maximum":60},"jawGap":{"type":"number","minimum":0.5,"maximum":30},"jawHoleSpacing":{"type":"number","minimum":20,"maximum":250},"jawHoleHeight":{"type":"number","minimum":10,"maximum":80},"jawBore":{"type":"number","minimum":3,"maximum":20},"jawCounterbore":{"type":"number","minimum":5,"maximum":32},"jawRecess":{"type":"number","minimum":2,"maximum":35},"clampWidth":{"type":"number","minimum":14,"maximum":40},"clampThickness":{"type":"number","minimum":6,"maximum":16},"clampOverlap":{"type":"number","minimum":3,"maximum":15},"clampBoltOffset":{"type":"number","minimum":10,"maximum":28},"clampY":{"type":"number","minimum":-140,"maximum":140},"shape":{"type":"string","enum":["bracket","rectangle","round","custom"]},"partLength":{"type":"number","minimum":8,"maximum":280},"partWidth":{"type":"number","minimum":8,"maximum":280},"partHeight":{"type":"number","minimum":3,"maximum":150},"stockLength":{"type":"number","minimum":25,"maximum":300},"stockWidth":{"type":"number","minimum":25,"maximum":320},"floor":{"type":"number","minimum":1,"maximum":40},"depth":{"type":"number","minimum":1,"maximum":80},"clearance":{"type":"number","minimum":0.05,"maximum":2},"rotation":{"type":"number","minimum":-180,"maximum":180},"offsetX":{"type":"number","minimum":-160,"maximum":160},"offsetY":{"type":"number","minimum":-160,"maximum":160},"preset":{"type":"string","enum":["custom","smw-m6","smw-half","kurt"]},"materialId":{"type":"string","minLength":1,"maxLength":80},"quantity":{"type":"integer","minimum":1,"maximum":150},"fulfillmentMethod":{"type":"string","enum":["shipping","pickup","courier"]},"productionSpeed":{"type":"string","enum":["standard","rush"]},"holes":{"type":"array","maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["x","y","diameter","counterbore","recess"],"properties":{"x":{"type":"number","minimum":-160,"maximum":160},"y":{"type":"number","minimum":-160,"maximum":160},"diameter":{"type":"number","minimum":3,"maximum":20},"counterbore":{"type":"number","minimum":5,"maximum":30},"recess":{"type":"number","minimum":1,"maximum":116}}}},"outline":{"type":"array","maxItems":256,"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"number","minimum":-320,"maximum":320}}}},"required":["fixtureType","jawMount","jawLength","jawHeight","jawThickness","jawGrip","jawGap","jawHoleSpacing","jawHoleHeight","jawBore","jawCounterbore","jawRecess","clampWidth","clampThickness","clampOverlap","clampBoltOffset","clampY","shape","partLength","partWidth","partHeight","stockLength","stockWidth","floor","depth","clearance","rotation","offsetX","offsetY","preset","materialId","quantity","fulfillmentMethod","productionSpeed","holes","outline"]},"reviewedRevision":{"type":"string","pattern":"^[a-f0-9]{64}$"},"reviewConfirmed":{"type":"boolean","const":true,"description":"The complete current configuration, mounting pattern and setup notes were reviewed. Geometry checks do not certify clamping strength or the machining setup."}}},"requiredHeaders":["Authorization","Idempotency-Key"]}},"gripper":{"prepare":{"method":"POST","path":"/api/agent/v1/workbenches/gripper/prepare","inputSchema":{"type":"object","additionalProperties":false,"properties":{"configuration":{"type":"object","additionalProperties":false,"required":[],"properties":{"preview_gap":{"type":"number","minimum":10,"maximum":70,"description":"Opening"},"pad_width":{"type":"number","minimum":50,"maximum":110,"description":"Pad width"},"pad_height":{"type":"number","minimum":16,"maximum":40,"description":"Pad height"},"gyroid_depth":{"type":"number","minimum":2,"maximum":8,"description":"Gyroid layer"},"lattice_depth":{"type":"number","minimum":8,"maximum":20,"description":"Rib layer"},"grip_depth":{"type":"number","minimum":4,"maximum":10,"description":"Contact depth"},"gyroid_period":{"type":"number","minimum":4,"maximum":12,"description":"Cell size"},"gyroid_level":{"type":"number","minimum":0.35,"maximum":0.8,"description":"Sheet level"},"gyroid_resolution":{"type":"number","minimum":0.4,"maximum":0.8,"description":"Export spacing"},"wave_count":{"type":"integer","minimum":3,"maximum":6,"description":"Contact waves"},"face_skin":{"type":"number","minimum":1.2,"maximum":2.4,"description":"Contact wall"},"spine_depth":{"type":"number","minimum":4,"maximum":6,"description":"Retention spine"},"rib_count":{"type":"integer","minimum":5,"maximum":11,"description":"Rib count"},"rib_thickness":{"type":"number","minimum":1,"maximum":2,"description":"Rib wall"},"rib_bow":{"type":"number","minimum":0.8,"maximum":2.4,"description":"Rib bow limit"},"root_fillet":{"type":"number","minimum":0.3,"maximum":0.8,"description":"Root allowance"},"fit_clearance":{"type":"number","minimum":0.15,"maximum":0.6,"description":"Sliding fit"},"backer_thickness":{"type":"number","minimum":6,"maximum":10,"description":"Carrier thickness"},"rail_neck":{"type":"number","minimum":2.4,"maximum":4,"description":"Rail neck"},"rail_head":{"type":"number","minimum":5,"maximum":8,"description":"Rail head"},"rail_depth":{"type":"number","minimum":1.8,"maximum":3.4,"description":"Rail depth limit"},"bottom_stop":{"type":"number","minimum":1.5,"maximum":3,"description":"Lower seat"},"vertical_clearance":{"type":"number","minimum":0.1,"maximum":0.5,"description":"Vertical fit"},"keeper_thickness":{"type":"number","minimum":2,"maximum":4,"description":"Keeper thickness"},"retaining_bolt_diameter":{"type":"number","minimum":2.5,"maximum":4,"description":"Retaining bolt bore"},"mount_access_clearance":{"type":"number","minimum":0.3,"maximum":0.8,"description":"Driver clearance"},"mount_spacing":{"type":"number","minimum":20,"maximum":80,"description":"Mounting centers"},"mount_hole_diameter":{"type":"number","minimum":3,"maximum":5.5,"description":"Mounting bore"},"mount_slot_extra":{"type":"number","minimum":0,"maximum":8,"description":"Slot adjustment"},"mount_head_diameter":{"type":"number","minimum":6,"maximum":10,"description":"Mounting head"},"mounting_slots":{"type":"boolean"},"quantity":{"type":"integer","minimum":1,"maximum":75,"description":"Complete kits; each kit has two pads, two carriers and two keepers."},"padMaterialId":{"type":"string","enum":["black_tpu_85a","black_tpu_95a"]},"rigidMaterialId":{"type":"string","enum":["black_pla","red_pla","silver_pla","matte_black_pla","orange_petg","white_petg","black_petg","black_asa","black_ppa_cf"]},"productionSpeed":{"type":"string","enum":["standard","rush"]},"fulfillmentMethod":{"type":"string","enum":["shipping","pickup","courier"]}},"description":"Partial jaw configuration. Omitted fields use the Gripper Lab defaults. Lengths are millimetres."}}},"requiredHeaders":["Authorization"]},"quote":{"method":"POST","path":"/api/agent/v1/workbenches/gripper/quote","inputSchema":{"type":"object","additionalProperties":false,"required":["configuration","reviewedRevision","reviewConfirmed"],"properties":{"configuration":{"type":"object","additionalProperties":false,"required":["preview_gap","pad_width","pad_height","gyroid_depth","lattice_depth","grip_depth","gyroid_period","gyroid_level","gyroid_resolution","wave_count","face_skin","spine_depth","rib_count","rib_thickness","rib_bow","root_fillet","fit_clearance","backer_thickness","rail_neck","rail_head","rail_depth","bottom_stop","vertical_clearance","keeper_thickness","retaining_bolt_diameter","mount_access_clearance","mount_spacing","mount_hole_diameter","mount_slot_extra","mount_head_diameter","mounting_slots","quantity","padMaterialId","rigidMaterialId","productionSpeed","fulfillmentMethod"],"properties":{"preview_gap":{"type":"number","minimum":10,"maximum":70,"description":"Opening"},"pad_width":{"type":"number","minimum":50,"maximum":110,"description":"Pad width"},"pad_height":{"type":"number","minimum":16,"maximum":40,"description":"Pad height"},"gyroid_depth":{"type":"number","minimum":2,"maximum":8,"description":"Gyroid layer"},"lattice_depth":{"type":"number","minimum":8,"maximum":20,"description":"Rib layer"},"grip_depth":{"type":"number","minimum":4,"maximum":10,"description":"Contact depth"},"gyroid_period":{"type":"number","minimum":4,"maximum":12,"description":"Cell size"},"gyroid_level":{"type":"number","minimum":0.35,"maximum":0.8,"description":"Sheet level"},"gyroid_resolution":{"type":"number","minimum":0.4,"maximum":0.8,"description":"Export spacing"},"wave_count":{"type":"integer","minimum":3,"maximum":6,"description":"Contact waves"},"face_skin":{"type":"number","minimum":1.2,"maximum":2.4,"description":"Contact wall"},"spine_depth":{"type":"number","minimum":4,"maximum":6,"description":"Retention spine"},"rib_count":{"type":"integer","minimum":5,"maximum":11,"description":"Rib count"},"rib_thickness":{"type":"number","minimum":1,"maximum":2,"description":"Rib wall"},"rib_bow":{"type":"number","minimum":0.8,"maximum":2.4,"description":"Rib bow limit"},"root_fillet":{"type":"number","minimum":0.3,"maximum":0.8,"description":"Root allowance"},"fit_clearance":{"type":"number","minimum":0.15,"maximum":0.6,"description":"Sliding fit"},"backer_thickness":{"type":"number","minimum":6,"maximum":10,"description":"Carrier thickness"},"rail_neck":{"type":"number","minimum":2.4,"maximum":4,"description":"Rail neck"},"rail_head":{"type":"number","minimum":5,"maximum":8,"description":"Rail head"},"rail_depth":{"type":"number","minimum":1.8,"maximum":3.4,"description":"Rail depth limit"},"bottom_stop":{"type":"number","minimum":1.5,"maximum":3,"description":"Lower seat"},"vertical_clearance":{"type":"number","minimum":0.1,"maximum":0.5,"description":"Vertical fit"},"keeper_thickness":{"type":"number","minimum":2,"maximum":4,"description":"Keeper thickness"},"retaining_bolt_diameter":{"type":"number","minimum":2.5,"maximum":4,"description":"Retaining bolt bore"},"mount_access_clearance":{"type":"number","minimum":0.3,"maximum":0.8,"description":"Driver clearance"},"mount_spacing":{"type":"number","minimum":20,"maximum":80,"description":"Mounting centers"},"mount_hole_diameter":{"type":"number","minimum":3,"maximum":5.5,"description":"Mounting bore"},"mount_slot_extra":{"type":"number","minimum":0,"maximum":8,"description":"Slot adjustment"},"mount_head_diameter":{"type":"number","minimum":6,"maximum":10,"description":"Mounting head"},"mounting_slots":{"type":"boolean"},"quantity":{"type":"integer","minimum":1,"maximum":75,"description":"Complete kits; each kit has two pads, two carriers and two keepers."},"padMaterialId":{"type":"string","enum":["black_tpu_85a","black_tpu_95a"]},"rigidMaterialId":{"type":"string","enum":["black_pla","red_pla","silver_pla","matte_black_pla","orange_petg","white_petg","black_petg","black_asa","black_ppa_cf"]},"productionSpeed":{"type":"string","enum":["standard","rush"]},"fulfillmentMethod":{"type":"string","enum":["shipping","pickup","courier"]}}},"reviewedRevision":{"type":"string","pattern":"^[0-9a-f]{64}$"},"reviewConfirmed":{"type":"boolean","const":true}}},"requiredHeaders":["Authorization","Idempotency-Key"]}},"stamping":{"prepare":{"method":"POST","path":"/api/agent/v1/workbenches/stamping/prepare","inputSchema":{"type":"object","additionalProperties":false,"properties":{"parameters":{"type":"object","additionalProperties":false,"properties":{"pattern":{"type":"string","enum":["ring","letter","rib","artwork"]},"width":{"type":"number","minimum":30,"maximum":100},"height":{"type":"number","minimum":25,"maximum":80},"operation":{"type":"string","enum":["emboss","deboss"]},"artwork":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"properties":{"width":{"type":"integer","minimum":8,"maximum":192},"height":{"type":"integer","minimum":8,"maximum":192},"mask":{"type":"string","minLength":64,"maxLength":36864,"pattern":"^[01]+$","description":"Row-major binary artwork mask. Its length must equal width × height. Use the browser to convert text or SVG artwork."},"name":{"type":"string","maxLength":80},"text":{"type":"string","maxLength":32}},"required":["width","height","mask"]}]},"guided":{"type":"boolean"},"depth":{"type":"number","minimum":0.2,"maximum":2.4},"thickness":{"type":"number","minimum":0.1,"maximum":0.8},"blend":{"type":"number","minimum":1,"maximum":4.5},"clearance":{"type":"number","minimum":0.05,"maximum":0.4},"backing":{"type":"number","const":5,"description":"Approved stamping-process backing thickness in millimeters."}},"required":[]},"sheet":{"type":"object","additionalProperties":false,"properties":{"material":{"type":"string","enum":["steel","aluminum","copper"]},"E":{"type":"number","minimum":10000,"maximum":250000},"nu":{"type":"number","minimum":0.2,"maximum":0.45},"yield":{"type":"number","minimum":10,"maximum":1500},"tangent":{"type":"number","minimum":0,"maximum":10000},"friction":{"type":"number","minimum":0,"maximum":0.5},"quality":{"type":"string","enum":["quick","fine"]},"cycle":{"type":"string","enum":["press","full"]}},"required":[]},"quantity":{"type":"integer","minimum":1,"maximum":150,"description":"Number of matched lower/upper die pairs."},"materialId":{"type":"string","enum":["black_pla"]},"fulfillmentMethod":{"type":"string","enum":["shipping","pickup","courier"]},"productionSpeed":{"type":"string","enum":["standard","rush"]}},"required":[]},"requiredHeaders":["Authorization"]},"quote":{"method":"POST","path":"/api/agent/v1/workbenches/stamping/quote","inputSchema":{"type":"object","additionalProperties":false,"properties":{"configuration":{"type":"object","additionalProperties":false,"properties":{"parameters":{"type":"object","additionalProperties":false,"properties":{"pattern":{"type":"string","enum":["ring","letter","rib","artwork"]},"width":{"type":"number","minimum":30,"maximum":100},"height":{"type":"number","minimum":25,"maximum":80},"operation":{"type":"string","enum":["emboss","deboss"]},"artwork":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"properties":{"width":{"type":"integer","minimum":8,"maximum":192},"height":{"type":"integer","minimum":8,"maximum":192},"mask":{"type":"string","minLength":64,"maxLength":36864,"pattern":"^[01]+$","description":"Row-major binary artwork mask. Its length must equal width × height. Use the browser to convert text or SVG artwork."},"name":{"type":"string","maxLength":80},"text":{"type":"string","maxLength":32}},"required":["width","height","mask"]}]},"guided":{"type":"boolean"},"depth":{"type":"number","minimum":0.2,"maximum":2.4},"thickness":{"type":"number","minimum":0.1,"maximum":0.8},"blend":{"type":"number","minimum":1,"maximum":4.5},"clearance":{"type":"number","minimum":0.05,"maximum":0.4},"backing":{"type":"number","const":5,"description":"Approved stamping-process backing thickness in millimeters."}},"required":["pattern","width","height","operation","artwork","guided","depth","thickness","blend","clearance","backing"]},"sheet":{"type":"object","additionalProperties":false,"properties":{"material":{"type":"string","enum":["steel","aluminum","copper"]},"E":{"type":"number","minimum":10000,"maximum":250000},"nu":{"type":"number","minimum":0.2,"maximum":0.45},"yield":{"type":"number","minimum":10,"maximum":1500},"tangent":{"type":"number","minimum":0,"maximum":10000},"friction":{"type":"number","minimum":0,"maximum":0.5},"quality":{"type":"string","enum":["quick","fine"]},"cycle":{"type":"string","enum":["press","full"]}},"required":["material","E","nu","yield","tangent","friction","quality","cycle"]},"quantity":{"type":"integer","minimum":1,"maximum":150,"description":"Number of matched lower/upper die pairs."},"materialId":{"type":"string","enum":["black_pla"]},"fulfillmentMethod":{"type":"string","enum":["shipping","pickup","courier"]},"productionSpeed":{"type":"string","enum":["standard","rush"]}},"required":["parameters","sheet","quantity","materialId","fulfillmentMethod","productionSpeed"]},"reviewedRevision":{"type":"string","minLength":64,"maxLength":64,"pattern":"^[a-f0-9]{64}$"},"reviewConfirmed":{"type":"boolean","const":true,"description":"The customer reviewed this exact die pair, sheet assumptions, quantity and prototype limitations. This does not authorize checkout or certify a pressing process."}},"required":["configuration","reviewedRevision","reviewConfirmed"]},"requiredHeaders":["Authorization","Idempotency-Key"]}},"enclosure":{"prepare":{"method":"POST","path":"/api/agent/v1/workbenches/enclosure/prepare","inputSchema":{"type":"object","additionalProperties":false,"properties":{"kicadPcb":{"type":"string","minLength":1,"maxLength":10485760,"description":"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":{"type":"object","additionalProperties":false,"properties":{"activeTemplate":{"const":"enclosure","type":"string"},"lengthMm":{"type":"number","minimum":40,"maximum":260},"widthMm":{"type":"number","minimum":30,"maximum":220},"heightMm":{"type":"number","minimum":12,"maximum":160},"wallMm":{"type":"number","minimum":1.6,"maximum":8},"basePlateThicknessMm":{"type":"number","minimum":2,"maximum":8},"lidThicknessMm":{"type":"number","minimum":3,"maximum":8},"cornerRadiusMm":{"type":"number","minimum":0,"maximum":18},"holeDiameterMm":{"type":"number","minimum":1,"maximum":12},"riserHeightMm":{"type":"number","minimum":0,"maximum":150},"standoffCount":{"type":"integer","minimum":0,"maximum":32},"portCount":{"type":"integer","minimum":0,"maximum":12},"ioCutouts":{"type":"array","maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["shape","wall","offsetMm","verticalOffsetMm","widthMm","heightMm","diameterMm"],"properties":{"shape":{"type":"string","enum":["rectangle","circle"]},"wall":{"type":"string","enum":["front","back","left","right"]},"offsetMm":{"type":"number","minimum":-130,"maximum":130},"verticalOffsetMm":{"type":"number","minimum":-80,"maximum":80},"widthMm":{"type":"number","minimum":2,"maximum":260},"heightMm":{"type":"number","minimum":2,"maximum":160},"diameterMm":{"type":"number","minimum":2,"maximum":160}}}},"wallPattern":{"type":"string","enum":["none","diagonal_vents","voronoi"]},"diagonalVentAngleDeg":{"type":"number","minimum":10,"maximum":45},"diagonalVentLengthMm":{"type":"number","minimum":8,"maximum":44},"diagonalVentWidthMm":{"type":"number","minimum":1,"maximum":10},"diagonalVentSpacingMm":{"type":"number","minimum":1,"maximum":20},"voronoiWallEnabled":{"type":"boolean"},"voronoiWallTarget":{"type":"string","enum":["all"]},"voronoiMaxOverhangDeg":{"type":"number","const":45},"voronoiCellSizeMm":{"type":"number","minimum":6,"maximum":22},"voronoiWebMm":{"type":"number","minimum":1,"maximum":5},"voronoiSeed":{"type":"integer","minimum":1,"maximum":30},"includePcb":{"type":"boolean"},"driveEnclosureFromPcb":{"type":"boolean"},"pcbLengthMm":{"type":"number","minimum":20,"maximum":240},"pcbWidthMm":{"type":"number","minimum":20,"maximum":200},"pcbThicknessMm":{"type":"number","minimum":0.1,"maximum":10},"pcbHoleSpacingX":{"type":"number","minimum":10,"maximum":240},"pcbHoleSpacingY":{"type":"number","minimum":10,"maximum":200},"pcbWallClearanceMm":{"type":"number","minimum":0,"maximum":24},"pcbMountingHoles":{"type":["array","null"],"maxItems":32,"items":{"type":"object","additionalProperties":false,"required":["x","y","diameterMm"],"properties":{"x":{"type":"number","minimum":-120,"maximum":120},"y":{"type":"number","minimum":-100,"maximum":100},"diameterMm":{"type":"number","minimum":0.1,"maximum":12}}}},"includeLid":{"type":"boolean","const":true},"includeLidLip":{"type":"boolean"},"fastenerMode":{"type":"string","enum":["none","heat_set"]},"lidScrewHolesEnabled":{"type":"boolean"},"lidScrewPlacement":{"type":"string","enum":["external"]},"lidScrewSize":{"type":"string","enum":["m2","m3"]},"pcbScrewSize":{"type":"string","enum":["m2","m3"]},"lidLipDepthMm":{"type":"number","minimum":0,"maximum":150},"lidFitClearanceMm":{"type":"number","const":0.08},"ventEnabled":{"type":"boolean"},"ventPattern":{"type":"string","enum":["slots"]},"ventSlotCount":{"type":"integer","minimum":0,"maximum":100},"ventSlotLengthMm":{"type":"number","minimum":0,"maximum":260},"ventSlotWidthMm":{"type":"number","minimum":1,"maximum":24},"ventSlotSpacingMm":{"type":"number","minimum":1,"maximum":32},"ventSlotRotationDeg":{"type":"number","minimum":-180,"maximum":180},"materialId":{"type":"string","minLength":1,"maxLength":80}}},"quantity":{"type":"integer","minimum":1,"maximum":150}}},"requiredHeaders":["Authorization"]},"quote":{"method":"POST","path":"/api/agent/v1/workbenches/enclosure/quote","inputSchema":{"type":"object","additionalProperties":false,"required":["parameters","quantity","reviewedRevision","reviewConfirmed"],"properties":{"parameters":{"type":"object","additionalProperties":false,"properties":{"activeTemplate":{"const":"enclosure","type":"string"},"lengthMm":{"type":"number","minimum":40,"maximum":260},"widthMm":{"type":"number","minimum":30,"maximum":220},"heightMm":{"type":"number","minimum":12,"maximum":160},"wallMm":{"type":"number","minimum":1.6,"maximum":8},"basePlateThicknessMm":{"type":"number","minimum":2,"maximum":8},"lidThicknessMm":{"type":"number","minimum":3,"maximum":8},"cornerRadiusMm":{"type":"number","minimum":0,"maximum":18},"holeDiameterMm":{"type":"number","minimum":1,"maximum":12},"riserHeightMm":{"type":"number","minimum":0,"maximum":150},"standoffCount":{"type":"integer","minimum":0,"maximum":32},"portCount":{"type":"integer","minimum":0,"maximum":12},"ioCutouts":{"type":"array","maxItems":12,"items":{"type":"object","additionalProperties":false,"required":["shape","wall","offsetMm","verticalOffsetMm","widthMm","heightMm","diameterMm"],"properties":{"shape":{"type":"string","enum":["rectangle","circle"]},"wall":{"type":"string","enum":["front","back","left","right"]},"offsetMm":{"type":"number","minimum":-130,"maximum":130},"verticalOffsetMm":{"type":"number","minimum":-80,"maximum":80},"widthMm":{"type":"number","minimum":2,"maximum":260},"heightMm":{"type":"number","minimum":2,"maximum":160},"diameterMm":{"type":"number","minimum":2,"maximum":160}}}},"wallPattern":{"type":"string","enum":["none","diagonal_vents","voronoi"]},"diagonalVentAngleDeg":{"type":"number","minimum":10,"maximum":45},"diagonalVentLengthMm":{"type":"number","minimum":8,"maximum":44},"diagonalVentWidthMm":{"type":"number","minimum":1,"maximum":10},"diagonalVentSpacingMm":{"type":"number","minimum":1,"maximum":20},"voronoiWallEnabled":{"type":"boolean"},"voronoiWallTarget":{"type":"string","enum":["all"]},"voronoiMaxOverhangDeg":{"type":"number","const":45},"voronoiCellSizeMm":{"type":"number","minimum":6,"maximum":22},"voronoiWebMm":{"type":"number","minimum":1,"maximum":5},"voronoiSeed":{"type":"integer","minimum":1,"maximum":30},"includePcb":{"type":"boolean"},"driveEnclosureFromPcb":{"type":"boolean"},"pcbLengthMm":{"type":"number","minimum":20,"maximum":240},"pcbWidthMm":{"type":"number","minimum":20,"maximum":200},"pcbThicknessMm":{"type":"number","minimum":0.1,"maximum":10},"pcbHoleSpacingX":{"type":"number","minimum":10,"maximum":240},"pcbHoleSpacingY":{"type":"number","minimum":10,"maximum":200},"pcbWallClearanceMm":{"type":"number","minimum":0,"maximum":24},"pcbMountingHoles":{"type":["array","null"],"maxItems":32,"items":{"type":"object","additionalProperties":false,"required":["x","y","diameterMm"],"properties":{"x":{"type":"number","minimum":-120,"maximum":120},"y":{"type":"number","minimum":-100,"maximum":100},"diameterMm":{"type":"number","minimum":0.1,"maximum":12}}}},"includeLid":{"type":"boolean","const":true},"includeLidLip":{"type":"boolean"},"fastenerMode":{"type":"string","enum":["none","heat_set"]},"lidScrewHolesEnabled":{"type":"boolean"},"lidScrewPlacement":{"type":"string","enum":["external"]},"lidScrewSize":{"type":"string","enum":["m2","m3"]},"pcbScrewSize":{"type":"string","enum":["m2","m3"]},"lidLipDepthMm":{"type":"number","minimum":0,"maximum":150},"lidFitClearanceMm":{"type":"number","const":0.08},"ventEnabled":{"type":"boolean"},"ventPattern":{"type":"string","enum":["slots"]},"ventSlotCount":{"type":"integer","minimum":0,"maximum":100},"ventSlotLengthMm":{"type":"number","minimum":0,"maximum":260},"ventSlotWidthMm":{"type":"number","minimum":1,"maximum":24},"ventSlotSpacingMm":{"type":"number","minimum":1,"maximum":32},"ventSlotRotationDeg":{"type":"number","minimum":-180,"maximum":180},"materialId":{"type":"string","minLength":1,"maxLength":80}}},"quantity":{"type":"integer","minimum":1,"maximum":150},"reviewedRevision":{"type":"string","minLength":64,"maxLength":64},"reviewConfirmed":{"type":"boolean","const":true,"description":"True only after the customer reviews this exact draft, mounting, openings, component and plug clearances. Does not authorize checkout."}}},"requiredHeaders":["Authorization","Idempotency-Key"]}},"authentication":"Use printing.sessions.start and its Bearer token for prepare and quote. Preparing does not consume a quote; each complete workbench set consumes one allowance. Quotes require enabled materials and process profiles. Check each workbench's available flag before use."}