entity

Product Variant

Catalog aggregate for a concrete product variant, including SKU data, pricing snapshots, stock, and variant parameters.

Entity(Aggregate Root)Status: Implemented in api-v1Aggregate Root

Purpose

Variants carry SKU/model data, pricing snapshots, lead times, stock, materialization origin, and variant parameters. They are the product-marketplace representation used by design and downstream purchasing workflows. PARAM-S3 renamed the type to VariantParameter; the collection on the variant stays parameterAssignments. The Airtable/Prisma table remains variant_parameters.

Invariants

  • A product variant must have a non-empty name.
  • Each variant parameter must contain at least one value for its key.
  • ON_DEMAND variants require a materialization timestamp and configuration snapshot.
  • ON_DEMAND variants cannot carry stock levels.
  • CATALOG variants cannot carry materialization snapshots.
  • ForManagingProductVariants
  • ForPublishingProductImages
  • ForReadingCatalogResources
  • ForLinkingVariantParameters

OpenAPI Operations

There is no CRUD REST for product variants. The only documented variant route is image publish:

Variants are created and updated by scrape / from-draft persist, not by POST/PUT/PATCH/DELETE /product-variants. Related catalog reads:

ADRs