POST
Create itinerary (internal)

Authorizations

Authorization
string
header
default:dev-internal-api-key
required

Use Authorization: Bearer <access_token> from POST /v1/oauth/token, or Authorization: Bearer <api_key>. Dev-only example key (do not use in production): see repository README.

Query Parameters

brand
string

Distribution channel brand: matches channel name or domainUrl (e.g. Weebora, weebora.com, booking.hofj.com, terrarossa.com). The resolved domain is BOTH the upstream host AND the tenant routing value. If omitted, CONTENT_DEFAULT_CHANNEL_DOMAIN must be set server-side.

locale
enum<string>

Locale for the brand site (it, en, es, fr). Injected as /{locale}/api/... on the upstream call. Defaults to CONTENT_DEFAULT_LOCALE.

Available options:
it,
en,
es,
fr

Body

application/json
productId
required

Product identifier for the brand site. Accept either the numeric CMS id returned by GET /v1/products (e.g. 181) or the alphanumeric trip / provider code (e.g. t0054825, returned by GET /v1/products/tripcode/...).

startDate
string<date>
required

Trip start date (YYYY-MM-DD).

adults
integer
required

Number of adult passengers.

Required range: x >= 1
rooms
integer
required

Number of rooms requested.

Required range: x >= 1
affiliateId
string | null

Optional affiliate identifier for attribution.

currency
enum<string>
default:EUR

Pricing currency for the itinerary.

Available options:
EUR,
USD,
GBP
withoutNavigations
boolean
default:false

If true, the brand site hides header/footer in the embedded checkout layout.

Response

Itinerary created

data
object
required
meta
object