Statuses and errors
Quote
GET /v1/quotes/{quote_id} → status
| status | Meaning | Next |
|---|---|---|
received | In progress. | Keep polling. |
processing | In progress. | Keep polling. |
quoted | Ready. 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_review | A Sinter engineer reviews the part first. | Tell the user. Keep polling. |
engineering | estimate_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. |
expired | Past its expiry. Can’t be accepted. | Requote, or upload again. |
failed | Can’t be made as uploaded. See error and flags. | Fix the model and upload again. |
accepted | Became an order. | GET /v1/orders/{order_id} |
cancelled | Cancelled. | — |
Progress
| progress | Meaning |
|---|---|
stage | queued, checking, processing. |
fraction | 0 to 1. |
ahead | Quotes queued before this one. |
null | Once 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
| status | Meaning |
|---|---|
queued | Accepted; not started. |
in_production | Printing. |
on_hold | On hold. |
completed | Done. tracking is set once it ships. |
cancelled | Cancelled. |
Parts
parts[].status, with progress from 0 to 1:
| status | Meaning |
|---|---|
queued | Not started. |
printing | Printing. |
printed | Off the printer. |
completed | Done. |
failed | Failed. |
on_hold | On hold. |
cancelled | Cancelled. |
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.
| state | Meaning |
|---|---|
packing | Being packed. |
ready | Packed; waiting for the courier. |
courier_requested | Courier requested. |
out_for_delivery | With the courier. |
shipped | With the carrier. |
delivered | Delivered. |
failed | Delivery failed. |
Delivery codes
422 from POST /v1/quotes/{quote_id}/delivery and from accept with delivery:
| code | Meaning |
|---|---|
carrier_shipping_available | Outside the courier area. Ask the user; only if they choose carrier shipping, send the address again with "accept_carrier": true. |
couriers_unavailable | No courier right now. Try again later. |
outside_delivery_area | No delivery to that address. |
outside_shipping_area | No carrier shipping to that address. |
shipping_review_required | Held for review by Sinter. |
delivery_invalid | Check the address and phone. |
Errors
Body
{"detail": "...", "code": "..."}| HTTP | Meaning |
|---|---|
| 400 | Refused; see detail. Also device login errors (error field). |
| 401 | Missing, wrong or revoked API key. |
| 402 | payment_required: checkout_url for a person to pay. Checkout links. |
| 403 | The key lacks the scope, or the call is for signed-in people only. |
| 404 | Not found. Also for other accounts’ records. |
| 409 | Conflict: 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. |
| 413 | File too large. |
| 415 | Unsupported file type. |
| 422 | Invalid input, or a delivery code. |
| 428 | This call needs an Idempotency-Key header. |
| 429 | A limit was reached. Wait Retry-After seconds. |
| 502 | Payment provider or courier service error. Retry. |
| 503 | Card payments or delivery not available. |
Limits
| Limit | Value |
|---|---|
| Requests and quotes | No daily quote-count limit. Request-rate, concurrent-processing and compute-budget limits still apply. |
| File size | 50 MB |
| Quantity | 1 to 100 per quote |
Past a limit: 429 with a Retry-After header, in seconds.
