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.