Products are the core of Flint's catalog: physical goods, services, fees, and digital items. The product is the parent record; its variants are the sellable units that carry price and SKU. A simple product has a single default variant, while an optioned product defines options (like size or color) whose combinations map to distinct variants.
When an order line item references a variant_id, Flint resolves price, display name, SKU, image, and tax settings from the catalog; callers cannot override catalog-owned fields on those rows. Products carry a status of active or inactive (reversible), or archived (permanent).
A variant does not hold a stock count. Provide inventory_item_id or an inline inventory_item to have Flint track its stock through an inventory item, which then lives on inventory levels per Location rather than on the variant. Tracking is never inferred from a product being physical: an untracked variant sells without a stock check. Send inventory_item_id: null on a variant update to stop tracking it. Quantities change through the inventory endpoints with an audited reason, not through product updates.
Products can belong to more than one category. Product writes accept category display names and create a category when its normalized handle does not exist. Product reads return each category as {category_id, handle, name} so you can use its stable handle in promotion and return targeting. To change membership, send the complete categories array in a product update with the product's current version as expected_version. Send an empty array to clear every category.
Create product options and their values with the product, or replace the complete options array in a product update with expected_version. Include returned option and value IDs when keeping existing members. Omitting a member retires it.
Filter products with category_handle. Handles do not change when a category is renamed.
Use the exact sku filter on the product list to find a product by one of its variant SKUs. Use the same filter on the bundle list when you need to search bundles.
Related catalog resources: categories for reusable grouping and targeting, modifiers for per-line-item choices, and bundles for selling variants together.
