Skip to main content

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 returns 422.
  • 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 with visible. 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/menu now returns position on each product, so you can read the current order before changing it.

Notes

  • Both endpoints use the existing menu:write scope and are available as MCP tools (update_product_position, update_category).

2026-10-08 — Menu — product modifier categories​

🆕 New

  • GET /v1/menu/products/{id} (and POST /v1/menu/products) now return modifier_categories: the product's modifier categories with their modifiers (decimal prices and currency), same shape as GET /v1/menu/modifier-categories. This is product-level — the same categories apply to every variant. Categories deactivated upstream are excluded.
  • GET /v1/menu now returns, on each product, modifier_category_ids: the UUIDs of the product's modifier categories (deactivated ones excluded). Ids only — /v1/menu uses minor-unit prices while modifier categories use decimals; fetch full details from GET /v1/menu/modifier-categories or a single product.

Notes

  • Reuses the existing menu:read scope. 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 (one or many), min_modifiers, max_modifiers, required, position, and modifiers (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 given modifier_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/products now accepts an optional modifier_category_ids array to associate modifier categories with the product on create.

Notes

  • modifier_category_ids must 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/:id now also accepts visible, stock_enabled, and messages_for_customers.
  • GET product responses now include stock_enabled and messages_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 products
  • GET /v1/menu/categories/:id — Single category by id
  • GET /v1/menu/products/:id — Single product with variants and modifiers
  • PUT /v1/menu/products — Bulk upsert up to 500 products (idempotent)
  • PATCH /v1/menu/products/:id — Partial update of a product