Catalog model
the sellable item
A product has a stable
key within your organization and a product type. All
of its data — including name, brand, and description — lives in one flat
properties dict keyed by Property Definition keys, so what a product can
carry is defined by its product type rather than a fixed field list.
Provenance is tracked alongside it in a separate properties_metadata dict:
per property, where the value came from and how confident the match was.Products are versioned — the latest (or production) version holds the
richest data, and enrichment adds new versions rather than overwriting. See
Versioning.a buyable variation
A specific purchasable variation of a product — e.g. a size/color/width
combination. Variant keys accept merchant formats (dots, spaces, slashes).
the template
A template that links a product to the property definitions it should carry.
Product types must exist before products that reference them.
the attribute schema
Defines a single attribute: its type (enum/text/number/boolean), whether it’s
required, facetable, or searchable, and whether it lives at the product or
variant level. Property definitions must exist before the product types that
reference them.
reference data
Brand identity is shared reference data across the platform.
Data flow
shared knowledge base
A shared store of product, technology, and document data used to enrich your
catalog. Enrichment searches it before scraping the open web.
tracked batch operation
Imports, enrichment, and exports run as jobs with
total, processed, and
failed counters plus a computed progress percentage. Track them on the
Jobs page or via the API.A job settles into one of these outcomes:A job can also pause at
awaiting_review: the run finished its automated
work but something needs a person to decide. This is not a final state —
nothing advances until the review is resolved, and the job then settles into
one of the outcomes above. Open the job to see what is waiting.the automated pipeline
For each product, the pipeline searches the lakehouse, finds and scrapes the
brand site, generates missing content with an LLM, and standardizes attributes.
When several sources offer the same field, the winner is decided per
property, not by one global ranking: identity fields prefer the brand site,
descriptive and SEO content prefers freshly generated copy, and merchant input
is protected on every field except description, features, and meta title. See
How enrichment works.
Pricing & publishing
pricing
Prices are managed as records and grouped into batches for review and
scheduled publishing. MAP (Minimum Advertised Price) policies are tracked
separately as legal/compliance data.
where catalog goes live
A destination (e.g. a VTEX store and environment) a batch is published to.
Publishing is batched, idempotent, versioned, and audited per target.