add_to_pantry
ChatGPTAdd or restock pantry items from what the user says in passing: "bought rice and two chickens", "here's what's in the fridge". An item already in the pantry gets the new quantity. Names are matched loosely, so 'Eggs' and 'eggs' are the same item. Returns the whole pantry after the change.
cooked_history
ChatGPTList what the user cooked and when, newest first, for "what did we cook last week", "when did I last make the lasagna", "what have we been eating". Call it before planning a week so the plan avoids repeating recent dishes and ingredients. Each entry carries the day, the user's note and the recipe summary with its source link. Without since, until or recipe_id it covers the last 30 days.
create_cookbook
ChatGPTCreate an empty cookbook, for "make me a BBQ cookbook". Not needed before save_recipe, which creates a cookbook it does not know. Fails when a cookbook with that name exists already.
delete_cookbook
ChatGPTDelete a cookbook by name. No recipe is lost: any recipe that was only in this cookbook moves to the default cookbook. The default cookbook cannot be deleted.
find_by_ingredients
ChatGPTFind recipes that use ingredients the user already has: leftovers, a full fridge, an ingredient about to turn. Ranks by how many of those ingredients a recipe uses and how few extra ones it needs. The user's pantry counts as on hand too, so a recipe that only needs pantry staples on top of what was passed ranks as nearly complete; with no ingredients passed it cooks from the pantry alone, for "what can I make with what I have"; when the pantry is empty too, ask_user carries the question to put to the user. Takes the same diet, nutrition and exclude_ingredients filters as search_recipes. Each result links to its source. The user's profile, when set in the app, excludes allergens and dislikes, keeps its diets on and supplies the default time budget; pass max_total_minutes=-1 to lift it.
get_pantry
ChatGPTList what the user has told you is in their kitchen: pantry, fridge and freezer, with quantities when they gave one. For "what do I have", before suggesting a shopping list, or to check an ingredient before recommending a recipe. find_by_ingredients with no ingredients searches from this list directly.
get_recipe
ChatGPTGet one recipe in full: ingredients, step-by-step instructions, times, yield, nutrition and its source link. For when the user picks a recipe from a search or asks how to make it. Pass servings to scale the ingredient quantities, e.g. for meal prep or a crowd; nutrition_for says whether the nutrition numbers are per serving or for the whole yield.
list_cookbooks
ChatGPTList the user's cookbooks with how many recipes each holds, for "what cookbooks do I have", or before saving when the user says "the usual one". Every user has a default cookbook; the others are named by the user, e.g. Stews, BBQ, Christmas.
list_saved
ChatGPTList the recipes the user saved in ask.recipes, for "my recipes", "what did I save", "what's in my Stews cookbook". Each recipe lists the cookbooks it is in and the user's note; pass cookbook to see one cookbook only. Each also carries when it was last cooked and how many times, when mark_cooked recorded it. Not the Thermomix / Bimby / Cookidoo side; that is list_cookidoo_recipes.
mark_cooked
ChatGPTRecord that the user cooked a recipe, for "we made that tonight", "cooked the curry yesterday", "the lasagna was a hit". One entry per time it was cooked, with the day and an optional note on how it went. Pass date when the user names a day other than today. The recipe need not be saved. Returns the entry plus how many times and when this recipe was last cooked.
remove_from_pantry
ChatGPTTake items out of the pantry for "used the last onions", "we're out of milk", or empty it with all=true when the user lists what is in the kitchen now, then add_to_pantry. Names are matched loosely. Returns the whole pantry after the change.
save_recipe
ChatGPTSave a recipe to the user's collection, for "save that one", "keep this", "add it to my recipes". Saving the same recipe twice has no further effect.
search_recipes
ChatGPTSearch recipes for a what-to-cook or what-to-eat question: dinner tonight, cooking for guests, a quick weeknight meal, a protein or calorie target, macros for a cut or a bulk, meal prep for the week. Every result links to its source. Filters by time, rating, review count, diet (vegetarian, vegan, gluten_free, dairy_free, nut_free, judged from the ingredient list) and nutrition (calories, protein, fat, carbs, sugar, fiber per serving as reported by the source). A nutrition filter only returns recipes whose yield is stated in servings, so the numbers are per serving; recipes without nutrition data are excluded. Results rank by how closely they match the query; min_rating and min_reviews cut below a threshold only when passed. exclude_ingredients leaves out recipes using any of the ingredients named, for building a week without repeats. main_protein keeps recipes whose main protein is one of the values passed, for week rules like one chicken, two fish and three vegetarian dinners; every result carries main_protein. The user's profile, when they set one in the app, applies on top: allergens and dislikes are always excluded, its diets are always on, and its time budget is the default when max_total_minutes is not passed; pass max_total_minutes=-1 to lift it.
share_recipe
ChatGPTCreate a share link for one of the user's uploaded recipes, for "send this to my wife", "share it with Tom", "give me a link", "add this to MacroFactor". Returns a share.ask.recipes URL that opens without an account and is not listed or indexed; the page credits the recipe's original source and carries schema.org Recipe markup, so apps that import a recipe from a link can read it. Only recipes the user uploaded can be shared; for other recipes the source link is the thing to share.
unsave_recipe
ChatGPTTake a recipe out of the user's cookbooks, for "remove that from my saved", "take it out of Christmas". With cookbook set it leaves only that cookbook; without it the recipe is removed from every cookbook. The recipe itself stays searchable.
upload_recipe
ChatGPTAdd a recipe the user supplies themselves: pasted in, dictated, a family recipe they want kept, or a web page they point at. For a web page, pass the page's raw HTML or its JSON-LD as markup together with source_url; the server extracts the facts. Each call creates a new private recipe, visible only to this user in searches and saves.