---
title: "Get the items belonging to a meal plan"
method: GET
path: "/compat/v2/mealPlans/getMealPlanItems"
tags: ["mealPlans"]
---

# Get the items belonging to a meal plan

`GET /compat/v2/mealPlans/getMealPlanItems`

## Request

- Base URL: `https://api.recipesage.com`
- URL: `https://api.recipesage.com/compat/v2/mealPlans/getMealPlanItems`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/recipesage/apis/recipesage-api/docs/compat/v2/mealPlans/getMealPlanItems/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `mealPlanId` string, uuid, required

## Response `200`

Successful response

- object[]
  - `id` string, uuid, required
  - `mealPlanId` string, uuid, required
  - `title` string, required
  - `notes` string, required
  - `scheduled` string, nullable, required
  - `scheduledDate` string, required
  - `meal` string, required
  - `createdAt` string, required
  - `updatedAt` string, required
  - `user` object, required
    - `id` string, uuid, required
    - `name` string, required
    - `handle` string, nullable, required
    - `enableProfile` boolean, required
    - `profileImages` object[], required
      - `order` integer, required
      - `imageId` string, uuid, required
      - `image` object, required
        - `id` string, uuid, required
        - `location` string, required
  - `shoppingListItems` object[], required
    - `id` string, uuid, required
    - `title` string, required
    - `shoppingListId` string, uuid, required
    - `shoppingList` object, required
      - `id` string, uuid, required
      - `title` string, required
  - `recipeId` string, uuid, nullable, required
  - `recipe` object, nullable, required
    - `id` string, uuid, required
    - `title` string, required
    - `ingredients` string, required
    - `recipeImages` object[], required
      - `image` object, required
        - `id` string, uuid, required
        - `location` string, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `404`: Not found
- `500`: Internal server error

## Changes

- **2026-10-25** `7c9d96f4aeff`: 2 breaking, 2 info
  - the response property `items/scheduled` became nullable for the status `200`
  - the response property `items/user/handle` became nullable for the status `200`
  - response property `items/scheduled` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - response property `items/user/handle` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`

[Operation history](https://skmtc.dev/recipesage/apis/recipesage-api/changes/compat/v2/mealPlans/getMealPlanItems/get.md)

---

[API](https://skmtc.dev/recipesage/apis/recipesage-api.md) - [All operations](https://skmtc.dev/recipesage/apis/recipesage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/recipesage/apis/recipesage-api/revisions/48bb065aef70?raw)
