Skip to main content

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.

The Recipes endpoints provide a full recipe library backed by the FridgeRadar product catalog. Recipes reference catalog products as ingredients, making it straightforward to match available pantry stock against what a recipe requires. Public recipes are visible to all authenticated users; private ones are accessible only to their creator. Favorites let each user maintain a personal shortlist, and tags allow flexible cross-cutting organization. All endpoints require a valid Bearer token.

Create a recipe

Request body — RecetaCreate
nombre
string
required
Display name of the recipe (e.g. "Classic Tomato Pasta").
descripcion
string
A short summary or introduction to the recipe. Optional.
instrucciones
string
Full step-by-step cooking instructions. Markdown is accepted. Optional.
tiempo_preparacion
integer
Estimated preparation time in minutes. Optional.
dificultad
string
Difficulty level. Defaults to "facil". Common values: "facil", "medio", "dificil".
porciones
integer
Number of servings the recipe yields. Optional.
imagen
string
URL or path to a cover image for the recipe. Optional.
calorias
integer
Estimated calorie count per serving. Optional.
es_publica
boolean
Whether the recipe is visible to all users. Defaults to true.
tags
array of integers
List of tag IDs to attach to the recipe. Defaults to an empty list.
ingredientes
array of RecetaIngredienteCreate
List of ingredient objects. Defaults to an empty list.
Creates a new recipe owned by the authenticated user and returns the full RecetaDetalleResponse (including resolved tags and ingredientes arrays) with status 201 Created.
curl -X POST "https://api.fridgeradar.app/api/v1/recetas" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "nombre": "Classic Tomato Pasta",
    "descripcion": "A quick and easy weeknight dinner.",
    "instrucciones": "1. Boil pasta. 2. Sauté garlic. 3. Add tomatoes. 4. Combine and serve.",
    "tiempo_preparacion": 25,
    "dificultad": "facil",
    "porciones": 2,
    "calorias": 480,
    "es_publica": true,
    "tags": [3, 7],
    "ingredientes": [
      { "id_producto": 55, "cantidad": 200, "unidad_medida": "gramo", "obligatorio": true, "nota": "al dente" },
      { "id_producto": 12, "cantidad": 2, "unidad_medida": "unidad", "obligatorio": true, "nota": "diced" }
    ]
  }'
POST /api/v1/recetas201 Created — returns RecetaDetalleResponse.

List public recipes

q
string
Search term matched against recipe names. Case-insensitive substring search. Optional.
Returns all public recipes (es_publica: true). Pass ?q= to search by name — useful for ingredient-driven or keyword-based recipe discovery.
# List all public recipes
curl -X GET "https://api.fridgeradar.app/api/v1/recetas" \
  -H "Authorization: Bearer <token>"

# Search for pasta recipes
curl -X GET "https://api.fridgeradar.app/api/v1/recetas?q=pasta" \
  -H "Authorization: Bearer <token>"
GET /api/v1/recetas200 OK — returns an array of RecetaResponse objects.

Get a single recipe

id_receta
integer
required
The unique ID of the recipe to retrieve.
Fetches one recipe by ID, returning the enriched RecetaDetalleResponse with all resolved tags and ingredientes objects nested inline.
curl -X GET "https://api.fridgeradar.app/api/v1/recetas/18" \
  -H "Authorization: Bearer <token>"
GET /api/v1/recetas/{id_receta}200 OK — returns RecetaDetalleResponse.

Update a recipe

id_receta
integer
required
ID of the recipe to update.
Request body — RecetaUpdate (all fields optional)
nombre
string
Updated recipe name.
descripcion
string
Updated short description.
instrucciones
string
Updated cooking instructions.
tiempo_preparacion
integer
Updated preparation time in minutes.
dificultad
string
Updated difficulty level.
porciones
integer
Updated serving count.
imagen
string
New image URL or path.
calorias
integer
Updated calorie estimate.
es_publica
boolean
Toggle public/private visibility of the recipe.
Applies a partial update to a recipe’s metadata fields. Note: ingredient and tag associations are not modified through this endpoint — they are set at creation time. Returns the updated RecetaDetalleResponse.
curl -X PATCH "https://api.fridgeradar.app/api/v1/recetas/18" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "tiempo_preparacion": 20,
    "dificultad": "medio",
    "es_publica": false
  }'
PATCH /api/v1/recetas/{id_receta}200 OK — returns RecetaDetalleResponse.

Delete a recipe

id_receta
integer
required
ID of the recipe to permanently delete.
Permanently removes a recipe and its associated ingredient and tag records. Only the recipe’s creator can delete it.
curl -X DELETE "https://api.fridgeradar.app/api/v1/recetas/18" \
  -H "Authorization: Bearer <token>"
DELETE /api/v1/recetas/{id_receta}204 No Content

Mark a recipe as favorite

id_receta
integer
required
ID of the recipe to add to the current user’s favorites.
Adds a recipe to the authenticated user’s personal favorites list. If the recipe is already a favorite, the API is idempotent and returns 201 without creating a duplicate.
curl -X POST "https://api.fridgeradar.app/api/v1/recetas/18/favorito" \
  -H "Authorization: Bearer <token>"
POST /api/v1/recetas/{id_receta}/favorito201 Created

Unmark a recipe as favorite

id_receta
integer
required
ID of the recipe to remove from the current user’s favorites.
Removes a recipe from the authenticated user’s personal favorites list.
curl -X DELETE "https://api.fridgeradar.app/api/v1/recetas/18/favorito" \
  -H "Authorization: Bearer <token>"
DELETE /api/v1/recetas/{id_receta}/favorito204 No Content

List my favorite recipes

Returns the full list of recipes the authenticated user has marked as a favorite, in the compact RecetaResponse shape.
curl -X GET "https://api.fridgeradar.app/api/v1/recetas/favoritos/mios" \
  -H "Authorization: Bearer <token>"
GET /api/v1/recetas/favoritos/mios200 OK — returns an array of RecetaResponse objects.

Create a tag

Request body — TagRecetaCreate
nombre
string
required
Display name for the tag (e.g. "Vegetarian", "Quick Meals").
color
string
Hex color code or named color used to render the tag badge (e.g. "#27AE60"). Optional.
Creates a new recipe tag available for use across the shared library. Returns the created tag with its id_tag.
curl -X POST "https://api.fridgeradar.app/api/v1/recetas/tags" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "nombre": "Vegetarian",
    "color": "#27AE60"
  }'
POST /api/v1/recetas/tags201 Created — returns TagRecetaResponse.

List all tags

Returns every tag available in the recipe library. Use this to populate tag pickers when creating or filtering recipes.
curl -X GET "https://api.fridgeradar.app/api/v1/recetas/tags" \
  -H "Authorization: Bearer <token>"
GET /api/v1/recetas/tags200 OK — returns an array of TagRecetaResponse objects.

Response schemas

RecetaResponse

id_receta
integer
Unique identifier for the recipe.
id_usuario_creador
integer | null
ID of the user who created the recipe, or null for system-seeded recipes.
nombre
string
Recipe display name.
descripcion
string | null
Short description or introduction.
instrucciones
string | null
Full cooking instructions.
tiempo_preparacion
integer | null
Estimated preparation time in minutes.
dificultad
string
Difficulty level (e.g. "facil", "medio", "dificil").
porciones
integer | null
Number of servings.
imagen
string | null
Image URL or path, or null if not set.
calorias
integer | null
Estimated calories per serving, or null if not provided.
es_publica
boolean
Whether the recipe is visible to all users.
fecha_creacion
string (datetime)
ISO 8601 timestamp of when the recipe was created.

RecetaDetalleResponse

Extends RecetaResponse with two additional arrays returned by create, get-single, and update endpoints.
tags
array of TagRecetaResponse
Tags attached to this recipe.
ingredientes
array of RecetaIngredienteResponse
Ingredients required by this recipe.

Build docs developers (and LLMs) love