---
title: "Generate a trip's packing list"
method: POST
path: "/api/trips/{id}/checklist/generate"
tags: ["Checklist"]
---

# Generate a trip's packing list

`POST /api/trips/{id}/checklist/generate`

## Request

- Base URL: `https://trvlrr.app`
- URL: `https://trvlrr.app/api/trips/{id}/checklist/generate`
- Auth: HTTP bearer

Copies the master list onto the trip (seeding starters if the master list is empty) and asks the AI for up to 15 items specific to the destinations, season and activities. Items already on the trip are not duplicated. Uses a checklist generate.

## Path parameters

- `id` string, required: The trip id.

## Response `200`

What was added, and the whole list.

- GeneratedChecklist
  - `added_master` integer, required
  - `added_smart` integer, required
  - `items` ChecklistItem[], required
    - `id` string, required
    - `person_id` string, nullable, required
    - `text` string, required
    - `section` 'documents' | 'clothing' | 'tech' | 'health' | 'other', required
    - `done` integer, required: 0 or 1.
    - `source` 'master' | 'smart' | 'manual', required
    - `position` integer, required
    - `remind_on` string, nullable: Date, YYYY-MM-DD.
    - `remind_time` string, nullable: "HH:MM"; empty means 09:00.

## Other responses

- `401`: No usable credential: a Clerk session token, a device token or an OAuth access token is required.
- `402`: Trvlrr Plus is required, or this month's AI allowance is used up.
- `403`: The caller may not do this to this account or trip.
- `404`: No such thing, or not one the caller can see.

---

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