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

Rules for agents

Purchases

  • Accepting a quote is a purchase.
  • Accept only if the account owner turned on Allow purchases for the key or agent (the purchase scope), and the user approved this purchase after seeing the price, quantity, material and ship date.
  • Read quote ids, prices and ship dates from the API. Never invent them.
  • Read and explain flags before purchase. Include warnings and feature locations; an empty list does not certify fitness for the intended use. Manufacturability.
  • needs_review: tell the user and wait. Don’t upload the file again to get around it.
  • engineering: tell the user estimate_cents is an estimate and Sinter will issue the quote. A draft (request_status draft) is sent only when the user asks. Poll slowly once sent. Don’t upload again or split the file to get around it.
  • ship_date_pending true: tell the user the ship date isn’t confirmed yet.
  • 409 ship_date_changed: show the user the new ship_by. Accept again only if they agree.
  • 422 carrier_shipping_available: ask the user before sending "accept_carrier": true.
  • Send an Idempotency-Key with every upload and accept. Retry with the same key.

Checkout links

Every order is paid by card first. Accept returns 402 with code: "payment_required" and checkout_url.

  • Give checkout_url to the user. A person pays there. Don’t pay any other way.
  • The order is accepted once payment completes. Poll GET /v1/quotes/{quote_id} every 30 seconds or slower until status is accepted, then follow GET /v1/orders/{order_id}.
  • Don’t retry accept in a loop.
LinkWhat it is
checkout_urlCard checkout for the chosen lead time, or the quote page.
review_urlThe quote page, with a 3D preview. Anyone with the link can see it; on an account’s quote only that account, signed in, can change, pay for or cancel it (a guest quote: whoever holds the link). Share it only with the user.

Polling and limits

  • Poll no faster than every 5 seconds.
  • On 429, wait Retry-After seconds.
  • Rate and quote limits apply per key and account.

Keys

  • Read the key from an environment variable (SINTER_API_KEY). Never write it to files, prompts or logs.
  • No key: use a device login. Don’t ask the user to paste a key into chat.