Quoting
Get instant pricing for your PCB assembly projects.
Quoting is coming soon. The endpoints below describe the planned API surface — they are not yet available. We'd love your feedback on the design.
A quote provides pricing for manufacturing a PCB assembly at different quantities and lead times, with cost breakdowns for fabrication, parts, and assembly. You can quote either a specific revision or a project (which uses the latest revision). Quotes are valid for one hour — request a new one when you need fresh pricing.
Request a quote
POST /v1/quotes
Request pricing by providing either a project ID or a revision ID. Returns a cached quote if one is still valid, or generates a new one.
# quote a project (uses latest revision)
circuithub quote request --project 12345
# quote a specific revision
circuithub quote request --revision 99001Output:
Project: Power Supply Board (12345)
Revision: 3
Quote ID: 50001
Expires: 2025-03-15T11:00:00Z
QTY DAYS BOARDS PARTS ASSEMBLY TOTAL $/UNIT
1 5 $150.00 $42.30 $85.00 $277.30 $277.30
1 10 $120.00 $42.30 $65.00 $227.30 $227.30
10 5 $280.00 $310.50 $320.00 $910.50 $91.05
10 10 $230.00 $310.50 $250.00 $790.50 $79.05
100 10 $1,500.00 $2,800.00 $1,800.00 $6,100.00 $61.00
100 15 $1,200.00 $2,800.00 $1,400.00 $5,400.00 $54.00Use --json for machine-readable output:
circuithub quote request --project 12345 --json# quote a project (uses latest revision)
curl -X POST -H "Authorization: Bearer $CIRCUITHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectId": 12345}' \
https://api.circuithub.com/v1/quotes
# quote a specific revision
curl -X POST -H "Authorization: Bearer $CIRCUITHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"revisionId": 99001}' \
https://api.circuithub.com/v1/quotesResponse:
{
"id": 50001,
"projectId": 12345,
"revisionId": 99001,
"revisionNumber": 3,
"createdAt": "2025-03-15T10:00:00Z",
"expiresAt": "2025-03-15T11:00:00Z",
"offers": [
{
"quantity": 1,
"leadTimeDays": 5,
"estimatedShipDate": "2025-03-21T00:00:00Z",
"boardPrice": 150.00,
"partsPrice": 42.30,
"assemblyPrice": 85.00,
"totalPrice": 277.30,
"unitPrice": 277.30,
"currency": "USD"
},
{
"quantity": 1,
"leadTimeDays": 10,
"estimatedShipDate": "2025-03-26T00:00:00Z",
"boardPrice": 120.00,
"partsPrice": 42.30,
"assemblyPrice": 65.00,
"totalPrice": 227.30,
"unitPrice": 227.30,
"currency": "USD"
},
{
"quantity": 10,
"leadTimeDays": 5,
"estimatedShipDate": "2025-03-21T00:00:00Z",
"boardPrice": 280.00,
"partsPrice": 310.50,
"assemblyPrice": 320.00,
"totalPrice": 910.50,
"unitPrice": 91.05,
"currency": "USD"
},
{
"quantity": 10,
"leadTimeDays": 10,
"estimatedShipDate": "2025-03-28T00:00:00Z",
"boardPrice": 230.00,
"partsPrice": 310.50,
"assemblyPrice": 250.00,
"totalPrice": 790.50,
"unitPrice": 79.05,
"currency": "USD"
},
{
"quantity": 100,
"leadTimeDays": 10,
"estimatedShipDate": "2025-03-28T00:00:00Z",
"boardPrice": 1500.00,
"partsPrice": 2800.00,
"assemblyPrice": 1800.00,
"totalPrice": 6100.00,
"unitPrice": 61.00,
"currency": "USD"
},
{
"quantity": 100,
"leadTimeDays": 15,
"estimatedShipDate": "2025-04-05T00:00:00Z",
"boardPrice": 1200.00,
"partsPrice": 2800.00,
"assemblyPrice": 1400.00,
"totalPrice": 5400.00,
"unitPrice": 54.00,
"currency": "USD"
}
]
}Request body
Provide exactly one of projectId or revisionId.
| Field | Type | Description |
|---|---|---|
projectId | integer | Project to quote — uses the latest revision |
revisionId | integer | Specific revision to quote |
Response fields
| Field | Type | Description |
|---|---|---|
id | integer | Quote ID |
projectId | integer | Project this quote is for |
revisionId | integer | Revision used for pricing |
revisionNumber | integer | Human-readable revision number |
createdAt | string | ISO 8601 creation timestamp |
expiresAt | string | ISO 8601 expiry timestamp — quotes are valid for one hour |
offers | array | Pricing options at different quantities and lead times |
Offer fields
| Field | Type | Description |
|---|---|---|
quantity | integer | Number of assembled boards |
leadTimeDays | integer | Business days from order to shipment |
estimatedShipDate | string | ISO 8601 estimated ship date |
boardPrice | number | Bare PCB fabrication cost (USD) |
partsPrice | number | Electronic components cost (USD) |
assemblyPrice | number | Assembly labor cost (USD) |
totalPrice | number | Total cost — boards + parts + assembly (USD) |
unitPrice | number | Per-board cost — totalPrice / quantity (USD) |
currency | string | Always "USD" |
Get quote breakdown
GET /v1/quotes/:quoteId/breakdown
See a detailed cost breakdown for a specific quantity and lead time combination. This includes per-part costs, and may include additional line items such as services or surcharges.
circuithub quote breakdown 50001 --quantity 10 --lead-time 10Output:
Quote 50001 — 10 units, 10-day lead time
TYPE DESCRIPTION QTY UNIT PRICE TOTAL SUPPLIER
part 100nF 0402 — GCM155R71C104KA55D 44 $0.02 $0.88 Digi-Key
part 10uF 0805 — GRM21BR61E106KA73 22 $0.05 $1.10 Mouser
part LM358 — LM358DR 11 $0.42 $4.62 Digi-Key
part STM32F103 — STM32F103C8T6 11 $2.85 $31.35 Digi-Key
...
Total: $790.50Use --json for machine-readable output:
circuithub quote breakdown 50001 --quantity 10 --lead-time 10 --jsoncurl -H "Authorization: Bearer $CIRCUITHUB_API_KEY" \
"https://api.circuithub.com/v1/quotes/50001/breakdown?quantity=10&leadTimeDays=10"Response:
{
"quoteId": 50001,
"quantity": 10,
"leadTimeDays": 10,
"total": 790.50,
"currency": "USD",
"lines": [
{
"type": "part",
"description": "100nF 0402",
"bomLineId": 1001,
"resolvedPartMpn": "GCM155R71C104KA55D",
"manufacturer": "Murata",
"supplier": "Digi-Key",
"orderQuantity": 44,
"unitPrice": 0.02,
"lineTotal": 0.88
},
{
"type": "part",
"description": "10uF 0805",
"bomLineId": 1002,
"resolvedPartMpn": "GRM21BR61E106KA73",
"manufacturer": "Murata",
"supplier": "Mouser",
"orderQuantity": 22,
"unitPrice": 0.05,
"lineTotal": 1.10
},
{
"type": "part",
"description": "LM358",
"bomLineId": 1003,
"resolvedPartMpn": "LM358DR",
"manufacturer": "Texas Instruments",
"supplier": "Digi-Key",
"orderQuantity": 11,
"unitPrice": 0.42,
"lineTotal": 4.62
}
]
}Query parameters
| Parameter | Type | Description |
|---|---|---|
quantity | integer | Required. Board quantity matching an offer |
leadTimeDays | integer | Required. Lead time in business days matching an offer |
Line item fields
| Field | Type | Description |
|---|---|---|
type | string | Line type — "part" for BOM components, other types may be added in future |
description | string | Human-readable description of the line item |
bomLineId | integer | null | BOM line ID (present when type is "part", matches IDs from the BOM endpoint) |
resolvedPartMpn | string | null | Manufacturer part number (present when type is "part") |
manufacturer | string | null | Part manufacturer (present when type is "part") |
supplier | string | null | Distributor (e.g. "Digi-Key", "Mouser") |
orderQuantity | integer | Units ordered — includes attrition and rounding to price breaks |
unitPrice | number | Cost per unit (USD) |
lineTotal | number | Total cost for this line (USD) |