Products and variants
A product is a single catalog item. A product can have variants — concrete purchasable versions that differ along one or more axes (size, color, length). A cordless drill is a product; the 2 Ah and 4 Ah kits are its variants. Attribute values live at whichever level they belong to:- Product-scoped — the same for every variant (brand, product family, description).
- Variant-defining — the axes that distinguish variants (voltage, capacity).
- Per-variant — differ by variant but don’t define them (weight, GTIN).
Schemas, product types, and attributes
A schema is the shape of a slice of your catalog. It contains:- Product types — what kind of thing a product is. A product type determines which attributes a product is expected to have. (Product type is about structure and data — it is not the same as a merchandising category like “Summer Sale.”)
- Traits — reusable bundles of attributes that product types are composed from.
- Attribute definitions — the typed fields themselves: a name, a data type, and optionally allowed values.
Attribute data types
Every attribute value is native JSON matching its definition’s data type:Enum-typed values are always the string value, in
camelCase — never a numeric index. This matches how the whole API serializes enumerations.