id and remain stable across updates. The same catalog and product IDs can be reused in another location; a catalog may also be attached to several locations without making its public ID global.
V1 lists and manages every catalog attached to the authorized location, including catalogs synchronized by a POS or created in the dashboard. Provider ownership remains private and does not make a catalog read-only. POS and API complete imports are serialized; if both systems write the same catalog, the last committed write wins. Deleting a catalog attached to several locations is rejected so a location-scoped request cannot remove another location’s menu.
Choose a write mode
Use a complete snapshot for initial imports and periodic POS synchronization. Use granular updates for low-latency price, name, relationship, or item changes between complete imports.
A location can contain several catalogs, but the AI orders from one active catalog. Follow Select the active catalog to replace the
active_catalog singleton with a location-scoped public catalog_id after the catalog exists. The response echoes the selected public ID; Chataigne keeps its private catalog ID internal.
Complete snapshots and POS imports use Chataigne’s shared catalog comparison and persistence
engine. Granular updates do not compare the complete catalog; they resolve the requested
id
inside its parent and update only that resource.Permissions
Reading requirescatalog.read. Creating, synchronizing, and updating require catalog.write. Deleting requires catalog.delete.
V1 scope
V1 manages categories, products, modifier groups, modifiers, and bundles. Products contain their base price, modifier-group IDs, operational state, conditional prices, and availability rules directly. Chataigne’s internal SKU is never present in requests or responses. Products, modifiers, and bundles use the same operational fields.disabled: true hides the resource and prevents ordering. out_of_stock: true keeps it visible but temporarily unavailable. restrictions define sale windows and service types; price_overrides define conditional prices. Products additionally expose bundle_only and an optional input order.
Promotions, catalog settings other than active-catalog selection, primary or hidden categories, best-seller flags, taxes, delivery-package metadata, provider metadata, and multi-SKU products are not managed by this API version.