These docs describe the reference manufacturing API at sinter.systems. A sinter.ac subscription covers the project-planning workspace; manufacturing API access is separate.

Statuses and errors

Quote

GET /v1/quotes/{quote_id} → status

statusMeaningNext
receivedIn progress.Keep polling.
processingIn progress.Keep polling.
quotedReady. options has the price and ship date per lead time. PLA+ and PETG in black or white ship without material lead time; other materials and colours add one day. A color change can move ship_by.Get approval, then accept.
needs_reviewA Sinter engineer reviews the part first.Tell the user. Keep polling.
engineeringestimate_cents is an estimate; nothing can be accepted. A draft is reviewed once sent; it expires a day after pricing unsent. Sinter issues a quote (status quoted) or declines it (failed). Expires 14 days after sending unissued.Tell the user it is an estimate. Send a draft when they ask. Poll every few minutes.
expiredPast its expiry. Can’t be accepted.Requote, or upload again.
failedCan’t be made as uploaded. See error and flags.Fix the model and upload again.
acceptedBecame an order.GET /v1/orders/{order_id}
cancelledCancelled.—

Progress

progressMeaning
stagequeued, checking, processing.
fraction0 to 1.
aheadQuotes queued before this one.
nullOnce quoted or failed.

Manufacturability findings

flags contains geometry problems and repair warnings, including on quoted parts. Each entry has code, level, message and features.Read the codes, feature coordinates and next steps.

Order

GET /v1/orders/{order_id} → status

statusMeaning
queuedAccepted; not started.
in_productionPrinting.
on_holdOn hold.
completedDone. tracking is set once it ships.
cancelledCancelled.

Parts

parts[].status, with progress from 0 to 1:

statusMeaning
queuedNot started.
printingPrinting.
printedOff the printer.
completedDone.
failedFailed.
on_holdOn hold.
cancelledCancelled.

Refunds

  • Paid orders are committed: they can't be cancelled through the API and aren't refunded (409). If Sinter can't fulfill an order or declines it, everything paid is refunded to the card, delivery and tax included.
  • Shipped more than one full business day (Monday to Friday, Pacific) after the ship-by date: 10% of the parts price and corresponding tax are refunded. Delivery is excluded.

Delivery

delivery.method: courier (local courier) or shipping (carrier, with transit_days and arrives_by). Once packed: delivery.state, with eta, delivered_at, carrier, tracking_number and tracking_url.

stateMeaning
packingBeing packed.
readyPacked; waiting for the courier.
courier_requestedCourier requested.
out_for_deliveryWith the courier.
shippedWith the carrier.
deliveredDelivered.
failedDelivery failed.

Delivery codes

422 from POST /v1/quotes/{quote_id}/delivery and from accept with delivery:

codeMeaning
carrier_shipping_availableOutside the courier area. Ask the user; only if they choose carrier shipping, send the address again with "accept_carrier": true.
couriers_unavailableNo courier right now. Try again later.
outside_delivery_areaNo delivery to that address.
outside_shipping_areaNo carrier shipping to that address.
shipping_review_requiredHeld for review by Sinter.
delivery_invalidCheck the address and phone.

Errors

Body

{"detail": "...", "code": "..."}
HTTPMeaning
400Refused; see detail. Also device login errors (error field).
401Missing, wrong or revoked API key.
402payment_required: checkout_url for a person to pay. Checkout links.
403The key lacks the scope, or the call is for signed-in people only.
404Not found. Also for other accounts’ records.
409Conflict: expired, held for review, option no longer available, printing has started, or Idempotency-Key reused with a different request. ship_date_changed: the selected ship date moved; ship_by has the new one.
413File too large.
415Unsupported file type.
422Invalid input, or a delivery code.
428This call needs an Idempotency-Key header.
429A limit was reached. Wait Retry-After seconds.
502Payment provider or courier service error. Retry.
503Card payments or delivery not available.

Limits

LimitValue
Requests and quotesNo daily quote-count limit. Request-rate, concurrent-processing and compute-budget limits still apply.
File size50 MB
Quantity1 to 100 per quote

Past a limit: 429 with a Retry-After header, in seconds.