---
title: "Design Import"
method: POST
path: "/api/design/import"
tags: ["design-import"]
---

# Design Import

`POST /api/design/import`

## Request

- Base URL: `https://api.pcbgenerator.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pcbgenerator.com/api/design/import`
- Auth: none declared

Import a design file (magicon-internal JSON or ODB++ archive).

## Query parameters

- `include_full` boolean

## Request body

- ImportRequest
  - `filename` string, required
  - `content` string, required

## Response `200`

Successful Response

- DesignImportResponse: HTTP response body for ``POST /api/design/import``.
  - `success` boolean, required
  - `import_type` 'magicon_internal' | 'odb_plus_plus', required
  - `project_name` string, required
  - `schema_version` string, nullable
  - `eda_source` string, nullable
  - `layer_count` integer, required
  - `component_count` integer, required
  - `has_rf_chain` boolean, required
  - `has_ai_reasoning` boolean, required
  - `has_embedded_sidecar` boolean
  - `design_intelligence` DesignIntelligenceResult
    - `material_insights` MaterialInsight[], required
      - `message` string, required
      - `severity` 'info' | 'warning' | 'error', required
      - `affected_layers` string[], required
    - `impedance_checks` ImpedanceFeasibility[], required
      - `target_type` string, required
      - `target_ohm` number, required
      - `feasible` boolean, required
      - `message` string, required
    - `suggestions` DesignSuggestion[], required
      - `category` string, required
      - `message` string, required
      - `priority` 'low' | 'medium' | 'high', required
    - `yield_data` YieldSummary
      - `avg_yield_pct` number, required
      - `report_count` integer, required
      - `recommendations` string[], required
    - `fingerprint` string, required
  - `full_design` FullDesignPayload: Complete design data returned when ``include_full=true``.
    - `layers` ImportedLayer[], required
      - `position` integer, required
      - `name` string, required
      - `type` string, required
      - `material` string, nullable
      - `thickness_mm` number, nullable
      - `dk` number, nullable
      - `df` number, nullable
      - `copper_weight_oz` number, nullable
    - `impedance_targets` ImportedImpedanceTarget[]
      - `type` string, required
      - `signal_layer` string, required
      - `reference_layer` string, required
      - `target_ohm` number, required
      - `trace_width_mm` number, nullable
    - `design_rules` ImportedDesignRules: Design rules from an imported design file.
      - `min_trace_width_mm` number, nullable
      - `min_spacing_mm` number, nullable
      - `min_via_drill_mm` number, nullable
      - `min_via_pad_mm` number, nullable
      - `min_annular_ring_mm` number, nullable
    - `manufacturing` ImportedManufacturing: Manufacturing parameters from an imported design file.
      - `build_type` string, nullable
      - `surface_finish` string, nullable
      - `solder_mask` string, nullable
      - `via_technology` string, nullable
      - `copper_weight_oz` number, nullable
      - `tg_celsius` number, nullable
      - `cte_ppm` number, nullable
    - `frequency_hz` number, nullable
    - `rf_chain` object, nullable
    - `chain_reasoning` MagiconChainReasoning: RF chain selection reasoning. Internal-only — never sent to fabs.
      - `summary` string, nullable
      - `weight_reasoning` string, nullable
      - `components` MagiconSelectionRationale[]
        - `target` string, required
        - `summary` string, required
        - `score` number, nullable
        - `breakdown` object, nullable
        - `source` 'llm' | 'agent' | 'manual' | 'fallback', nullable
    - `stackup_rationale` MagiconStackupRationale: Stackup/material selection reasoning. Internal-only — never sent to fabs.
      - `summary` string, nullable
      - `binding_constraint` string, nullable
      - `materials` MagiconSelectionRationale[]
        - `target` string, required
        - `summary` string, required
        - `score` number, nullable
        - `breakdown` object, nullable
        - `source` 'llm' | 'agent' | 'manual' | 'fallback', nullable
      - `layers` MagiconSelectionRationale[]
        - `target` string, required
        - `summary` string, required
        - `score` number, nullable
        - `breakdown` object, nullable
        - `source` 'llm' | 'agent' | 'manual' | 'fallback', nullable
  - `warnings` string[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pcbgenerator/apis/pcb-stackup-generator-api.md) · [All operations](https://skmtc.dev/pcbgenerator/apis/pcb-stackup-generator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pcbgenerator/apis/pcb-stackup-generator-api/revisions/b6084b3ace32?raw)
