Integrations

Use DECODE via the API.

Everything DECODE extracts from a design package comes back as structured JSON, ready for your quoting flow, portal, or ERP: costing line items, fabrication specs, DFM findings, BOM data, and designer notes.

Access

API keys, docs, and a playground.

Create API keys from your portal account, read the API reference, and use the in-portal Playground to try queries against your own projects before writing a line of integration code.

What Comes Back

Every PCB attribute, decoded.

Every DECODE module returns its results through the same API as structured JSON.

01

PCB Design Analysis

  • Automated fab-note extraction and consolidation
  • Automated layer stackup and count
  • Board dimension and outline identification
  • Area of finished copper per layer
  • Layer stats: trace widths, drill holes, pad dimensions
  • Drill scale & unit correction
  • Cost driver and risk identification
02

BOM Analysis

  • Clean up messy BOMs
  • Automated BOM formatting and field mapping
  • Procurement links for every component
  • Risk report: sourceability and EOL status
  • Component cost and availability from global market sources
  • Attrition and excess material calculation
  • Compliance data (RoHS, REACH, …)
  • Tariff impact
  • Exceptions reporting
03

Assembly Analysis

  • Unique part count per project
  • Placements per board and per order
  • Part package classification (SMD, TH, BGA, …)
  • Placement category assignment
  • Assembly complexity assessment
  • Assembly options detection
04

Project Pricing

  • PCB-only, assembly-only, or turnkey pricing
  • Market and manufacturer-specific pricing
  • Fully configurable pricing models and rules
Provenance

Every number, traceable to its source.

Every board spec, BOM mapping, and cost-driver decision points back at the file, layer, and extraction method it came from. Audit any number.

GraphQL

Request exactly the data you need.

One endpoint. Three operations: createProject, analyzeProject, exportProduct.

# Step 1: Create a project and upload design files

mutation {
  createProject(name: "PCB-2026-042", quantity: 500) {
    project { _id }
  }
}

# Step 2: Run automated analysis on the uploaded files

mutation {
  analyzeProject(projectId: "proj_abc123") {
    analysis { complete }
  }
}

# Step 3: Export the full project breakdown
#   Fab notes, board specs, BOM, pricing, and provenance

query {
  exportProduct(productId: "proj_abc123", quantity: 500) {
    data {

      # ── Board Specifications ──
      bareBoard {
        material                # e.g. "FR-4 Fiberglass"
        numberOfLayers          # Layer stackup count
        boardWidthMM
        boardLengthMM
        finishSurface           # e.g. "ENIG"
        solderMask              # e.g. "Green"
        baseCuThicknessMM
        IPCClass
        stackup {               # Full layer stackup
          layerNumber
          layerType
          thicknessMM
          copperWeightOz
        }
        drillData {             # Drill stats per file
          toolCount
          smallestDrillMM
          platedHoleCount
        }
        padTraceData {          # Copper area & trace widths
          layer
          totalPadAreaMM2
          minTraceWidthMM
        }
      }

      # ── Extracted Fab Notes ──
      fileNotes {
        note                    # Extracted fab/assembly note
        foundIn {
          fileName
          fileType
        }
      }

      # ── BOM Analysis ──
      assembly {
        bom {
          partNumber
          description
          mountType              # SMD, Through-Hole, BGA…
          unitPriceUSD
          availability {
            inStock
            leadTimeDays
            distributor
          }
          additionalDetails {
            rolesCompliance      # RoHS, REACH status
            lifecycle            # Active, EOL, NRFND
          }
        }
        assemblyOptions {
          conformalCoating
          xRayInspection
          functionalTesting
        }
      }

      # ── Exceptions & Risk ──
      exceptions {
        bomIssues {
          partNumber
          severity
          message
        }
        bareBoardIssues {
          attribute
          severity
          message
        }
      }

      # ── Pricing Breakdown ──
      pricingLineItems {
        group                   # "bareBoard", "assembly", "components"
        name
        total
        calculation {
          formula
          inputs
        }
      }

      # ── AI Provenance / Audit Trail ──
      provenance {
        totalDecisions
        areas {
          area                  # e.g. "boardSpecs", "bomMapping"
          entries {
            source              # File that informed the decision
            message             # What was decided and why
          }
        }
      }
    }
  }
}
Who Integrates It

Built to sit inside your systems.

01

Quoting Flows

Feed extracted board specs, BOM costing, and pricing line items straight into your quote engine, with no manual re-keying between analysis and quote.

02

Customer Portals

Let customers upload a design package and see specs, findings, and pricing in your own portal, backed by DECODE analysis behind the scenes.

03

ERP & MRP Systems

Push cleaned BOMs, sourcing data, and cost breakdowns into the systems that plan purchasing and production.

Prefer to work by conversation instead of code? Connect an AI assistant to the DECODE MCP server.