ProtoPulse’s export system converts your circuit design into the file formats used by PCB fabricators, EDA tools, and procurement systems. All export endpoints follow the same pattern: aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/wtyler2505/ProtoPulse/llms.txt
Use this file to discover all available pages before exploring further.
POST request with the project ID in the body returns a binary file download with the appropriate Content-Type and Content-Disposition headers set. Some formats also run a DRC gate before generating output — if violations are present the server returns 422 Unprocessable Entity instead of the file.
All export endpoints require a valid X-Session-Id header. See REST API Overview for authentication details.
Supported formats
| Format | Path | Output file(s) | Description |
|---|---|---|---|
kicad | /api/projects/:projectId/export/kicad | .kicad_sch + .kicad_pcb + .kicad_pro (ZIP) | Full KiCad 6/7 project for use in KiCad EDA |
eagle | /api/projects/:projectId/export/eagle | .sch + .brd (ZIP) | Autodesk Eagle project (XML format) |
spice | /api/projects/:projectId/export/spice | .cir | SPICE netlist compatible with LTspice, ngspice, and other SPICE simulators |
bom-csv | /api/projects/:projectId/export/bom | .csv | Bill of materials. Supports generic, jlcpcb, mouser, and digikey column formats |
gerber | /api/projects/:projectId/export/gerber | ZIP (RS-274X layers) | Fabrication-ready Gerber files: copper layers, solder mask, silkscreen, paste; requires DRC pass |
drill | /api/projects/:projectId/export/gerber | Excellon .drl (included in Gerber ZIP) | Drill file included automatically with the Gerber export |
pick-place | /api/projects/:projectId/export/pick-place | centroid .csv | Pick-and-place file with component reference designators, centroids, rotation, and side |
netlist-kicad | /api/projects/:projectId/export/netlist | .net | KiCad-format netlist. Set netlistFormat: "kicad" in the request body |
netlist-csv | /api/projects/:projectId/export/netlist | .csv | Netlist in CSV format. Set netlistFormat: "csv" in the request body |
design-report | /api/projects/:projectId/export/report-pdf | Full design report: component count, net summary, DRC results, simulation results, FMEA, and metadata | |
fmea | /api/projects/:projectId/export/fmea | .csv (FMEA PDF is included in design report) | Failure Mode and Effects Analysis data exported as CSV |
firmware | /api/projects/:projectId/export/firmware | .zip | Arduino / PlatformIO firmware scaffold generated from component types and properties in your design |
fritzing | /api/projects/:projectId/export/fzz | .fzz | Fritzing project file, including breadboard and schematic views |
pdf | /api/projects/:projectId/export/pdf | .pdf | Schematic or view exported as a PDF or SVG |
The drill file (Excellon
.drl) is bundled inside the Gerber ZIP — it is not a separate endpoint. When you call the gerber export, you receive a single ZIP containing all layer files and the drill file.Request body parameters
All export endpoints accept a JSON body. Parameters vary by format; the table below describes all recognised fields.BOM CSV format variant. One of
generic, jlcpcb, mouser, or digikey. Only applies to the bom-csv export.Include a header row in BOM CSV output.
Collapse duplicate part numbers in BOM CSV and sum quantities.
Netlist output format. One of
spice, kicad, or csv. Only applies to the netlist export.PCB board width in millimetres. Used by the Gerber generator to set the board outline. Defaults to the server constant
DEFAULT_BOARD_WIDTH.PCB board height in millimetres. Used by the Gerber generator to set the board outline. Defaults to
DEFAULT_BOARD_HEIGHT.Serialised view state for the PDF schematic export. Passed directly to the PDF generator.
Paper size for PDF export:
A4, A3, Letter.Scale factor for PDF schematic export.
Include a title block with project name and date in the PDF export.
SPICE analysis type for the
.cir netlist export: op, tran, ac, or dc.Response
All export endpoints return the generated file as the response body. Headers are set to trigger a browser download:| Format | Content-Type |
|---|---|
kicad, gerber, firmware, fritzing | application/zip |
bom-csv, pick-place, netlist-csv, fmea | text/csv |
spice, netlist-kicad | text/plain |
eagle | application/zip |
design-report, pdf | application/pdf |
-o or -J -O flags:
DRC gate
Certain export formats run a Design Rule Check before generating output. If the DRC gate finds violations, the server returns422 Unprocessable Entity with a JSON body listing the violations instead of the file.
| Format | DRC gate |
|---|---|
gerber | Yes — blocks export on any DRC error |
kicad | No |
eagle | No |
spice | No |
design-report | No (DRC results are included in the report regardless) |
| All others | No |
Format-specific examples
- Gerber
- KiCad
- BOM CSV
- SPICE
- Pick-and-place
- Firmware
Generate Gerber + drill files for a 50×40 mm board:The ZIP contains the following files:
| File | Layer |
|---|---|
front-copper.gbr | F.Cu — top copper |
back-copper.gbr | B.Cu — bottom copper |
front-mask.gbr | F.Mask — top solder mask |
back-mask.gbr | B.Mask — bottom solder mask |
front-silkscreen.gbr | F.SilkS — top silkscreen |
back-silkscreen.gbr | B.SilkS — bottom silkscreen |
front-paste.gbr | F.Paste — top solder paste |
drill.drl | Excellon drill file |
Triggering exports via the AI assistant
You can ask the AI assistant to generate any supported export format using natural language. The AI calls thetrigger_export, generate_gerber, or generate_kicad tools from the export tool module.
Example prompts:
- “Export this design as Gerber files”
- “Generate a JLCPCB BOM CSV”
- “Download the KiCad project”
- “Create a PDF design report”