FREDFRED docs

Order your products and variants saved in FRED

Reuse a saved model with its variants and personalisation.

Published by FRED

Get the product

From a quote, use Save as product to retain the file, material, colours per slot, sizes, manufacturing settings and the brand's insert. The latest estimated cost per object is kept as an indication and displayed as “From…”: manufacturing, preparation and FRED service, excluding the insert and shipping. The shipping address is not saved in the product. Every new quote or order recalculates its price.

Saved choices apply when the corresponding fields are omitted. An explicit value overrides the saved choice; insert_id: null removes the insert for this order.

In Products in the dashboard, open the product, then Use on my website. Copy its product_id. The product must be active and belong to your API key's account. An optional variant has its own product_variant_id.

For a figurine generated specifically for each buyer, upload the new file with /v1/storefront/quotes/upload. For a collection of prepared models, reuse their product IDs.

Display the price before ordering

curl https://api.fredpod.com/v1/storefront/quotes \
  -H "X-API-Key: $FRED_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: devis-produit-panier-1042" \
  -d '{
    "product_id":"prod_abc123",
    "quantity":1,
    "color":"black",
    "destination":{"country":"FR","postal_code":"34000"}
  }'

You get the same format as for an uploaded file: manufacturers, prices, shipping and lead times. Then order using the returned quote_id and, if desired, a specific option_id.

Order directly with product_id

For an integration that already knows its budget:

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

Here, you authorise a maximum of €25 delivered. FRED calculates the price, selects its recommended manufacturer and creates the order if all conditions are met. A higher price returns 409 price_limit_exceeded, without an order or charge. To compare alternatives yourself, request a quote first.

If the calculation is in progress, the request returns 202:

{
  "object":"order_request",
  "status":"processing",
  "quote_id":"est_abc123",
  "poll_url":"/v1/storefront/quotes/est_abc123",
  "next_action":"retry_same_request"
}

No order exists at this stage. Wait until the quote is ready, then repeat the same order request, with the same key and body. It resumes the request and creates only one order. Manufacturing is never triggered by simply reading the quote.

Variants and personalisation

material, color, quantity, height_mm, product_variant_id and personalization are optional for a direct product order. Use GET /v1/materials to choose an exact range and one of its colours. Availability depends on the manufacturer's stock, rates and qualified profile. The fields in personalization must be defined on the product, for example {"prenom":"Léa"} if the product actually supports this field. Arbitrary text does not create new geometry.

With a quote_id, the configuration comes from the quote: do not send new colour, quantity or personalisation fields in the order. Recalculate the price if the configuration changes.

Was this page helpful?

On this page