---
title: "Save a recipe to cookbook"
method: POST
path: "/api/cookbook/recipes"
tags: ["Cookbook"]
---

# Save a recipe to cookbook

`POST /api/cookbook/recipes`

## Request

- Base URL: `https://api.rewritelifestyle.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rewritelifestyle.ai/api/cookbook/recipes`
- Auth: HTTP bearer

## Request body

- SaveRecipeDto
  - `title` string, required
  - `description` string
  - `mealType` string
  - `calories` number
  - `protein` number
  - `carbs` number
  - `fat` number
  - `fiber` number
  - `ingredients` object
  - `instructions` object
  - `journeyStage` string
  - `customizationNotes` string
  - `userTimezone` string
  - `localTimestamp` string
  - `servings` number
  - `prepTime` string
  - `cookTime` string
  - `source` string
  - `id` object: Recipe ID (ignored on create, used for re-saves)
  - `userId` number: User ID (ignored, extracted from JWT)
  - `macros` object: Nested macros object from AI-generated recipes
  - `tags` object: Recipe tags
  - `createdAt` string: Creation timestamp from client
  - `original_recipe_id` object: Original recipe ID if customized
  - `creator_name` string: Creator name for community recipes
  - `image` string
  - `meal_type` string
  - `prep_time` string
  - `surgeryStage` string
  - `dietaryRestrictions` string[]
  - `isCommunity` boolean: Share recipe in the community feed. Defaults to true.
  - `ai_note` string: Personalized AI coaching note (not shown in community feed)
  - `nutrition` string[]: Full nutrition breakdown. Merged into macros so all entries are preserved.

## Response `201`

- unknown

---

[API](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api.md) - [All operations](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/revisions/28695827f27a?raw)
