The public quote endpoint returns the supplier’s base cost for a given product, variant, quantity, and — for print products — dimensions. No markup rules or storefront overrides are applied. This endpoint is safe to call directly from a storefront because it contains no business pricing data. The pricing engine dispatches onDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/VisualGraphxLLC/API-HUB/llms.txt
Use this file to discover all available pages before exploring further.
product_type: apparel products use the TieredVariantResolver (Net → Sale → MSRP → Case fallback chain), and print products use the FormulaResolver (base_price_per_sq_unit × width × height × area_factor + setup_cost).
POST /api/pricing/quote
ID of the product to quote.
Specific variant (color × size) to quote. Required for apparel products. Omit for print products where dimensions drive the price.
Order quantity. Must be greater than 0. Used to resolve the tiered price band.
Print width in the product’s
size_unit (usually inches). Required for product_type = "print". Must be ≥ 0 and within min_width…max_width bounds.Print height in the product’s
size_unit. Required for product_type = "print". Must be ≥ 0 and within min_height…max_height bounds.IDs of
ProductOptionAttribute records selected by the customer (e.g., imprint location, ink colors). Attributes with a non-null multiplier contribute to the print formula’s area factor.200 OK — QuoteResult
Per-unit cost at the resolved tier.
unit_price × qty.Always
"USD".Type-specific pricing detail. Shape varies by
product_type.Error responses
| Status | Condition |
|---|---|
422 Unprocessable Entity | Dimensions outside the product’s min_width/max_width/min_height/max_height bounds (BoundsError) |
422 Unprocessable Entity | Missing pricing data for the variant — no base_price and no tier ladder (MissingPricingDataError) |
404 Not Found | Product not found (MissingPricingDataError with "not found" in the message) |
The debounced live price component in the storefront (
use-debounced-quote.ts) calls this endpoint with a 250 ms delay after the user changes quantity or dimensions. Quote results are never cached on the server — each request re-resolves from the database.