For the complete documentation index, see llms.txt. This page is also available as Markdown.

Deprecations

This page tracks deprecated endpoints and features, and their recommended replacements.

REST API

Legacy
Replacement
Status

Advisor threads (/nutrition-advisor/threads/...)

POST /napi/tools/nutritionAdvisor

Deprecated. Tools endpoint handles conversation context automatically.

Pre-built meal plans (/food/recommend/mealPlans, /food/suggest/mealTimes)

generateMealPlan, generateMealPlanPreview

Legacy plans not actively maintained. Use AI-generated endpoints instead.

extractFoodAndIngredients

extractIngredientsAutoTyped

Meal hierarchy (mealName, componentName) is now included by default.

Intelligence profile header (Passio-NutritionIP)

message field on the AI tool request

Header still works on the original AI routes. Newer tools read dietary context from message.

SDK

Legacy
Replacement
Status

On-device detection (startFoodDetection, stopFoodDetection)

recognizeImageRemote

On-device models are deprecated. SDK now wraps the remote API by default.

recognizeImageRemoteWithGrouping

recognizeImageRemote

Meal hierarchy is now included by default.

Advisor (initConversation, sendMessage, sendImage)

Pending

Will migrate to tools endpoint in a future release.

Real-time nutrition facts detection (startNutritionFactsDetection, stopNutritionFactsDetection)

recognizeNutritionFactsRemote

Use the remote endpoint instead of real-time camera detection.

Legacy meal plans (fetchMealPlans, fetchMealPlanForDay)

generateMealPlan, generateMealPlanPreview

Use AI-generated endpoints instead.

Notes

  • On-device detection: The legacy startFoodDetection / stopFoodDetection flow with on-device models is deprecated. The current SDK uses remote API calls by default (recognizeImageRemote), which provides better accuracy and a larger food database. If you are still using on-device detection, migrate to recognizeImageRemote (SDK) or extractIngredientsAutoTyped (REST API).

  • Advisor: The thread-based advisor API is replaced by the simpler tools endpoint (nutritionAdvisor), which handles conversation context automatically. The SDK still uses the older advisor pattern and will be updated in a future release.

  • Meal Plans: The pre-built plans (/food/recommend/mealPlans) return static, curated plans. For personalized, AI-generated plans use generateMealPlan and generateMealPlanPreview instead.

  • Intelligence profile: Passing the profile as a Passio-NutritionIP header is the older pattern and is not wired up for every newer AI tool. The message field is accepted on all AI tool requests - text, image, and video - and takes any format (plain text, stringified JSON, YAML). generateIntelligenceProfile is not going away; keep using it if you want a normalized profile, then send its result in message instead of the header. See Intelligence Profile.

  • Grouping endpoints: The extractFoodAndIngredients (REST API) and recognizeImageRemoteWithGrouping (SDK) were originally introduced to provide meal-level grouping -- returning a mealName for the overall dish and componentName for sub-groups of ingredients. This hierarchy is now included by default in the standard endpoints:

    • REST API: extractIngredientsAutoTyped returns mealName and componentName on every item in the response array. For example, scanning a bowl of fruit salad will return items with mealName: "Fruit Salad" and individual ingredients (strawberries, blueberries, etc.) as separate items. You can display the mealName as a single entry in your UI, or group by componentName for a structured breakdown.

    • SDK: recognizeImageRemote returns mealName and componentName on each PassioAdvisorFoodInfo object (iOS and Android as of 3.2.14; Flutter and React Native as of 3.3.0).

    The separate grouping endpoints (extractFoodAndIngredients, recognizeImageRemoteWithGrouping) are no longer necessary and should not be used.

Last updated