FREDFRED docs

Integrate the 3D printing API into your store

Quotes, orders and tracking for your store, configurator or application.

Published by FRED · Updated

FRED manufactures and ships the objects sold on your website. Your application supplies the 3D model or the ID of a saved product; FRED offers manufacturers, calculates shipping and tracks the order to your customer.

MCP

Connect Claude Code, Codex or Cursor to FRED: copy-paste configuration, account connection and examples for integrating the API into your project.

The integration has two main operations: get a quote, then place an order. Requests come from your server using the key created in the dashboard.

The JavaScript examples run on a Node.js 22+ server. For Python, install requests with pip install requests. Replace example IDs with those returned by your API calls.

1. Upload an object and get its price

curl https://api.fredpod.com/v1/storefront/quotes/upload \
  -H "X-API-Key: $FRED_API_KEY" \
  -H "Idempotency-Key: devis-panier-1042-v1" \
  -F "file=@figurine.3mf" \
  -F "country=FR" \
  -F "postal_code=34000"

STL, OBJ and 3MF are accepted. Defaults: one piece, PLA, original size and file colours where supported (color=auto). The country defaults to FR when omitted. The postal code is optional when comparing manufacturing; it is required for a delivered total.

The response contains id, status, options and recommended_option_id. Each option provides a manufacturer, its manufacturing price, FRED fees, shipping and lead times. Amounts are in euro cents. Values in the reference examples are illustrative; only your quote gives the actual price.

A new file may return 202, with status: "processing" and no price options. The visual preview may be available during calculation; the price waits for successful slicing. Read poll_url every two seconds to get confirmed options (estimate_source: "slicer"). Reusable analysis may return its result immediately. This request does not create an order.

curl https://api.fredpod.com/v1/storefront/quotes/est_abc123 \
  -H "X-API-Key: $FRED_API_KEY"

Display options[].price.total_cents only when it has a value. Unknown shipping costs are null, never “free”. For a store that selects the manufacturer automatically, use the recommended option. You can also show alternatives to your buyer.

2. Place the order

Once the quote is ready and the buyer has accepted the price:

curl https://api.fredpod.com/v1/storefront/orders \
  -H "X-API-Key: $FRED_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: commande-boutique-1042" \
  -d '{
    "quote_id": "est_abc123",
    "external_ref": "BOUTIQUE-1042",
    "shipping_address": {
      "name": "Camille Dupont",
      "line1": "10 rue de la Paix",
      "postal_code": "34000",
      "city": "Montpellier",
      "country": "FR"
    }
  }'

Without option_id, FRED selects the best available option. To keep the choice shown to the buyer, send its option_id. The country and postal code must match the quote; otherwise, recalculate shipping.

Without approval_mode, FRED follows the brand's review settings, or the account settings when there is no brand. auto respects the brand's delay and any manual review requirement. A 201 response means that the order exists: read status and payment_status to find out whether any action is still required. Manufacturing starts only after confirmed payment. approval_mode: "manual" leaves the order awaiting review in the dashboard.

Keep the same Idempotency-Key and body if a response is lost. Use a new key for a new order.

Adapt the integration to your website

NeedGuide
Display prices, manufacturers, colours and lead timesQuotes and manufacturers
Add a personalised card to the parcelParcel inserts
Calculate shipping before paymentShipping
Order a saved modelDashboard products
Understand approval, payment and retriesOrders
Update your website and provide trackingWebhooks and tracking

The reference below is limited to requests useful for a storefront integration. Account settings, printers and administration remain in the dashboard.

Was this page helpful?

On this page