{"api":"v1","generated_at":"2026-09-15T18:51:47.837Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/pcb-api-williamrobinson-dev-v1-pcb-fabricate-8fb262","pinned_page":"https://tollindex.com/e/pcb-api-williamrobinson-dev-v1-pcb-fabricate-8fb262/at/2026-09-15T16-57Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-09-15T16:57:44.360Z","snapshot_stamp":"2026-09-15T16-57Z","endpoint":{"slug":"pcb-api-williamrobinson-dev-v1-pcb-fabricate-8fb262","canonical_url":"https://pcb.api.williamrobinson.dev/v1/pcb/fabricate","resource":"https://pcb.api.williamrobinson.dev/v1/pcb/fabricate","http_method":"POST","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Apply structural edits (move/rotate footprints, resize a net's track width, add a mounting hole, edit a field, swap a footprint) to a KiCad 8/9 project, run electrical and design-rule checks under a named fabrication profile, and return a scoped pass/fail report plus downloadable Gerber X2/Excellon, BOM, position file, PDF, and preview artifacts. Claims are scoped: ERC/DRC clean under the listed profile rules, never \"DFM approved\"; footprint swaps are checked structurally, never electrically.","service_name":"PCB Fabrication Engineer","declared_category":null,"declared_tags":["pcb","kicad","electronics","gerber","fabrication"],"route_template":null,"registry_updated":"2026-09-11T03:26:54.825Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"pcb fabricate","category":"market-data","first_observed_by_toll":"2026-09-11T08:47:35.342Z","last_observed_by_toll":"2026-09-15T16:57:44.360Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-11T08:47:35.343Z","event":"listed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.25 USDC","amount_units":0.25,"decimals_known":true,"pay_to":"0x26026370fe8b2bb17af9092a17691c76519366da","scheme":"exact"}],"counters":{"observed_at":"2026-09-15T16:57:44.360Z","calls_30d":1,"unique_payers_30d":1,"last_called_at":"2026-09-11T03:26:54.185Z"},"validation":{"latest":{"observed_at":"2026-09-15T05:50:49.412Z","state":"pass","failed_checks":[],"endpoint_http_status":402,"run_id":"daily-2026-09-15"},"uptime":[{"days":7,"observed":5,"passed":5,"ratio":1},{"days":30,"observed":5,"passed":5,"ratio":1},{"days":90,"observed":5,"passed":5,"ratio":1}],"history_90d":[{"observed_at":"2026-09-15T05:50:49.412Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-15","state_changed":false},{"observed_at":"2026-09-14T05:23:07.981Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-14","state_changed":false},{"observed_at":"2026-09-13T05:18:27.679Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-13","state_changed":false},{"observed_at":"2026-09-12T07:34:49.655Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-12","state_changed":false},{"observed_at":"2026-09-11T11:22:19.861Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-11","state_changed":true}]},"seller":{"wallet":"0x26026370fe8b2bb17af9092a17691c76519366da","page":"https://tollindex.com/seller/0x26026370fe8b2bb17af9092a17691c76519366da","endpoints":12,"hosts":12},"reports":0,"registry_record":{"cdp":[{"tags":["pcb","kicad","electronics","gerber","fabrication"],"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","amount":"250000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":300}],"quality":{"lastCalledAt":"2026-09-11T03:26:54.185Z","l30DaysTotalCalls":1,"l30DaysUniquePayers":1},"resource":"https://pcb.api.williamrobinson.dev/v1/pcb/fabricate","extensions":{"bazaar":{"info":{"input":{"body":{"edits":[{"net":"Net-R1_Pad2-LED1_Pad1","kind":"set_track_width","widthMm":0.35},{"x":2,"y":2,"kind":"add_mounting_hole","drillMm":3.2},{"kind":"set_field","field":"Value","value":"1K","reference":"R1"}],"options":{"requireDrcClean":true,"requireErcClean":true,"schematicParity":false},"profile":"2-layer-standard","project":"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"},"type":"http","method":"POST","bodyType":"json"},"output":{"type":"json","example":{"drc":{"errors":0,"parity":0,"warnings":0,"violations":[],"unconnected":0},"erc":{"errors":0,"warnings":0,"violations":[]},"board":{"name":"pcb_example","nets":4,"pads":6,"vias":1,"zones":0,"sizeMm":{"width":20.1,"height":15.1},"tracks":3,"libraries":[{"kind":"footprint","name":"Resistor_SMD","source":"kicad","resolved":true},{"kind":"footprint","name":"LED_SMD","source":"kicad","resolved":true},{"kind":"footprint","name":"Connector_PinHeader_2.54mm","source":"kicad","resolved":true},{"kind":"footprint","name":"MountingHole","source":"kicad","resolved":true},{"kind":"symbol","name":"Device","source":"kicad","resolved":true},{"kind":"symbol","name":"Connector_Generic","source":"kicad","resolved":true}],"footprints":3,"copperLayers":2},"edits":[{"edit":{"net":"Net-R1_Pad2-LED1_Pad1","kind":"set_track_width","widthMm":0.35},"after":{"widthMm":0.35,"trackCount":1},"before":{"widthsMm":"0.3","trackCount":1},"detail":"set 1 track segment(s) on net 'Net-R1_Pad2-LED1_Pad1' to 0.35 mm","status":"applied"},{"edit":{"x":2,"y":2,"kind":"add_mounting_hole","drillMm":3.2},"after":{"x":2,"y":2,"drillMm":3.2,"reference":"H1","requestedDrillMm":3.2},"detail":"added mounting hole 'H1' (3.2 mm drill, closest to the requested 3.2 mm) at (2, 2) mm","status":"applied"},{"edit":{"kind":"set_field","field":"Value","value":"1K","reference":"R1"},"after":{"value":"1K","schematicUpdated":true},"before":{"value":"330"},"detail":"set Value on R1 to '1K'","status":"applied"}],"tools":{"kicad":"KiCad 9.0.2"},"checks":[{"code":"structure_valid","detail":"project contains exactly one .kicad_pro with matching .kicad_sch/.kicad_pcb","status":"passed"},{"code":"libraries_resolved","detail":"6/6 referenced libraries resolved","status":"passed"},{"code":"within_limits","detail":"3 footprints, 6 pads, 3 tracks, 2 copper layers","status":"passed"},{"code":"edits_applied","detail":"3/3 edits applied","status":"passed"},{"code":"erc_clean","detail":"0 error(s), 0 warning(s)","status":"passed"},{"code":"drc_clean","detail":"0 error(s), 0 warning(s) under profile 2-layer-standard","status":"passed"},{"code":"parity_clean","detail":"schematic parity was not requested","status":"not_checked"},{"code":"outline_present","detail":"board outline 20.1 x 15.1 mm","status":"passed"},{"code":"exports_generated","detail":"7/7 artifacts generated","status":"passed"}],"status":"passed","exports":[{"name":"gerbers.zip","detail":"Gerber X2 + Excellon drill, normalised for deterministic output","status":"generated"},{"name":"pos.csv","detail":"component position file","status":"generated"},{"name":"bom.csv","detail":"bill of materials","status":"generated"},{"name":"schematic.pdf","detail":"schematic document","status":"generated"},{"name":"board.pdf","detail":"board document","status":"generated"},{"name":"board-top.svg","detail":"top-side board preview","status":"generated"},{"name":"project.zip","detail":"edited project, deterministic archive","status":"generated"}],"profile":{"name":"2-layer-standard","rules":{"copperLayers":2,"minViaDrillMm":0.3,"minClearanceMm":0.15,"minSilkToPadMm":0.15,"minHoleToHoleMm":0.25,"minTrackWidthMm":0.15,"minAnnularRingMm":0.13,"minViaDiameterMm":0.45,"minCopperToEdgeMm":0.3}},"warnings":[],"artifacts":[{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/project.zip","name":"project.zip","sha256":"0cdbde3d00469410e7f4b3ad16697fd3b7a78f16cecdb9a1791bb4044e90659b","mediaType":"application/zip","sizeBytes":9899},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/gerbers.zip","name":"gerbers.zip","sha256":"014eac7a333c934570537967bbc9aec133f712db8dcf3b2a96eccb3ef11b6415","mediaType":"application/zip","sizeBytes":17438},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/bom.csv","name":"bom.csv","sha256":"ecb1d9f39c4d16a26325e2ff77539fe82193747b36252910bd8d6a0c70563858","mediaType":"text/csv; charset=utf-8","sizeBytes":225},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/pos.csv","name":"pos.csv","sha256":"d18d420534f21940552b197a9c7f15bf8253fa44e1cdc4f2c46906a9ce2d459f","mediaType":"text/csv; charset=utf-8","sizeBytes":250},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/schematic.pdf","name":"schematic.pdf","sha256":"91ddee5edcae2f616b08c7bbc3eff1266d82d5a77f9643e34f2982e6147bc814","mediaType":"application/pdf","sizeBytes":20762},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/board.pdf","name":"board.pdf","sha256":"2f99af206e0d3ab21865ad8f630bf8afd4dcb12d17fce92507823f4fd8256296","mediaType":"application/pdf","sizeBytes":16520},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/board-top.svg","name":"board-top.svg","sha256":"030acd64a19a194237156164998604d5acc3226795940a0a86d5571becb174c9","mediaType":"image/svg+xml","sizeBytes":53070},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/board-top.png","name":"board-top.png","sha256":"ad28c684d6527ac62cbd25c4228408e3b9763f471cbb2a06f2a46c58db93f82a","mediaType":"image/png","sizeBytes":48049},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","name":"report.json","sha256":"14b5b416d34b826e09509df76c3f170479cc4f5dbcb8b348c65f9e0e004d346f","mediaType":"application/json","sizeBytes":4543}],"expiresAt":"2026-09-11T09:47:12.000Z","truncated":false,"limitations":["swap_footprint pin-compatibility is structural only (pad numbers and pad count); it never verifies electrical pin function or footprint land-pattern fit.","ERC/DRC claims are scoped to the checks actually run under the stated profile and options; this is never a DFM (design-for-manufacture) approval.","PDF documents embed a generation timestamp and are not byte-reproducible across runs; every other artifact is.","No 3D/STEP model or courtyard-with-3D check is performed (kicad-packages3d is not installed).","Profile rule numbers reflect typical low-cost fabricator capabilities; confirm exact capabilities with the chosen fab before ordering.","The fabrication profile's .kicad_dru rule file takes precedence over the project's own netclass clearances during this run's DRC; the returned project.zip restores the project's original board-setup minimums.","The min_silk_to_pad rule is scoped to silkscreen-vs-pad clearance only; it does not check silk-vs-silk or silk-vs-mask spacing."]}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","$defs":{"edit":{"oneOf":[{"type":"object","required":["kind","reference","x","y"],"properties":{"x":{"type":"number","maximum":1000,"minimum":-1000,"description":"Millimetres in the board's coordinate system."},"y":{"type":"number","maximum":1000,"minimum":-1000,"description":"Millimetres in the board's coordinate system."},"kind":{"const":"move_footprint"},"rotation":{"type":"number","maximum":360,"minimum":-360,"description":"Degrees."},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false},{"type":"object","required":["kind","reference","rotation"],"properties":{"kind":{"const":"rotate_footprint"},"rotation":{"type":"number","maximum":360,"minimum":-360,"description":"Degrees."},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false},{"type":"object","required":["kind","net","widthMm"],"properties":{"net":{"type":"string","maxLength":256,"minLength":1,"description":"KiCad net name; every track on this net is resized."},"kind":{"const":"set_track_width"},"widthMm":{"type":"number","maximum":20,"minimum":0.01}},"additionalProperties":false},{"type":"object","required":["kind","x","y","drillMm"],"properties":{"x":{"type":"number","maximum":1000,"minimum":-1000,"description":"Millimetres in the board's coordinate system."},"y":{"type":"number","maximum":1000,"minimum":-1000,"description":"Millimetres in the board's coordinate system."},"kind":{"const":"add_mounting_hole"},"drillMm":{"type":"number","maximum":25,"minimum":0.01,"description":"Desired drill diameter; the worker snaps this to the closest of its fixed mounting-hole footprint set and reports which one it chose."},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false},{"type":"object","required":["kind","reference","field","value"],"properties":{"kind":{"const":"set_field"},"field":{"type":"string","maxLength":64,"minLength":1},"value":{"type":"string","maxLength":1024},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false},{"type":"object","required":["kind","reference","footprint"],"properties":{"kind":{"const":"swap_footprint"},"footprint":{"type":"string","pattern":"^[A-Za-z0-9_.-]{1,64}:[A-Za-z0-9_.+-]{1,80}$","description":"\"LibraryNickname:FootprintName\" from the shipped KiCad 9 footprint libraries or the project's own."},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","required":["project","edits","profile","options"],"properties":{"edits":{"type":"array","items":{"$ref":"#/properties/input/properties/body/$defs/edit"},"default":[],"maxItems":50},"options":{"type":"object","required":["requireErcClean","requireDrcClean","schematicParity"],"properties":{"requireDrcClean":{"type":"boolean","description":"Fail the report when DRC reports errors under the profile (warnings never fail)."},"requireErcClean":{"type":"boolean","description":"Fail the report when ERC reports errors (warnings never fail)."},"schematicParity":{"type":"boolean","description":"Include schematic/board parity in DRC."}},"additionalProperties":false},"profile":{"enum":["2-layer-standard","2-layer-fine","4-layer-standard"],"type":"string"},"project":{"type":"string","pattern":"^[A-Za-z0-9+/]*={0,2}$","maxLength":11184812,"minLength":4,"description":"Base64 .zip containing exactly one .kicad_pro with its .kicad_sch and .kicad_pcb (KiCad 8/9 formats), decoded size at most 8388608 bytes."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","$defs":{"edit":{"oneOf":[{"type":"object","required":["kind","reference","x","y"],"properties":{"x":{"type":"number","maximum":1000,"minimum":-1000,"description":"Millimetres in the board's coordinate system."},"y":{"type":"number","maximum":1000,"minimum":-1000,"description":"Millimetres in the board's coordinate system."},"kind":{"const":"move_footprint"},"rotation":{"type":"number","maximum":360,"minimum":-360,"description":"Degrees."},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false},{"type":"object","required":["kind","reference","rotation"],"properties":{"kind":{"const":"rotate_footprint"},"rotation":{"type":"number","maximum":360,"minimum":-360,"description":"Degrees."},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false},{"type":"object","required":["kind","net","widthMm"],"properties":{"net":{"type":"string","maxLength":256,"minLength":1,"description":"KiCad net name; every track on this net is resized."},"kind":{"const":"set_track_width"},"widthMm":{"type":"number","maximum":20,"minimum":0.01}},"additionalProperties":false},{"type":"object","required":["kind","x","y","drillMm"],"properties":{"x":{"type":"number","maximum":1000,"minimum":-1000,"description":"Millimetres in the board's coordinate system."},"y":{"type":"number","maximum":1000,"minimum":-1000,"description":"Millimetres in the board's coordinate system."},"kind":{"const":"add_mounting_hole"},"drillMm":{"type":"number","maximum":25,"minimum":0.01,"description":"Desired drill diameter; the worker snaps this to the closest of its fixed mounting-hole footprint set and reports which one it chose."},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false},{"type":"object","required":["kind","reference","field","value"],"properties":{"kind":{"const":"set_field"},"field":{"type":"string","maxLength":64,"minLength":1},"value":{"type":"string","maxLength":1024},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false},{"type":"object","required":["kind","reference","footprint"],"properties":{"kind":{"const":"swap_footprint"},"footprint":{"type":"string","pattern":"^[A-Za-z0-9_.-]{1,64}:[A-Za-z0-9_.+-]{1,80}$","description":"\"LibraryNickname:FootprintName\" from the shipped KiCad 9 footprint libraries or the project's own."},"reference":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","description":"KiCad reference designator, e.g. \"R1\"."}},"additionalProperties":false}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","required":["status","tools","profile","board","edits","erc","drc","exports","checks","warnings","limitations","truncated","expiresAt","artifacts"],"properties":{"drc":{"type":"object","required":["errors","warnings","unconnected","parity","violations"],"properties":{"errors":{"type":"integer","minimum":0},"parity":{"type":"integer","minimum":0},"warnings":{"type":"integer","minimum":0},"violations":{"type":"array","items":{"type":"object","required":["severity","type","description","items"],"properties":{"type":{"type":"string"},"items":{"type":"array","items":{"type":"string"}},"position":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}},"additionalProperties":false},"severity":{"enum":["error","warning"],"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"maxItems":100},"unconnected":{"type":"integer","minimum":0}},"additionalProperties":false},"erc":{"type":"object","required":["errors","warnings","violations"],"properties":{"errors":{"type":"integer","minimum":0},"warnings":{"type":"integer","minimum":0},"violations":{"type":"array","items":{"type":"object","required":["severity","type","description","items"],"properties":{"type":{"type":"string"},"items":{"type":"array","items":{"type":"string"}},"position":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"}},"additionalProperties":false},"severity":{"enum":["error","warning"],"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"maxItems":100}},"additionalProperties":false},"board":{"type":"object","required":["name","copperLayers","sizeMm","footprints","pads","nets","tracks","vias","zones","libraries"],"properties":{"name":{"type":"string"},"nets":{"type":"integer","minimum":0},"pads":{"type":"integer","maximum":4000,"minimum":0},"vias":{"type":"integer","minimum":0},"zones":{"type":"integer","minimum":0},"sizeMm":{"type":"object","required":["width","height"],"properties":{"width":{"type":"number"},"height":{"type":"number"}},"additionalProperties":false},"tracks":{"type":"integer","maximum":20000,"minimum":0},"libraries":{"type":"array","items":{"type":"object","required":["name","kind","source","resolved"],"properties":{"kind":{"enum":["symbol","footprint"],"type":"string"},"name":{"type":"string"},"source":{"enum":["kicad","project"],"type":"string"},"resolved":{"type":"boolean"}},"additionalProperties":false}},"footprints":{"type":"integer","maximum":500,"minimum":0},"copperLayers":{"type":"integer","maximum":8,"minimum":1}},"additionalProperties":false},"edits":{"type":"array","items":{"type":"object","required":["edit","status","detail"],"properties":{"edit":{"$ref":"#/properties/output/properties/example/$defs/edit"},"after":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"before":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"detail":{"type":"string"},"status":{"enum":["applied","rejected"],"type":"string"}},"additionalProperties":false},"maxItems":50},"tools":{"type":"object","required":["kicad"],"properties":{"kicad":{"type":"string"}},"additionalProperties":false},"checks":{"type":"array","items":{"type":"object","required":["code","status","detail"],"properties":{"code":{"type":"string"},"detail":{"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"additionalProperties":false}},"status":{"enum":["passed","failed"],"type":"string"},"exports":{"type":"array","items":{"type":"object","required":["name","status","detail"],"properties":{"name":{"enum":["project.zip","gerbers.zip","bom.csv","pos.csv","schematic.pdf","board.pdf","board-top.svg","board-top.png","report.json"],"type":"string"},"detail":{"type":"string"},"status":{"enum":["generated","failed"],"type":"string"}},"additionalProperties":false},"maxItems":9},"profile":{"type":"object","required":["name","rules"],"properties":{"name":{"enum":["2-layer-standard","2-layer-fine","4-layer-standard"],"type":"string"},"rules":{"type":"object","required":["copperLayers","minTrackWidthMm","minClearanceMm","minViaDiameterMm","minViaDrillMm","minAnnularRingMm","minHoleToHoleMm","minCopperToEdgeMm","minSilkToPadMm"],"properties":{"copperLayers":{"type":"integer","maximum":8,"minimum":1},"minViaDrillMm":{"type":"number"},"minClearanceMm":{"type":"number"},"minSilkToPadMm":{"type":"number"},"minHoleToHoleMm":{"type":"number"},"minTrackWidthMm":{"type":"number"},"minAnnularRingMm":{"type":"number"},"minViaDiameterMm":{"type":"number"},"minCopperToEdgeMm":{"type":"number"}},"additionalProperties":false}},"additionalProperties":false},"warnings":{"type":"array","items":{"type":"string","maxLength":4096},"maxItems":100},"artifacts":{"type":"array","items":{"type":"object","required":["name","mediaType","sizeBytes","sha256","href"],"properties":{"href":{"type":"string","format":"uri"},"name":{"enum":["project.zip","gerbers.zip","bom.csv","pos.csv","schematic.pdf","board.pdf","board-top.svg","board-top.png","report.json"],"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mediaType":{"type":"string","maxLength":128,"minLength":1},"sizeBytes":{"type":"integer","minimum":0}},"additionalProperties":false},"maxItems":9},"expiresAt":{"type":"string","format":"date-time"},"truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string","maxLength":4096},"maxItems":16}},"additionalProperties":false}}}}}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"a":{"type":"string","pattern":"^[a-z0-9_]{1,32}$","description":"App builder code"},"s":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9_]{1,32}$"},"maxItems":11,"description":"Service builder codes"},"w":{"type":"string","pattern":"^[a-z0-9_]{1,32}$","description":"Wallet builder code"}},"additionalProperties":false}},"payment-identifier":{"info":{"required":true},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["required"],"properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":128,"minLength":16},"required":{"type":"boolean"}}}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{}},"description":"Apply structural edits (move/rotate footprints, resize a net's track width, add a mounting hole, edit a field, swap a footprint) to a KiCad 8/9 project, run electrical and design-rule checks under a named fabrication profile, and return a scoped pass/fail report plus downloadable Gerber X2/Excellon, BOM, position file, PDF, and preview artifacts. Claims are scoped: ERC/DRC clean under the listed profile rules, never \"DFM approved\"; footprint swaps are checked structurally, never electrically.","lastUpdated":"2026-09-11T03:26:54.825Z","serviceName":"PCB Fabrication Engineer","x402Version":2}]}}