openapi: 3.2.0 info: title: 'Mealie Recipe: Shared 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: 'Recipe: Shared' paths: /api/recipes/shared/{token_id}: get: tags: - 'Recipe: Shared' summary: Get Shared Recipe operationId: get_shared_recipe_api_recipes_shared__token_id__get parameters: - name: token_id in: path required: true schema: type: string format: uuid4 title: Token Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Recipe-Output' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/recipes/shared/{token_id}/zip: get: tags: - 'Recipe: Shared' summary: Get Shared Recipe As Zip description: Get a recipe and its original image as a Zip file operationId: get_shared_recipe_as_zip_api_recipes_shared__token_id__zip_get parameters: - name: token_id in: path required: true schema: type: string format: uuid4 title: Token Id responses: '200': description: Successful Response '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 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 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 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 IngredientReferences: properties: referenceId: anyOf: - type: string format: uuid4 - type: 'null' title: Referenceid type: object title: IngredientReferences description: A list of ingredient references. 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 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 IngredientFoodAlias: properties: name: type: string title: Name type: object required: - name title: IngredientFoodAlias 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 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 CreateIngredientUnitAlias: properties: name: type: string title: Name type: object required: - name title: CreateIngredientUnitAlias 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 RecipeNote: properties: title: type: string title: Title text: type: string title: Text type: object required: - title - text title: RecipeNote 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 IngredientUnitAlias: properties: name: type: string title: Name type: object required: - name title: IngredientUnitAlias 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 HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError 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 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