---
title: "Create Manual Trip"
method: POST
path: "/trips/manual"
---

# Create Manual Trip

`POST /trips/manual`

Create a trip from a destination (+ optional dates) WITHOUT starting a
conversation turn — the mobile New-tab sheet. The pre-set title makes
`generate_trip_title` a no-op and nothing enqueues date extraction (same
trick as the email-scan path's `create_scan_trip`); a background task
extracts `extracted_destination` from the destination text so the hero
image resolves without any messages.

## Request body

- CreateManualTripRequest — Chat-less trip creation from the mobile New-trip sheet and the onboarding auto-trip: a destination (required) and optional dates — no first conversation turn is started.
  - `destination` string, required
  - `start_date` string, nullable
  - `end_date` string, nullable
  - `place_ids` string[], nullable
  - `duration_days` integer, nullable
  - `build_itinerary` boolean
  - `build_notes_and_times` boolean
  - `entry_point` string, nullable
  - `excluded_place_ids` string[], nullable

## Response `200`

Successful Response

- CreateTripResponse
  - `id` string, required
  - `conversation_id` string, required
  - `should_show_onboarding` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `places_attached` integer

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/stardrift/apis/fastapi.md) · [All operations](https://skmtc.dev/stardrift/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stardrift/fastapi/revisions/00746572572a/schema)
