Skip To Main Content
All modules

Recipes

Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.

Reciperecipe

A saved recipe with ingredients and steps. The same operations reach the meal plan, a recipe or meal on a date and slot (type 'meal'), and add a recipe's ingredients to a grocery list (type 'groceries').

recipes_findFindthrough vritto_find

Read Recipes: with no filter this week's meal plan and recent recipes; query, course and favorite search saved recipes (compact rows); an id returns one recipe's ingredients and steps; type 'meal' with start/end lists the meal plan.

Note: With no filter: this week's meal plan and recent recipes. type 'meal' with start/end reads the meal plan.

FieldTypeDescription
typeone of recipe, meal'recipe' (default) saved recipes; 'meal' the meal plan.
idstringOne saved recipe's full detail.
querystringText matched against title, cuisine, tags, and ingredients.
courseone of breakfast, lunch, dinner, snack, dessert, sideRecipes for this course.
favoritebooleanOnly favorites.
includeArchivedboolean
startstringMeal plan: earliest date (inclusive).
endstringMeal plan: latest date (inclusive). ALWAYS pass start/end when the question concerns a week or a day.
detailone of summary, full'summary' (default) compact recipe rows; 'full' every field incl. ingredients, steps, and notes.
limitintegerMax rows (recipes 50, meal plan entries 200 by default).
recipeIdstringOlder name for id.
Example input
{
  "query": "dal"
}
recipes_addCreatethrough vritto_create

Add to Recipes: a recipe the user dictates or pastes (recipe), a meal on the plan (type 'meal': a saved recipe's recipeId or an ad-hoc recipeTitle on a date and slot), or a recipe's ingredients onto a grocery list (type 'groceries'; a new list when no listId is given). For a recipe from the web, use recipes_generateRecipe.

Note: type 'meal' plans a meal; type 'groceries' adds a recipe's ingredients to a grocery list (a new list when no listId is given).

FieldTypeDescription
typeone of recipe, meal, groceriesRecord type: 'recipe' (default) a saved recipe; 'meal' a meal plan entry on a date and slot; 'groceries' (add only) a recipe's ingredients pushed onto a grocery list.
recipeobjectFull recipe body. Writes replace stored fields, so include everything to keep.
recipe.title*stringRecipe title.
recipe.descriptionstring
recipe.sourceUrlstringOriginal recipe URL.
recipe.sourceNamestring
recipe.servingsinteger
recipe.prepMinutesinteger
recipe.cookMinutesinteger
recipe.difficultyone of easy, medium, hardDifficulty.
recipe.cuisinestring
recipe.courseslist of one of
recipe.tagslist of string
recipe.ingredientslist of object
recipe.stepslist of object
recipe.ratingintegerWhole-star rating 1-5, only when the user stated one.
recipe.favoritebooleanMark as a favorite when the user calls it one.
recipe.notesstring
entryobjectType 'meal': the meal plan entry.
entry.date*stringCalendar date, YYYY-MM-DD.
entry.mealSlot*one of breakfast, lunch, dinner, snack
entry.recipeIdstringSaved recipe id, if planning a saved recipe.
entry.recipeTitlestringMeal title; required for ad-hoc meals with no recipeId.
entry.servingsinteger
entry.notesstring
entry.sortRanknumber
recipeIdstringType 'groceries': the recipe whose ingredients to add.
listIdstringType 'groceries': an existing grocery list id; omit to create a new list.
listTitlestringType 'groceries': title for the new list when listId is omitted.
shoppingDatestringType 'groceries': shopping date for the new list (default today). Ignored when listId is given.
servingsMultipliernumberType 'groceries': scale ingredient quantities by this factor (default 1).
Example input
{
  "recipe": {
    "title": "Weeknight dal",
    "servings": 4,
    "prepMinutes": 10,
    "cookMinutes": 30,
    "cuisine": "Indian",
    "courses": [
      "dinner"
    ],
    "ingredients": [
      {
        "name": "red lentils",
        "quantity": "1",
        "unit": "cup"
      },
      {
        "name": "onion",
        "quantity": "1",
        "note": "diced"
      }
    ],
    "steps": [
      {
        "text": "Rinse the lentils."
      },
      {
        "text": "Simmer with onion and spices for 25 minutes."
      }
    ]
  }
}
recipes_changeUpdatethrough vritto_update

Change one recipe by id (patch its fields, archived true archives it; rating 1-5 or null) or one meal plan entry (type 'meal': status cooked, skipped or planned; patch moves its date or slot or changes servings or notes). Resolve the id with recipes_find first.

FieldTypeDescription
typeone of recipe, meal'recipe' (default) a saved recipe; 'meal' a meal plan entry.
idstringThe recipe, or with type 'meal' the entry, to change.
patchobjectThe fields to change; the rest stay. A recipe's fields, or a meal's date, mealSlot, servings and notes.
patch.titlestringRecipe title.
patch.descriptionstring
patch.sourceUrlstringOriginal recipe URL.
patch.sourceNamestring
patch.servingsinteger
patch.prepMinutesinteger
patch.cookMinutesinteger
patch.difficultyone of easy, medium, hardDifficulty.
patch.cuisinestring
patch.courseslist of one of
patch.tagslist of string
patch.ingredientslist of object
patch.stepslist of object
patch.favoritebooleanMark as a favorite when the user calls it one.
patch.notesstring
patch.archivedboolean
patch.datestringType 'meal': a new date.
patch.mealSlotone of breakfast, lunch, dinner, snackType 'meal': a new slot.
patch.sortRanknumber
ratingintegerA recipe's stars, 1-5, or null to clear.
statusone of planned, cooked, skippedType 'meal': cooked, skipped, or back to planned.
expectedRevisioninteger
recipeIdstringOlder name for a recipe's id.
entryIdstringOlder name for a meal plan entry's id.
Example input
{
  "id": "recipe_dal",
  "rating": 5
}
recipes_removeDeletethrough vritto_delete

Remove one saved recipe, or one meal plan entry (type 'meal'). Only for explicit removals; a skipped meal is a change.

Note: type 'meal' removes a meal plan entry instead.

FieldTypeDescription
typeone of recipe, meal'recipe' (default) a saved recipe; 'meal' a meal plan entry.
idstringThe recipe, or with type 'meal' the entry, to remove.
recipeIdstringOlder name for a recipe's id.
entryIdstringOlder name for a meal plan entry's id.

Kept in the Vritto app

  • recipes_generateRecipe: Runs Vritto's own AI; the calling assistant is already an AI.
  • recipes_generateRecipeImage: Runs Vritto's own AI; the calling assistant is already an AI.