---
title: "Generate Recap"
method: POST
path: "/api/v1/trip-memories/generate-recap"
tags: ["trip-memories"]
---

# Generate Recap

`POST /api/v1/trip-memories/generate-recap`

## Request

- Base URL: `https://yondry.app` (the document declares no server; this is the origin it was published from)
- URL: `https://yondry.app/api/v1/trip-memories/generate-recap`
- Auth: HTTP bearer

Generate an AI recap — returns text only, nothing is saved.

Resolves stop names by trying (in order):
1. generated_plans table (NL planner plans stored as JSON)
2. plans table (rule-based planner)
3. client-provided stop_names fallback

## Request body

- GenerateRecapRequest
  - `plan_id` string, uuid, nullable
  - `plan_name` string, nullable
  - `stop_names` string[]
  - `stop_ratings` object
  - `highlight_note` string, nullable
  - `mood_tag` 'joyful' | 'cosy' | 'adventurous' | 'restorative', required

## Response `200`

Successful Response

- GenerateRecapResponse
  - `recap` string, required

## Other responses

- `422`: Validation Error

---

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