Whisk Docs
Whisk HomeHelp CenterDeveloper Tools
v1.0.0
v1.0.0
  • Overview
  • Guides
    • Creating An Account
    • Getting Started
    • Whisk Sandbox
  • API
    • Authentication
      • Server Token
      • Client Token
      • User Access Token
      • Anonymous Access
    • Recipes
      • Get Recipe
      • Get Recipe Categories
      • Recipe Objects
    • Recipe Discovery
      • Recipe Feed
      • Recipe Search
      • Get Similar Recipes
    • Shopping Lists
      • Get Shopping Lists
      • Create A Shopping List
      • Add Items To A Shopping List
      • List Analysis
    • Meal Plans
      • Meal Plan Management
      • Delete Meals
      • Auto-Generator
      • Error Handling
    • Retailers
      • Get Available Stores
      • Retailers Checkout Flow
      • Retailer Aliases
      • OAuth Retailer Flow
      • Retailer User Info
      • Search Store Items
    • Carts
      • Create a Cart
      • Update Cart Item
      • Splitting Combined Items
      • Add Items To Cart
      • Add Recipes To Cart
      • Get Cart Item Options
      • Swap Cart Item Product
      • Delete A Cart Or A Cart Item
      • Checkout
    • Users
      • Get A User
      • Update A User
    • User Recipes & Collections
      • Add User Recipe
      • Create A Recipe
      • Update External Recipe
      • Get All User Recipes
      • Update User Recipe
      • Remove Recipe from Favorites
      • Create Collection
      • Get All User Collections
      • Get Collection
      • Get Recipes from a Collection
      • Remove Collection
    • Tools
      • Autocomplete
  • Shopping List SDK
    • Overview
    • Examples
      • Shoppable Recipes
      • Shoppable Products
      • Shoppable Media
    • Basic Setup
      • Basic Setup
      • Methods
      • Event Listeners
      • Widget
      • Subscriptions
      • Global Configuration
      • UTM Parameters
      • Using With SPA
  • Shopping List Mobile API
    • Overview
    • Examples
    • Reference
  • Tips and Tricks
    • Object IDs
    • URL Lookup
    • Searching
    • Multiple IDs request
  • Resources
    • Nutrients
    • Recipe Labels
    • Health Score, Glycemic Index, Glycemic Load
    • Whisk User Data
    • Supported Retailers
    • Optimizing Image Load
Powered by GitBook
On this page
  • Create Meal Plan
  • The Meal Plan ID
  • Get Meal Schedule
  • Manage Meal
  • Add Meal
  • Update Meal
  • Delete Meal from Meal Plan
  • Delete Meal from Meal Plan
  • Conflicts resolution
  • Get Meal Plan Recipes

Was this helpful?

  1. API
  2. Meal Plans

Meal Plan Management

PreviousMeal PlansNextDelete Meals

Last updated 4 years ago

Was this helpful?

Create Meal Plan

Calling any one of the Meal Planner API endpoints will first check whether the user has a meal plan assigned to them. If they do not, the meal plan will be automatically created for them. This means that the developer is not required to actively create a meal plan for the user.

The Meal Plan ID

Our clearly shows that each endpoint has two versions - one with meal_plan_id and one without.

For example:

GET

/mealplan/v2/meal

and

GET

/mealplan/v2/:meal_plan_id/meal

The meal_plan_id section is optional - the endpoint will return the same result whether it is provided or not.

This is because Whisk supports a single meal plan for each user at this time. Multiple meal plans will be supported in future versions. Therefore, the meal_plan_id will be directly derived from the user’s ID. The user ID is extracted using the OAuth token provided with each endpoint header, as described above.

Get Meal Schedule

GET

/mealplan/v2/meal

This endpoint gets a list of meals for a specified time period. For more information, follow this link:.

Manage Meal

Add Meal

POST

/mealplan/v2/meal

Update Meal

PUT

/mealplan/v2/meal/:meal_id

Delete Meal from Meal Plan

Removes a single meal from a specified meal plan.

Delete Meal from Meal Plan

DELETE https://graph.whisk.com/mealplan/v2/meal/:meal_id

Path Parameters

Name
Type
Description

meal_id

string

The meal identifier

Request Body

Name
Type
Description

meal_plan_id

string

The meal plan identifier

{}

Conflicts resolution

The on_conflict field allows meals to either replace or be inserted into daily meal slots when using the Add Meal or Update Meal endpoints. This helps the meal planner avoid any conflicting actions in case of adding or updating a meal into a daily slot which already is populated with a pre-existing meal.

Here are the following options for the on_conflict field:

  • DAY_SLOT_CONFLICT_ACTION_REPLACE - the new meal will replace the existing one. This is the default option.

  • DAY_SLOT_CONFLICT_ACTION_INSERT - the new meal will be inserted before the existing one, pushing it, along with all following meals, forward one daily slot. However, if you exceed the maximum number of daily meals (7), a 400 error response will be returned.

  • DAY_SLOT_CONFLICT_ACTION_FAIL - the new meal will not be inserted into the daily slot, and a 400 error will be returned.

Get Meal Plan Recipes

To get the recipes for the meal plan just use the recipe search endpoint:

POST

/recipe/v2/search

API spec:

API spec:

API spec:

More info here:

API spec
https://api.whisk.com/spec/#/MealPlanAPI/GetMealSchedule2
https://api.whisk.com/spec/#/MealPlanAPI/AddMeal2
https://api.whisk.com/spec/#/MealPlanAPI/UpdateMeal2
https://api.whisk.com/spec/#/MealPlanAPI/DeleteMeal2
https://api.whisk.com/spec/#/RecipeAPI/SearchRecipes