---
title: "Create Itinerary"
method: POST
path: "/api/v1/itineraries"
tags: ["Itinerary"]
---

# Create Itinerary

`POST /api/v1/itineraries`

## Request

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

Create a new visual itinerary. With trip_external_id the trip's existing
itinerary is returned (200, reused) unless new is true.

## Request body

- object
  - `trip_external_id` string, nullable: Link to a trip.
  - `input_destination` string, required: The destination.
  - `start_date` string, required
  - `end_date` string, required: Must be after start_date.
  - `num_adults` integer, required
  - `num_children` integer, required
  - `children_ages` integer[]
  - `intensity_level` string, nullable
  - `selected_categories` string[]
  - `new` boolean: Create a fresh draft even when the trip already has one.

## Response `200`

- object
  - `itinerary` object
    - `external_id` string
    - `status` string
  - `reused` boolean

## Other responses

- `201`
- `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)
