The Products endpoints power FridgeRadar’s shared catalog of groceries and household goods. Products are the building blocks referenced by both the Inventory and Recipe systems — every item on a shelf traces back to a product record here. Categories let you group related products (Dairy, Produce, Frozen, etc.) and expose icon and color metadata for richer UIs. All endpoints require a valid Bearer token.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/EstefanoARG/FridgeRadar/llms.txt
Use this file to discover all available pages before exploring further.
Create a product
Request body —ProductoCreate
Display name of the product (e.g.
"Whole Milk 1L").Optional longer description of the product.
ID of the category this product belongs to. Optional — can be assigned later via PATCH.
EAN / UPC barcode string, used for scanning-based lookup. Optional.
The unit used to measure quantity — e.g.
"unidad", "kg", "litro". Defaults to "unidad".Whether the product can expire. When
true, expiry tracking is enabled for inventory entries. Defaults to true.Typical number of days before this product expires after purchase. Used to pre-fill
fecha_vencimiento when adding to inventory. Optional.URL or path to a product image. Optional.
id_producto.
POST /api/v1/productos → 201 Created
List products
Search term matched against product names. Case-insensitive substring search. Optional.
Filter results to products belonging to a specific category. Optional.
GET /api/v1/productos → 200 OK — returns an array of ProductoResponse objects.
Create a product category
Request body —CategoriaProductoCreate
Display name of the category (e.g.
"Dairy", "Produce").Icon identifier or emoji string for UI rendering (e.g.
"🥛" or "dairy-icon"). Optional.Hex color code or named color used to badge this category in the UI (e.g.
"#4A90D9"). Optional.id_categoria.
POST /api/v1/productos/categorias → 201 Created
List product categories
Returns all available product categories. Use this to populate category pickers in forms and to resolveid_categoria values in product responses.
GET /api/v1/productos/categorias → 200 OK — returns an array of CategoriaProductoResponse objects.
Get a single product
The unique ID of the product to retrieve.
ProductoConCategoriaResponse shape which nests the full category object rather than just its ID.
GET /api/v1/productos/{id_producto} → 200 OK — returns ProductoConCategoriaResponse.
Update a product
ID of the product to update.
ProductoUpdate (all fields optional)
New display name for the product.
Updated description.
Reassign the product to a different category.
Updated or corrected barcode string.
Change the unit of measure used for this product.
Toggle whether expiry tracking applies to this product.
Update the typical days-until-expiry hint.
New image URL or path.
ProductoResponse.
PATCH /api/v1/productos/{id_producto} → 200 OK
Delete a product
ID of the product to permanently delete.
DELETE /api/v1/productos/{id_producto} → 204 No Content
Response schemas
ProductoResponse
Unique catalog identifier for the product.
Display name of the product.
Optional longer description.
ID of the product’s category, or
null if uncategorized.Barcode string, or
null if not set.Unit of measure (e.g.
"unidad", "kg", "litro").Whether expiry tracking is enabled for this product.
Typical number of days until expiry, or
null if unknown.Image URL or path, or
null if not set.ProductoConCategoriaResponse
Extends ProductoResponse with one additional field returned by GET /api/v1/productos/{id_producto}.
The full category object nested inline, or
null if the product has no category.