generated: '2026-08-12' method: derived source: openapi/_original/fatsecret-platform-openapi.yml components.schemas + operation parameters docs: https://platform.fatsecret.com/docs/guides/parameters note: >- Derived from the $ref graph and the id-reference parameters across the 23 catalogued operations, cross-checked against the provider's Parameters guide, which publishes the identifier vocabulary (food_id, serving_id, exercise_id, recipe_id, user_id) and their data types. identifiers: - field: food_id type: string/long entity: Food storable: true - field: serving_id type: string/long entity: Serving storable: true - field: recipe_id type: string/long entity: Recipe - field: exercise_id type: int entity: Exercise - field: user_id type: string entity: Profile - field: food_entry_id type: string/long entity: FoodEntry - field: saved_meal_id type: string/long entity: SavedMeal storable_data: policy: >- fatsecret restricts persistence — on foods.search v5 only food_id and serving_id may be stored; nutrition values must be re-fetched rather than cached indefinitely. docs: https://platform.fatsecret.com/docs/guides/storable-data entities: - name: Food schema: '#/components/schemas/Food' fields: [food_id, food_name, brand_name, food_type, food_url, servings] operations: [searchFoods, autocompleteFoods, findFoodByBarcode, getFood] - name: Serving fields: [serving_id, serving_description, metric_serving_amount, nutrients] note: nested under Food.servings; the unit of nutrition measurement - name: FoodSearchResults schema: '#/components/schemas/FoodSearchResults' fields: ['foods.food[]', max_results, page_number, total_results] operations: [searchFoods] - name: Recipe operations: [searchRecipes, getRecipe] - name: RecipeType operations: [listRecipeTypes] - name: FoodBrand operations: [listFoodBrands] - name: FoodCategory operations: [listFoodCategories] - name: FoodSubCategory operations: [listFoodSubCategories] - name: Exercise operations: [listExercises] - name: Profile note: >- the OAuth 1.0a 3-legged subject; every profile-scoped entity below belongs to exactly one Profile, bound by the access token rather than by a path parameter - name: FavoriteFood operations: [getFavoriteFoods, addFavoriteFood, deleteFavoriteFood] - name: SavedMeal operations: [listSavedMeals, createSavedMeal] - name: FoodEntry operations: [getFoodEntries, createFoodEntry, getFoodEntriesMonth] - name: ExerciseEntry operations: [getExerciseEntries, commitExerciseEntries] - name: WeightEntry operations: [getWeights, updateWeight] relationships: - from: FoodSearchResults to: Food kind: has_many via: foods.food[] evidence: $ref '#/components/schemas/Food' - from: Food to: Serving kind: has_many via: servings - from: Food to: FoodBrand kind: belongs_to via: brand_name - from: Food to: FoodCategory kind: belongs_to via: food_sub_categories - from: FoodEntry to: Food kind: belongs_to via: food_id - from: FoodEntry to: Serving kind: belongs_to via: serving_id - from: FoodEntry to: Profile kind: belongs_to via: oauth access token - from: FavoriteFood to: Food kind: belongs_to via: food_id - from: FavoriteFood to: Profile kind: belongs_to via: oauth access token - from: SavedMeal to: Food kind: has_many via: saved_meal_items -> food_id - from: SavedMeal to: Profile kind: belongs_to via: oauth access token - from: ExerciseEntry to: Exercise kind: belongs_to via: exercise_id - from: ExerciseEntry to: Profile kind: belongs_to via: oauth access token - from: WeightEntry to: Profile kind: belongs_to via: oauth access token - from: Recipe to: RecipeType kind: belongs_to via: recipe_types - from: Recipe to: Food kind: has_many via: ingredients -> food_id domains: - name: catalog entities: [Food, Serving, Recipe, RecipeType, FoodBrand, FoodCategory, FoodSubCategory, Exercise] auth: OAuth 2.0 client_credentials (application-scoped) - name: profile entities: [Profile, FavoriteFood, SavedMeal, FoodEntry, ExerciseEntry, WeightEntry] auth: OAuth 1.0a 3-legged (member-scoped)