Products represent the individual items on your restaurant’s menu — dishes, drinks, desserts, or any other offering. Each product belongs to a category and can carry optional extras (add-ons or upsells with their own prices). The endpoints below cover the full lifecycle: create, update, push extras, update extras, delete extras, delete a product, and list all products for a company.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/fredy-rizo/MultiSas/llms.txt
Use this file to discover all available pages before exploring further.
All product endpoints require two authentication middlewares.
TokenAny
validates the bearer token and attaches the user to the request. TokenAuthorize('Admin', 'Super Admin')
restricts access to users whose role is either Admin or Super Admin.
Include the token in every request as token-access: Bearer $TOKEN.Create a Product
POST /api/product/:company_id/:category_id
Creates a new menu item under the specified company and category.
Path Parameters
The MongoDB ObjectId of the owning company.
The MongoDB ObjectId of the category this product belongs to.
Body Parameters
Display name of the menu item (e.g.
"Bandeja Paisa").A short description of the menu item.
Sale price of the product (stored as a string to preserve formatting).
Optional array of add-on items, each with
name_extra and price_extra.Response Fields
Human-readable result message.
true on success, false on failure.The newly created product document.
Example
Update a Product
PUT /api/product/:company_id/updating/:product_id
Updates core fields of an existing menu product.
Path Parameters
The MongoDB ObjectId of the owning company.
The MongoDB ObjectId of the product to update.
Body Parameters
Updated name of the product.
Updated description.
Updated sale price.
Set to
false to deactivate the product from the menu.Response Fields
Human-readable result message.
true on success.Example
Add an Extra to a Product
PUT /api/product/agregate/:company_id_resp/extra/:product_id_resp/push
Appends a new extra (add-on) to a product’s extras array.
Path Parameters
The MongoDB ObjectId of the owning company.
The MongoDB ObjectId of the product to update.
Body Parameters
Name of the extra item (e.g.
"Salsa especial").Price of the extra item (stored as a string).
Response Fields
Human-readable result message.
true on success.Example
Update a Product Extra
PUT /api/product/updating/:company_id/:product_id/:extra_id/product
Updates the name_extra and price_extra of a specific item inside the product’s extras array.
Path Parameters
The MongoDB ObjectId of the owning company.
The MongoDB ObjectId of the product that owns the extra.
The MongoDB ObjectId of the extra subdocument to update.
Body Parameters
Updated name for the extra.
Updated price for the extra.
Response Fields
Human-readable result message.
true on success.Example
Delete a Product
DELETE /api/product/delete/:company_id/product/:product_id
Permanently removes a menu product and all its extras.
Path Parameters
The MongoDB ObjectId of the owning company.
The MongoDB ObjectId of the product to delete.
Response Fields
Human-readable result message.
true on success.Example
Delete a Product Extra
DELETE /api/product/delete/:company_id/product/:product_id/extra/:extra_id
Removes a single extra from a product’s extras array without deleting the product itself.
Path Parameters
The MongoDB ObjectId of the owning company.
The MongoDB ObjectId of the product.
The MongoDB ObjectId of the extra subdocument to remove.
Response Fields
Human-readable result message.
true on success.Example
List Products
GET /api/product/list/:company_id/product
Returns a paginated list of all menu products belonging to the specified company, sorted by most recently created.
Path Parameters
The MongoDB ObjectId of the company whose products to retrieve.
Response Fields
Human-readable result message.
true on success.Array of product documents for the company.
Pagination metadata.