Menu
2026-10-15 — Menu — reorder products and categories
🆕 New
PATCH /v1/menu/products/{id}/position— moves a product to a new 0-based position within its category. The other products of that category shift by one to make room. A position greater than the last one returns422.PATCH /v1/menu/categories/{id}— moves a category to a new 0-based position (the other categories shift by one) and/or shows or hides it withvisible. Send at least one of the two fields. Hiding a category hides its products from the menu. Favorites categories cannot be moved (422).GET /v1/menunow returnspositionon each product, so you can read the current order before changing it.
Notes
- Both endpoints use the existing
menu:writescope and are available as MCP tools (update_product_position,update_category).
2026-10-08 — Menu — product modifier categories
🆕 New
GET /v1/menu/products/{id}(andPOST /v1/menu/products) now returnmodifier_categories: the product's modifier categories with their modifiers (decimal prices and currency), same shape asGET /v1/menu/modifier-categories. This is product-level — the same categories apply to every variant. Categories deactivated upstream are excluded.GET /v1/menunow returns, on each product,modifier_category_ids: the UUIDs of the product's modifier categories (deactivated ones excluded). Ids only —/v1/menuuses minor-unit prices while modifier categories use decimals; fetch full details fromGET /v1/menu/modifier-categoriesor a single product.
Notes
- Reuses the existing
menu:readscope. No new request parameters.
2026-09-18 — Menu — modifier categories
🆕 New
GET /v1/menu/modifier-categories— Lists your company's modifier categories (e.g. "Extras", "Choose your bread"), each with its modifiers:id,name,type(oneormany),min_modifiers,max_modifiers,required,position, andmodifiers(id,name,price,original_price,currency,sku,max_limit,visible,position). Prices are decimals, not minor units.PUT /v1/menu/products/:id/modifier-categories— Replaces a product's modifier-category association with the givenmodifier_category_ids, in the given order. The array may be empty, which detaches every modifier category. Returns the same shape as the list endpoint, reflecting the resulting association.POST /v1/menu/productsnow accepts an optionalmodifier_category_idsarray to associate modifier categories with the product on create.
Notes
modifier_category_idsmust contain distinct UUIDs; duplicates or foreign ids are rejected with a 422.
2026-08-27 — Menu write endpoints — product & variant create/update
🆕 New
POST /v1/menu/products— Create a product, optionally with its variants, in one call.POST /v1/menu/products/:id/variants— Create a variant for an existing product.PATCH /v1/menu/products/:id/variants/:variantId— Update a variant.PATCH /v1/menu/products/:idnow also acceptsvisible,stock_enabled, andmessages_for_customers.GETproduct responses now includestock_enabledandmessages_for_customers.
2026-06-20 — Public API — Initial Release
🆕 New
First version of the OlaClick Public API is live.
GET /v1/menu— Full catalog with categories and productsGET /v1/menu/categories/:id— Single category by idGET /v1/menu/products/:id— Single product with variants and modifiersPUT /v1/menu/products— Bulk upsert up to 500 products (idempotent)PATCH /v1/menu/products/:id— Partial update of a product