Endpoints

Initiate AI itinerary generation.

Returns build ID for SSE connection.

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

Request body

destinationstring required

Must not be greater than 255 characters.

destination_idinteger nullable

The <code>id</code> of an existing record in the destinations table.

start_datestring required

Must be a valid date.

end_datestring required

Must be a valid date. Must be a date after <code>start_date</code>.

num_adultsinteger required

Must be at least 1. Must not be greater than 20.

num_childreninteger

Must be at least 0. Must not be greater than 20.

pace'relaxed' | 'moderate' | 'intense' required
interestsstring[]

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_idinteger nullable

The <code>id</code> of an existing record in the visual_itinerary_builders table.

itinerary_external_idstring 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.

stopsstring

Example request

{
  "destination": "b",
  "destination_id": 16,
  "start_date": "2026-10-16T16:25:00",
  "end_date": "2052-11-08",
  "num_adults": 12,
  "num_children": 7,
  "pace": "intense",
  "interests": [
    "adventure"
  ],
  "visual_itinerary_builder_id": 16,
  "itinerary_external_id": "architecto",
  "trip_type": "single_city"
}

Changes

No recorded changes to this operation across all 1 revision of this API.