Core API

Pantry

Manage a user’s pantry and use the AI pantry helpers to categorize items, normalize names, and estimate expiry. These power the “what’s in my kitchen?” experience.

Endpoints

GET/v1/ingredients/pantryList pantry items
POST/v1/ingredients/pantryAdd an item
PUT/v1/ingredients/pantry/{id}Update an item
DELETE/v1/ingredients/pantry/{id}Remove an item
GET/v1/ingredients/pantry/insightsSuggested recipes, expiring items & shopping gaps
POST/api/v1/pantry/suggest-categoriesAI: categorize & normalize ingredients

List and filter items

GET /v1/ingredients/pantry

Returns the authenticated user's pantry, paginated with ?per_page= (default 100, max 200). Filter server-side with ?category= (fridge, cupboard, spices, freezer, fresh) and ?search= for a name match.

Add an item

POST /v1/ingredients/pantry

Only ingredient_name is required. Everything else is optional metadata the app uses for expiry tracking and organization. Returns 201 Created with the stored item.

{
  "ingredient_name": "chicken thigh",
  "quantity": "400",
  "unit": "g",
  "category": "fridge",
  "expiry_date": "2026-07-24",
  "notes": "bone-in, skin-on"
}

Suggest categories

POST /api/v1/pantry/suggest-categories

Pass a list of raw ingredient names; the AI returns a canonical name, a pantry category (fridge, cupboard, spices, freezer, fresh), and a confidence score.

{
  "ingredients": ["chicken thigh", "basmati", "garam masala"],
  "ingredient_name": null
}