Skip to content

API Quick Reference

Mike Christensen edited this page Aug 28, 2026 · 2 revisions

API quick reference

This is a map to the main public entry points, not a replacement for IntelliSense or source documentation.

Area Entry point Terminal operation
Recipe read context.Recipes.Load(recipe) .List() / .ListAsync()
Recipe search context.Recipes.Search(query) .Results() / .ResultsAsync()
Recipe rating context.Recipes.Rate(recipe, rating) .Commit() / .CommitAsync()
Recipe creation context.Recipes.Create .Commit()
Menus context.Menus.Load/Create/Update/Delete .List*() / .Commit*()
Queue context.Queue.Load/Enqueue/Dequeue .List*() / .Commit*()
Shopping lists context.ShoppingLists.Load/Create/Update/Delete .List() / .Commit()
Modeler context.Modeler.WithAnonymous/WithProfile .Generate() / .Compile()
NLP context.ParseIngredientUsage(text) returns NLP.Result
Ingredient lookup context.ParseIngredient(text) / ReadIngredient returns Ingredient
Autocomplete context.AutocompleteIngredient(text) returns matching nodes
Aggregation AggregateIngredients / AggregateRecipes returns aggregations
Provisioning Export / Import / InitializeStore immediate

Key namespaces

Namespace Purpose
KitchenPC.Core identity, units, amounts, exceptions
KitchenPC.Core.Context contexts, configuration, capabilities, adapter/search interfaces
KitchenPC.Core.Recipes recipes, queries, results, tags and ratings
KitchenPC.Core.Ingredients ingredients, forms, usages, sections and aggregation
KitchenPC.Core.ShoppingLists lists, items and update commands
KitchenPC.Core.Menus menu models and moves
KitchenPC.Core.Modeler profiles, pantry, sessions and model output
KitchenPC.Core.NLP parser results, grammar, synonyms and tracing
KitchenPC.Core.Provisioning snapshot DTOs and source/target contracts
KitchenPC.Core.Middleware ASP.NET Core service registration (shipped by KitchenPC.Core.AspNetCore)
KitchenPC.DB NHibernate adapter and NHSearch

DB capability requirements

API Capability
AutocompleteIngredient IngredientAutocomplete
ParseIngredient, ParseIngredientUsage IngredientParsing
Recipe modeler APIs RecipeModeler
Database CRUD/search/aggregation fallback none

Common domain factories

Recipe.FromId(recipeId)
Ingredient.FromId(ingredientId)
IngredientForm.FromId(formId)
Menu.FromId(menuId)
ShoppingList.Default
new Amount(2, Units.Cup)

Error families

  • Configuration/capability: InvalidConfigurationException, ContextCapabilityNotEnabledException, NoConfiguredSearchProvidersException.
  • Missing data/ownership: RecipeNotFoundException, IngredientNotFoundException, MenuNotFoundException, ShoppingListNotFoundException, UserDoesNotOwnMenuException.
  • Input/conversion: InvalidRecipeDataException, CouldNotParseUsageException, InvalidFormException, IncompatibleAmountException, FluentExpressionException.
  • Modeling: EmptyPantryException, ImpossibleQueryException, DuplicatePantryItemException.

Catch only exceptions you can meaningfully handle. Convert expected input failures into validation responses; let configuration failures fail startup visibly.

Clone this wiki locally