openapi: 3.2.0 info: title: 'Mealie Households: Shopping Lists API' description: ' Mealie is a web application for managing your recipes, meal plans, and shopping lists. This is the Restful API interactive documentation that can be used to explore the API. If you''re justing getting started with the API and want to get started quickly, you can use the [API Usage | Mealie Docs](https://docs.mealie.io/documentation/getting-started/api-usage/) as a reference for how to get started. If you have any questions or comments about mealie, please use the discord server to talk to the developers or other community members. If you''d like to file an issue, please use the [GitHub Issue Tracker | Mealie](https://github.com/mealie-recipes/mealie/issues/new/choose) ## Helpful Links - [Home Page](https://mealie.io) - [Documentation](https://docs.mealie.io) - [Discord](https://discord.gg/QuStdQGSGK) - [Demo](https://demo.mealie.io) ' version: nightly tags: - name: 'Households: Shopping Lists' paths: /api/households/shopping/lists: get: tags: - 'Households: Shopping Lists' summary: Get All operationId: get_all_api_households_shopping_lists_get security: - OAuth2PasswordBearer: [] parameters: - name: orderBy in: query required: false schema: anyOf: - type: string - type: 'null' title: Orderby - name: orderByNullPosition in: query required: false schema: anyOf: - $ref: '#/components/schemas/OrderByNullPosition' - type: 'null' title: Orderbynullposition - name: orderDirection in: query required: false schema: $ref: '#/components/schemas/OrderDirection' default: desc - name: queryFilter in: query required: false schema: anyOf: - type: string - type: 'null' title: Queryfilter - name: paginationSeed in: query required: false schema: anyOf: - type: string - type: 'null' title: Paginationseed - name: page in: query required: false schema: type: integer default: 1 title: Page - name: perPage in: query required: false schema: type: integer default: 50 title: Perpage - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListPagination' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - 'Households: Shopping Lists' summary: Create One operationId: create_one_api_households_shopping_lists_post security: - OAuth2PasswordBearer: [] parameters: - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ShoppingListCreate' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/households/shopping/lists/{item_id}: get: tags: - 'Households: Shopping Lists' summary: Get One operationId: get_one_api_households_shopping_lists__item_id__get security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - 'Households: Shopping Lists' summary: Update One operationId: update_one_api_households_shopping_lists__item_id__put security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ShoppingListUpdate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - 'Households: Shopping Lists' summary: Delete One operationId: delete_one_api_households_shopping_lists__item_id__delete security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/households/shopping/lists/{item_id}/label-settings: put: tags: - 'Households: Shopping Lists' summary: Update Label Settings operationId: update_label_settings_api_households_shopping_lists__item_id__label_settings_put security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/ShoppingListMultiPurposeLabelUpdate' title: Data responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/households/shopping/lists/{item_id}/recipe: post: tags: - 'Households: Shopping Lists' summary: Add Recipe Ingredients To List operationId: add_recipe_ingredients_to_list_api_households_shopping_lists__item_id__recipe_post security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/ShoppingListAddRecipeParamsBulk' title: Data responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/households/shopping/lists/{item_id}/recipe/{recipe_id}: post: tags: - 'Households: Shopping Lists' summary: Add Single Recipe Ingredients To List operationId: add_single_recipe_ingredients_to_list_api_households_shopping_lists__item_id__recipe__recipe_id__post deprecated: true security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: recipe_id in: path required: true schema: type: string format: uuid4 title: Recipe Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: content: application/json: schema: anyOf: - $ref: '#/components/schemas/ShoppingListAddRecipeParams' - type: 'null' title: Data responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/households/shopping/lists/{item_id}/recipe/{recipe_id}/delete: post: tags: - 'Households: Shopping Lists' summary: Remove Recipe Ingredients From List operationId: remove_recipe_ingredients_from_list_api_households_shopping_lists__item_id__recipe__recipe_id__delete_post security: - OAuth2PasswordBearer: [] parameters: - name: item_id in: path required: true schema: type: string format: uuid4 title: Item Id - name: recipe_id in: path required: true schema: type: string format: uuid4 title: Recipe Id - name: accept-language in: header required: false schema: anyOf: - type: string - type: 'null' title: Accept-Language requestBody: content: application/json: schema: anyOf: - $ref: '#/components/schemas/ShoppingListRemoveRecipeParams' - type: 'null' title: Data responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ShoppingListOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: CreateIngredientFoodAlias: properties: name: type: string title: Name type: object required: - name title: CreateIngredientFoodAlias IngredientUnit-Input: properties: id: type: string format: uuid4 title: Id name: type: string title: Name pluralName: anyOf: - type: string - type: 'null' title: Pluralname description: type: string title: Description default: '' extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} fraction: type: boolean title: Fraction default: true abbreviation: type: string title: Abbreviation default: '' pluralAbbreviation: anyOf: - type: string - type: 'null' title: Pluralabbreviation default: '' useAbbreviation: type: boolean title: Useabbreviation default: false aliases: items: $ref: '#/components/schemas/IngredientUnitAlias' type: array title: Aliases default: [] standardQuantity: anyOf: - type: number - type: 'null' title: Standardquantity standardUnit: anyOf: - type: string - type: 'null' title: Standardunit createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat update_at: anyOf: - type: string format: date-time - type: 'null' title: Update At type: object required: - id - name title: IngredientUnit ShoppingListSummary: properties: name: anyOf: - type: string - type: 'null' title: Name extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat updatedAt: anyOf: - type: string format: date-time - type: 'null' title: Updatedat groupId: type: string format: uuid4 title: Groupid userId: type: string format: uuid4 title: Userid id: type: string format: uuid4 title: Id householdId: type: string format: uuid4 title: Householdid recipeReferences: items: $ref: '#/components/schemas/ShoppingListRecipeRefOut' type: array title: Recipereferences labelSettings: items: $ref: '#/components/schemas/ShoppingListMultiPurposeLabelOut' type: array title: Labelsettings type: object required: - groupId - userId - id - householdId - recipeReferences - labelSettings title: ShoppingListSummary MultiPurposeLabelSummary: properties: name: type: string title: Name color: type: string title: Color default: '#959595' groupId: type: string format: uuid4 title: Groupid id: type: string format: uuid4 title: Id type: object required: - name - groupId - id title: MultiPurposeLabelSummary ShoppingListMultiPurposeLabelUpdate: properties: shoppingListId: type: string format: uuid4 title: Shoppinglistid labelId: type: string format: uuid4 title: Labelid position: type: integer title: Position default: 0 id: type: string format: uuid4 title: Id type: object required: - shoppingListId - labelId - id title: ShoppingListMultiPurposeLabelUpdate RecipeTool: properties: id: type: string format: uuid4 title: Id groupId: anyOf: - type: string format: uuid4 - type: 'null' title: Groupid name: type: string title: Name slug: type: string title: Slug recipeCount: type: integer title: Recipecount default: 0 householdsWithTool: items: type: string type: array title: Householdswithtool default: [] type: object required: - id - name - slug title: RecipeTool ShoppingListUpdate: properties: name: anyOf: - type: string - type: 'null' title: Name extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat update_at: anyOf: - type: string format: date-time - type: 'null' title: Update At groupId: type: string format: uuid4 title: Groupid userId: type: string format: uuid4 title: Userid id: type: string format: uuid4 title: Id listItems: items: $ref: '#/components/schemas/ShoppingListItemOut-Input' type: array title: Listitems default: [] type: object required: - groupId - userId - id title: ShoppingListUpdate ShoppingListItemOut-Output: properties: quantity: type: number title: Quantity default: 1 unit: anyOf: - $ref: '#/components/schemas/IngredientUnit-Output' - type: 'null' food: anyOf: - $ref: '#/components/schemas/IngredientFood-Output' - type: 'null' referencedRecipe: anyOf: - $ref: '#/components/schemas/Recipe-Output' - type: 'null' note: anyOf: - type: string - type: 'null' title: Note default: '' display: type: string title: Display default: '' shoppingListId: type: string format: uuid4 title: Shoppinglistid checked: type: boolean title: Checked default: false position: type: integer title: Position default: 0 foodId: anyOf: - type: string format: uuid4 - type: 'null' title: Foodid labelId: anyOf: - type: string format: uuid4 - type: 'null' title: Labelid unitId: anyOf: - type: string format: uuid4 - type: 'null' title: Unitid extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} id: type: string format: uuid4 title: Id groupId: type: string format: uuid4 title: Groupid householdId: type: string format: uuid4 title: Householdid label: anyOf: - $ref: '#/components/schemas/MultiPurposeLabelSummary' - type: 'null' recipeReferences: items: $ref: '#/components/schemas/ShoppingListItemRecipeRefOut' type: array title: Recipereferences default: [] createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat updatedAt: anyOf: - type: string format: date-time - type: 'null' title: Updatedat type: object required: - shoppingListId - id - groupId - householdId title: ShoppingListItemOut Recipe-Output: properties: id: anyOf: - type: string format: uuid4 - type: 'null' title: Id userId: type: string format: uuid4 title: Userid householdId: type: string format: uuid4 title: Householdid groupId: type: string format: uuid4 title: Groupid name: anyOf: - type: string - type: 'null' title: Name slug: type: string title: Slug default: '' image: anyOf: - {} - type: 'null' title: Image recipeServings: type: number title: Recipeservings default: 0 recipeYieldQuantity: type: number title: Recipeyieldquantity default: 0 recipeYield: anyOf: - type: string - type: 'null' title: Recipeyield totalTime: anyOf: - type: string - type: 'null' title: Totaltime prepTime: anyOf: - type: string - type: 'null' title: Preptime cookTime: anyOf: - type: string - type: 'null' title: Cooktime performTime: anyOf: - type: string - type: 'null' title: Performtime description: anyOf: - type: string - type: 'null' title: Description default: '' recipeCategory: anyOf: - items: $ref: '#/components/schemas/RecipeCategory' type: array - type: 'null' title: Recipecategory default: [] tags: anyOf: - items: $ref: '#/components/schemas/RecipeTag' type: array - type: 'null' title: Tags default: [] tools: items: $ref: '#/components/schemas/RecipeTool' type: array title: Tools default: [] rating: anyOf: - type: number - type: 'null' title: Rating orgURL: anyOf: - type: string - type: 'null' title: Orgurl dateAdded: anyOf: - type: string format: date - type: 'null' title: Dateadded dateUpdated: anyOf: - type: string format: date-time - type: 'null' title: Dateupdated createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat updatedAt: anyOf: - type: string format: date-time - type: 'null' title: Updatedat lastMade: anyOf: - type: string format: date-time - type: 'null' title: Lastmade recipeIngredient: items: $ref: '#/components/schemas/RecipeIngredient-Output' type: array title: Recipeingredient default: [] recipeInstructions: anyOf: - items: $ref: '#/components/schemas/RecipeStep' type: array - type: 'null' title: Recipeinstructions default: [] nutrition: anyOf: - $ref: '#/components/schemas/Nutrition' - type: 'null' settings: anyOf: - $ref: '#/components/schemas/RecipeSettings' - type: 'null' assets: anyOf: - items: $ref: '#/components/schemas/RecipeAsset' type: array - type: 'null' title: Assets default: [] notes: anyOf: - items: $ref: '#/components/schemas/RecipeNote' type: array - type: 'null' title: Notes default: [] extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} comments: anyOf: - items: $ref: '#/components/schemas/RecipeCommentOut-Output' type: array - type: 'null' title: Comments default: [] type: object title: Recipe ShoppingListAddRecipeParams: properties: recipeIncrementQuantity: type: number title: Recipeincrementquantity default: 1 recipeIngredients: anyOf: - items: $ref: '#/components/schemas/RecipeIngredient-Input' type: array - type: 'null' title: Recipeingredients type: object title: ShoppingListAddRecipeParams ShoppingListRemoveRecipeParams: properties: recipeDecrementQuantity: type: number title: Recipedecrementquantity default: 1 type: object title: ShoppingListRemoveRecipeParams IngredientReferences: properties: referenceId: anyOf: - type: string format: uuid4 - type: 'null' title: Referenceid type: object title: IngredientReferences description: A list of ingredient references. RecipeCommentOut-Input: properties: recipeId: type: string format: uuid4 title: Recipeid text: type: string title: Text id: type: string format: uuid4 title: Id createdAt: type: string format: date-time title: Createdat update_at: type: string format: date-time title: Update At userId: type: string format: uuid4 title: Userid user: $ref: '#/components/schemas/mealie__schema__recipe__recipe_comments__UserBase' type: object required: - recipeId - text - id - createdAt - update_at - userId - user title: RecipeCommentOut IngredientFood-Output: properties: id: type: string format: uuid4 title: Id name: type: string title: Name pluralName: anyOf: - type: string - type: 'null' title: Pluralname description: type: string title: Description default: '' extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} labelId: anyOf: - type: string format: uuid4 - type: 'null' title: Labelid aliases: items: $ref: '#/components/schemas/IngredientFoodAlias' type: array title: Aliases default: [] householdsWithIngredientFood: items: type: string type: array title: Householdswithingredientfood default: [] label: anyOf: - $ref: '#/components/schemas/MultiPurposeLabelSummary' - type: 'null' createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat updatedAt: anyOf: - type: string format: date-time - type: 'null' title: Updatedat type: object required: - id - name title: IngredientFood ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError RecipeIngredient-Input: properties: quantity: anyOf: - type: number - type: 'null' title: Quantity default: 0 unit: anyOf: - $ref: '#/components/schemas/IngredientUnit-Input' - $ref: '#/components/schemas/CreateIngredientUnit' - type: 'null' title: Unit food: anyOf: - $ref: '#/components/schemas/IngredientFood-Input' - $ref: '#/components/schemas/CreateIngredientFood' - type: 'null' title: Food referencedRecipe: anyOf: - $ref: '#/components/schemas/Recipe-Input' - type: 'null' note: anyOf: - type: string - type: 'null' title: Note default: '' display: type: string title: Display default: '' title: anyOf: - type: string - type: 'null' title: Title originalText: anyOf: - type: string - type: 'null' title: Originaltext referenceId: type: string format: uuid title: Referenceid type: object title: RecipeIngredient CreateIngredientFood: properties: id: anyOf: - type: string format: uuid4 - type: 'null' title: Id name: type: string title: Name pluralName: anyOf: - type: string - type: 'null' title: Pluralname description: type: string title: Description default: '' extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} labelId: anyOf: - type: string format: uuid4 - type: 'null' title: Labelid aliases: items: $ref: '#/components/schemas/CreateIngredientFoodAlias' type: array title: Aliases default: [] householdsWithIngredientFood: items: type: string type: array title: Householdswithingredientfood default: [] type: object required: - name title: CreateIngredientFood Recipe-Input: properties: id: anyOf: - type: string format: uuid4 - type: 'null' title: Id userId: type: string format: uuid4 title: Userid householdId: type: string format: uuid4 title: Householdid groupId: type: string format: uuid4 title: Groupid name: anyOf: - type: string - type: 'null' title: Name slug: type: string title: Slug default: '' image: anyOf: - {} - type: 'null' title: Image recipeServings: type: number title: Recipeservings default: 0 recipeYieldQuantity: type: number title: Recipeyieldquantity default: 0 recipeYield: anyOf: - type: string - type: 'null' title: Recipeyield totalTime: anyOf: - type: string - type: 'null' title: Totaltime prepTime: anyOf: - type: string - type: 'null' title: Preptime cookTime: anyOf: - type: string - type: 'null' title: Cooktime performTime: anyOf: - type: string - type: 'null' title: Performtime description: anyOf: - type: string - type: 'null' title: Description default: '' recipeCategory: anyOf: - items: $ref: '#/components/schemas/RecipeCategory' type: array - type: 'null' title: Recipecategory default: [] tags: anyOf: - items: $ref: '#/components/schemas/RecipeTag' type: array - type: 'null' title: Tags default: [] tools: items: $ref: '#/components/schemas/RecipeTool' type: array title: Tools default: [] rating: anyOf: - type: number - type: 'null' title: Rating orgURL: anyOf: - type: string - type: 'null' title: Orgurl dateAdded: anyOf: - type: string format: date - type: 'null' title: Dateadded dateUpdated: anyOf: - type: string format: date-time - type: 'null' title: Dateupdated createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat update_at: anyOf: - type: string format: date-time - type: 'null' title: Update At lastMade: anyOf: - type: string format: date-time - type: 'null' title: Lastmade recipeIngredient: items: $ref: '#/components/schemas/RecipeIngredient-Input' type: array title: Recipeingredient default: [] recipeInstructions: anyOf: - items: $ref: '#/components/schemas/RecipeStep' type: array - type: 'null' title: Recipeinstructions default: [] nutrition: anyOf: - $ref: '#/components/schemas/Nutrition' - type: 'null' settings: anyOf: - $ref: '#/components/schemas/RecipeSettings' - type: 'null' assets: anyOf: - items: $ref: '#/components/schemas/RecipeAsset' type: array - type: 'null' title: Assets default: [] notes: anyOf: - items: $ref: '#/components/schemas/RecipeNote' type: array - type: 'null' title: Notes default: [] extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} comments: anyOf: - items: $ref: '#/components/schemas/RecipeCommentOut-Input' type: array - type: 'null' title: Comments default: [] type: object title: Recipe IngredientFoodAlias: properties: name: type: string title: Name type: object required: - name title: IngredientFoodAlias ShoppingListMultiPurposeLabelOut: properties: shoppingListId: type: string format: uuid4 title: Shoppinglistid labelId: type: string format: uuid4 title: Labelid position: type: integer title: Position default: 0 id: type: string format: uuid4 title: Id label: $ref: '#/components/schemas/MultiPurposeLabelSummary' type: object required: - shoppingListId - labelId - id - label title: ShoppingListMultiPurposeLabelOut ShoppingListItemOut-Input: properties: quantity: type: number title: Quantity default: 1 unit: anyOf: - $ref: '#/components/schemas/IngredientUnit-Input' - type: 'null' food: anyOf: - $ref: '#/components/schemas/IngredientFood-Input' - type: 'null' referencedRecipe: anyOf: - $ref: '#/components/schemas/Recipe-Input' - type: 'null' note: anyOf: - type: string - type: 'null' title: Note default: '' display: type: string title: Display default: '' shoppingListId: type: string format: uuid4 title: Shoppinglistid checked: type: boolean title: Checked default: false position: type: integer title: Position default: 0 foodId: anyOf: - type: string format: uuid4 - type: 'null' title: Foodid labelId: anyOf: - type: string format: uuid4 - type: 'null' title: Labelid unitId: anyOf: - type: string format: uuid4 - type: 'null' title: Unitid extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} id: type: string format: uuid4 title: Id groupId: type: string format: uuid4 title: Groupid householdId: type: string format: uuid4 title: Householdid label: anyOf: - $ref: '#/components/schemas/MultiPurposeLabelSummary' - type: 'null' recipeReferences: items: $ref: '#/components/schemas/ShoppingListItemRecipeRefOut' type: array title: Recipereferences default: [] createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat update_at: anyOf: - type: string format: date-time - type: 'null' title: Update At type: object required: - shoppingListId - id - groupId - householdId title: ShoppingListItemOut ShoppingListRecipeRefOut: properties: id: type: string format: uuid4 title: Id shoppingListId: type: string format: uuid4 title: Shoppinglistid recipeId: type: string format: uuid4 title: Recipeid recipeQuantity: type: number title: Recipequantity recipe: $ref: '#/components/schemas/RecipeSummary' type: object required: - id - shoppingListId - recipeId - recipeQuantity - recipe title: ShoppingListRecipeRefOut ShoppingListCreate: properties: name: anyOf: - type: string - type: 'null' title: Name extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat update_at: anyOf: - type: string format: date-time - type: 'null' title: Update At type: object title: ShoppingListCreate ShoppingListOut: properties: name: anyOf: - type: string - type: 'null' title: Name extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat updatedAt: anyOf: - type: string format: date-time - type: 'null' title: Updatedat groupId: type: string format: uuid4 title: Groupid userId: type: string format: uuid4 title: Userid id: type: string format: uuid4 title: Id listItems: items: $ref: '#/components/schemas/ShoppingListItemOut-Output' type: array title: Listitems default: [] householdId: type: string format: uuid4 title: Householdid recipeReferences: items: $ref: '#/components/schemas/ShoppingListRecipeRefOut' type: array title: Recipereferences default: [] labelSettings: items: $ref: '#/components/schemas/ShoppingListMultiPurposeLabelOut' type: array title: Labelsettings default: [] type: object required: - groupId - userId - id - householdId title: ShoppingListOut RecipeCommentOut-Output: properties: recipeId: type: string format: uuid4 title: Recipeid text: type: string title: Text id: type: string format: uuid4 title: Id createdAt: type: string format: date-time title: Createdat updatedAt: type: string format: date-time title: Updatedat userId: type: string format: uuid4 title: Userid user: $ref: '#/components/schemas/UserBase-Output' type: object required: - recipeId - text - id - createdAt - updatedAt - userId - user title: RecipeCommentOut IngredientUnit-Output: properties: id: type: string format: uuid4 title: Id name: type: string title: Name pluralName: anyOf: - type: string - type: 'null' title: Pluralname description: type: string title: Description default: '' extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} fraction: type: boolean title: Fraction default: true abbreviation: type: string title: Abbreviation default: '' pluralAbbreviation: anyOf: - type: string - type: 'null' title: Pluralabbreviation default: '' useAbbreviation: type: boolean title: Useabbreviation default: false aliases: items: $ref: '#/components/schemas/IngredientUnitAlias' type: array title: Aliases default: [] standardQuantity: anyOf: - type: number - type: 'null' title: Standardquantity standardUnit: anyOf: - type: string - type: 'null' title: Standardunit createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat updatedAt: anyOf: - type: string format: date-time - type: 'null' title: Updatedat type: object required: - id - name title: IngredientUnit RecipeAsset: properties: name: type: string title: Name icon: type: string title: Icon fileName: anyOf: - type: string - type: 'null' title: Filename type: object required: - name - icon title: RecipeAsset mealie__schema__recipe__recipe_comments__UserBase: properties: id: type: string format: uuid4 title: Id username: anyOf: - type: string - type: 'null' title: Username admin: type: boolean title: Admin fullName: anyOf: - type: string - type: 'null' title: Fullname type: object required: - id - admin title: UserBase ShoppingListItemRecipeRefOut: properties: recipeId: type: string format: uuid4 title: Recipeid recipeQuantity: type: number title: Recipequantity default: 0 recipeScale: anyOf: - type: number - type: 'null' title: Recipescale default: 1 recipeNote: anyOf: - type: string - type: 'null' title: Recipenote id: type: string format: uuid4 title: Id shoppingListItemId: type: string format: uuid4 title: Shoppinglistitemid type: object required: - recipeId - id - shoppingListItemId title: ShoppingListItemRecipeRefOut RecipeTag: properties: id: anyOf: - type: string format: uuid4 - type: 'null' title: Id groupId: anyOf: - type: string format: uuid4 - type: 'null' title: Groupid name: type: string title: Name slug: type: string title: Slug recipeCount: type: integer title: Recipecount default: 0 type: object required: - name - slug title: RecipeTag RecipeSettings: properties: public: type: boolean title: Public default: false showNutrition: type: boolean title: Shownutrition default: false showAssets: type: boolean title: Showassets default: false landscapeView: type: boolean title: Landscapeview default: false disableComments: type: boolean title: Disablecomments default: true locked: type: boolean title: Locked default: false type: object title: RecipeSettings ShoppingListAddRecipeParamsBulk: properties: recipeIncrementQuantity: type: number title: Recipeincrementquantity default: 1 recipeIngredients: anyOf: - items: $ref: '#/components/schemas/RecipeIngredient-Input' type: array - type: 'null' title: Recipeingredients recipeId: type: string format: uuid4 title: Recipeid type: object required: - recipeId title: ShoppingListAddRecipeParamsBulk CreateIngredientUnitAlias: properties: name: type: string title: Name type: object required: - name title: CreateIngredientUnitAlias IngredientFood-Input: properties: id: type: string format: uuid4 title: Id name: type: string title: Name pluralName: anyOf: - type: string - type: 'null' title: Pluralname description: type: string title: Description default: '' extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} labelId: anyOf: - type: string format: uuid4 - type: 'null' title: Labelid aliases: items: $ref: '#/components/schemas/IngredientFoodAlias' type: array title: Aliases default: [] householdsWithIngredientFood: items: type: string type: array title: Householdswithingredientfood default: [] label: anyOf: - $ref: '#/components/schemas/MultiPurposeLabelSummary' - type: 'null' createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat update_at: anyOf: - type: string format: date-time - type: 'null' title: Update At type: object required: - id - name title: IngredientFood CreateIngredientUnit: properties: id: anyOf: - type: string format: uuid4 - type: 'null' title: Id name: type: string title: Name pluralName: anyOf: - type: string - type: 'null' title: Pluralname description: type: string title: Description default: '' extras: anyOf: - additionalProperties: true type: object - type: 'null' title: Extras default: {} fraction: type: boolean title: Fraction default: true abbreviation: type: string title: Abbreviation default: '' pluralAbbreviation: anyOf: - type: string - type: 'null' title: Pluralabbreviation default: '' useAbbreviation: type: boolean title: Useabbreviation default: false aliases: items: $ref: '#/components/schemas/CreateIngredientUnitAlias' type: array title: Aliases default: [] standardQuantity: anyOf: - type: number - type: 'null' title: Standardquantity standardUnit: anyOf: - type: string - type: 'null' title: Standardunit type: object required: - name title: CreateIngredientUnit IngredientUnitAlias: properties: name: type: string title: Name type: object required: - name title: IngredientUnitAlias RecipeNote: properties: title: type: string title: Title text: type: string title: Text type: object required: - title - text title: RecipeNote Nutrition: properties: calories: anyOf: - type: string - type: 'null' title: Calories carbohydrateContent: anyOf: - type: string - type: 'null' title: Carbohydratecontent cholesterolContent: anyOf: - type: string - type: 'null' title: Cholesterolcontent fatContent: anyOf: - type: string - type: 'null' title: Fatcontent fiberContent: anyOf: - type: string - type: 'null' title: Fibercontent proteinContent: anyOf: - type: string - type: 'null' title: Proteincontent saturatedFatContent: anyOf: - type: string - type: 'null' title: Saturatedfatcontent sodiumContent: anyOf: - type: string - type: 'null' title: Sodiumcontent sugarContent: anyOf: - type: string - type: 'null' title: Sugarcontent transFatContent: anyOf: - type: string - type: 'null' title: Transfatcontent unsaturatedFatContent: anyOf: - type: string - type: 'null' title: Unsaturatedfatcontent type: object title: Nutrition RecipeIngredient-Output: properties: quantity: anyOf: - type: number - type: 'null' title: Quantity default: 0 unit: anyOf: - $ref: '#/components/schemas/IngredientUnit-Output' - $ref: '#/components/schemas/CreateIngredientUnit' - type: 'null' title: Unit food: anyOf: - $ref: '#/components/schemas/IngredientFood-Output' - $ref: '#/components/schemas/CreateIngredientFood' - type: 'null' title: Food referencedRecipe: anyOf: - $ref: '#/components/schemas/Recipe-Output' - type: 'null' note: anyOf: - type: string - type: 'null' title: Note default: '' display: type: string title: Display default: '' title: anyOf: - type: string - type: 'null' title: Title originalText: anyOf: - type: string - type: 'null' title: Originaltext referenceId: type: string format: uuid title: Referenceid type: object title: RecipeIngredient RecipeSummary: properties: id: anyOf: - type: string format: uuid4 - type: 'null' title: Id userId: type: string format: uuid4 title: Userid householdId: type: string format: uuid4 title: Householdid groupId: type: string format: uuid4 title: Groupid name: anyOf: - type: string - type: 'null' title: Name slug: type: string title: Slug default: '' image: anyOf: - {} - type: 'null' title: Image recipeServings: type: number title: Recipeservings default: 0 recipeYieldQuantity: type: number title: Recipeyieldquantity default: 0 recipeYield: anyOf: - type: string - type: 'null' title: Recipeyield totalTime: anyOf: - type: string - type: 'null' title: Totaltime prepTime: anyOf: - type: string - type: 'null' title: Preptime cookTime: anyOf: - type: string - type: 'null' title: Cooktime performTime: anyOf: - type: string - type: 'null' title: Performtime description: anyOf: - type: string - type: 'null' title: Description default: '' recipeCategory: anyOf: - items: $ref: '#/components/schemas/RecipeCategory' type: array - type: 'null' title: Recipecategory default: [] tags: anyOf: - items: $ref: '#/components/schemas/RecipeTag' type: array - type: 'null' title: Tags default: [] tools: items: $ref: '#/components/schemas/RecipeTool' type: array title: Tools default: [] rating: anyOf: - type: number - type: 'null' title: Rating orgURL: anyOf: - type: string - type: 'null' title: Orgurl dateAdded: anyOf: - type: string format: date - type: 'null' title: Dateadded dateUpdated: anyOf: - type: string format: date-time - type: 'null' title: Dateupdated createdAt: anyOf: - type: string format: date-time - type: 'null' title: Createdat updatedAt: anyOf: - type: string format: date-time - type: 'null' title: Updatedat lastMade: anyOf: - type: string format: date-time - type: 'null' title: Lastmade type: object title: RecipeSummary HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ShoppingListPagination: properties: page: type: integer title: Page default: 1 per_page: type: integer title: Per Page default: 10 total: type: integer title: Total default: 0 total_pages: type: integer title: Total Pages default: 0 items: items: $ref: '#/components/schemas/ShoppingListSummary' type: array title: Items next: anyOf: - type: string - type: 'null' title: Next previous: anyOf: - type: string - type: 'null' title: Previous type: object required: - items title: ShoppingListPagination OrderDirection: type: string enum: - asc - desc title: OrderDirection RecipeCategory: properties: id: anyOf: - type: string format: uuid4 - type: 'null' title: Id groupId: anyOf: - type: string format: uuid4 - type: 'null' title: Groupid name: type: string title: Name slug: type: string title: Slug recipeCount: type: integer title: Recipecount default: 0 type: object required: - name - slug title: RecipeCategory UserBase-Output: properties: id: type: string format: uuid4 title: Id username: anyOf: - type: string - type: 'null' title: Username admin: type: boolean title: Admin fullName: anyOf: - type: string - type: 'null' title: Fullname type: object required: - id - admin title: UserBase OrderByNullPosition: type: string enum: - first - last title: OrderByNullPosition RecipeStep: properties: id: anyOf: - type: string format: uuid - type: 'null' title: Id title: anyOf: - type: string - type: 'null' title: Title default: '' summary: anyOf: - type: string - type: 'null' title: Summary default: '' text: type: string title: Text ingredientReferences: items: $ref: '#/components/schemas/IngredientReferences' type: array title: Ingredientreferences default: [] type: object required: - text title: RecipeStep securitySchemes: OAuth2PasswordBearer: type: oauth2 flows: password: scopes: {} tokenUrl: /api/auth/token