update_preferences
Edit the user's food profile: add or remove foods they like or dislike, add or remove allergies from the major US allergen list, or set their diet style. Only the fields sent change. A removal matches a saved name in any casing; a name that matches nothing is reported in not_found and nothing else is affected. Adding a food to likes takes it off dislikes, and the reverse. Lists hold up to 50 foods of up to 80 characters each. The reply is the whole updated profile. It saves what the user states about their own tastes and allergies, not inferences from the diary. Every call carries user_approved: true, meaning the user saw this exact change and said yes to it; a call without it changes nothing and returns the change for the user to approve. A user stating a preference (e.g. 'I dislike olives') has not approved saving it: approval is a later message agreeing to the change as proposed. The server cannot verify that a person gave the approval. Removals work without health-data consent and then return only what was removed. The user can see and edit the same profile in Forkmate's Settings.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| add_likes | No | Foods the user enjoys, e.g. 'salmon'. | |
| diet_style | No | The user's diet style; 'none' clears it. | |
| add_dislikes | No | Foods the user dislikes, e.g. 'mushrooms'. A taste preference, not an allergy or a restriction. | |
| remove_likes | No | Foods to take off the likes list. | |
| add_allergies | No | Allergens to add, from the major US allergen list. | |
| user_approved | Yes | True only when the previous assistant message proposed this exact change and the user's latest message agreed to it. The user stating the preference itself is not approval. | |
| remove_dislikes | No | Foods to take off the dislikes list. | |
| remove_allergies | No | Allergens to remove. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| likes | No | ||
| removed | Yes | ||
| dislikes | No | ||
| allergies | No | ||
| not_found | Yes | ||
| diet_style | No | ||
| portion_note | No | ||
| allergy_disclaimer | No |