Create and manage the products offered in your configurator. New here? Start with the Quickstart.
Products live in your tenant workspace under Products. 3D models themselves are always managed by PrintWearAI — you cannot upload a GLB directly to a tenant product. That leaves two paths:
Imports count against the max_products quota of your plan — you get an explicit "quota reached, upgrade plan" error when the limit is hit.
| Field | Meaning |
|---|---|
name * | Display name. A unique URL slug is generated automatically (you can override it). |
category | Sport category — drives the configurator's sport tabs, see Categories. |
sizes | List of sizes offered (comma-separated in the UI). Default: XS,S,M,L,XL,XXL. Each size can have its own 2D pattern — see 2D Pattern & UV. |
price_base | Base unit price excl. VAT, shown in the widget. |
price_tiers | Volume discount tiers: a list of { min, price } pairs — from min units, the unit price becomes price. Rows with an empty quantity or price are ignored. |
min_qty | Minimum order quantity (MOQ). Default: 1. |
glb_path | Path/URL of the 3D model. Set by the catalog import; its zones come with it (see Zones & restrictions). |
thumbnail, description | Card image and description text. |
If the configurator is embedded on Shopify, WooCommerce, PrestaShop or a custom site (see Embed), fill in the external catalog link so "Add to cart" adds the right store product with the personalized config attached:
external_platform — shopify, woocommerce, prestashop or customexternal_product_id — the product ID on your store (e.g. Shopify product ID or WordPress post ID)external_variant_id — Shopify variant IDexternal_sku — SKU / reference. Also used by the embed script's auto-detect (GET /api/resolve?embed_key=…&external_sku=…) to resolve a store page to the matching 3D productexternal_product_url — public product URL, used as a resolve fallbackLeave the platform empty for a standalone configurator.
Each product has an active flag — the Activate / Deactivate button on the product card. Inactive products are hidden from your configurator without being deleted. On the catalog side, PrintWearAI publishes models through a draft → staged → published workflow; a catalog product cannot be published until its 2D pattern is defined (see 2D Pattern & UV).
An imported product is your own copy. When PrintWearAI updates the source model, use resync (POST /api/products/{id}/resync): it refreshes the 3D fields only — glb_path, zones_config, thumbnail, category — and never touches your customizations (name, prices, sizes, tiers, store links).
When requesting or supplying a 3D model, keep in mind how PrintWearAI reads a GLB:
.glb files up to 60 MB are accepted.