---
title: "Initiate AI itinerary generation."
method: POST
path: "/api/v1/vib-mobile/generate"
tags: ["Endpoints"]
---

# Initiate AI itinerary generation.

`POST /api/v1/vib-mobile/generate`

## Request

- Base URL: `https://www.endlesstravelplans.com`
- URL: `https://www.endlesstravelplans.com/api/v1/vib-mobile/generate`
- Auth: HTTP bearer

Returns build ID for SSE connection.

## Request body

- object
  - `destination` string, required: Must not be greater than 255 characters.
  - `destination_id` integer, nullable: The <code>id</code> of an existing record in the destinations table.
  - `start_date` string, required: Must be a valid date.
  - `end_date` string, required: Must be a valid date. Must be a date after <code>start_date</code>.
  - `num_adults` integer, required: Must be at least 1. Must not be greater than 20.
  - `num_children` integer: Must be at least 0. Must not be greater than 20.
  - `pace` 'relaxed' | 'moderate' | 'intense', required
  - `interests` string[]: Source-of-truth list mirrors lib/pace.ts in the mobile repo. Adult-only chips (nightlife/wellness/wine) are exposed to trips without children; family chip replaces them for child-inclusive trips. Phase 3 (Scramble + openapi-zod-client) will sync these automatically — until then, keep this list in lockstep with ALWAYS_VISIBLE_INTERESTS + FAMILY_INTEREST + ADULT_ONLY_INTERESTS in @/lib/pace.ts.
  - `visual_itinerary_builder_id` integer, nullable: The <code>id</code> of an existing record in the visual_itinerary_builders table.
  - `itinerary_external_id` string, nullable: The <code>external_id</code> of an existing record in the visual_itinerary_builders table.
  - `trip_type` 'single_city' | 'multi_city': Multi-city fields.
  - `stops` string

## Other responses

- `401`: unauthenticated: No valid bearer token was sent.
- `422`: validation_failed: The request body failed validation; field messages are in `errors`.
- `429`: rate_limited: A throttle or a per-account allowance refused the request; `retry_after` or `remaining` may be present.
- `500`: server_error: Unhandled failure; quote `request_id` to support.

---

[API](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api.md) · [All operations](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api/llms.txt) · [OpenAPI document](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api/revisions/ae82ed3e4a8f?raw)
