Create Product Version
Create a new version of a product.
Authentication Required: Requires product:write permission.
Auto-increments version number. Optionally sets ‘Production’ label.
Path Parameters
Cookies
Body
Request to create a new product version.
Reference to a ProductType by key, as accepted in request bodies.
typeId is REQUIRED here even though the underlying KeyReference
model (models/references.py) treats it as optional for other reference
kinds. Every existing client already sends it: the admin UI's
ManualEntryForm/NewVersionForm hardcode typeId: "product_type", and
every internal builder (CSV import, JSON import, crawl-import, variant
creation) hardcodes ReferenceTypeId.PRODUCT_TYPE.value. Meanwhile
product_to_response/_product_to_version_response unconditionally
read productType.typeId.value when building the API response — a
request that omitted typeId used to sail through validation, get
persisted, and only fail with a 500 once the response was built (or,
on the create-version path, once ReferenceTypeId(...) was called on
a mistyped default). Rejecting it here with a 422 keeps bad data out of
Mongo instead of crashing after the write.
Only typeId presence/validity is tightened relative to the old
Dict[str, Any] shape -- key keeps the same (non-empty-not-enforced)
constraint it always had, to avoid an unrequested behavior change on an
input the reported bug wasn't about.
Optional message describing changes
Version number this was cloned from
Product properties dict
Reinitialize properties from the target ProductType (discards properties)
Set 'Production' label on this version
Response
Successful Response
Response model for a single product version.
MongoDB ObjectId as string
Internal unique identifier (shared across versions)
Product type reference
Source of product data
Version number
AI-observability trace ID for this enrichment run (PostHog $ai_trace_id)
Confidence score (0-1)
Creation timestamp
User who created this version
Quality score (0-1)
Buckets that contributed to merged product
Published status
Version labels
Did lakehouse_search contribute any property?
Properties sourced from lakehouse
DEPRECATED: use aiTraceId (same value). Kept for backward compatibility.
Product data
Per-property metadata
Number of properties with values
Scrape-quality warnings if the brand-site scrape returned suspect content
Status: complete, failed, partial
Commit message for this version
Version this was cloned from