Method
GET /v1/products/:id/itinerary
Path Parameters
uuid
required
Product ID.
Query Parameters
string
Optional locale override (e.g.,
fr, en-GB) for day titles/descriptions.string
Comma-separated list of extras to include:
segments and/or options.Headers
string
Bearer token (requires
products:read).Request Example
curl "https://api.voyantcloud.com/v1/products/prod_123/itinerary?locale=fr&include=segments,options" \
-H "Authorization: Bearer $VOYANT_API_KEY"
const res = await fetch("https://api.voyantcloud.com/v1/products/prod_123/itinerary?include=segments", {
headers: { Authorization: `Bearer ${process.env.VOYANT_API_KEY}` },
})
const payload = await res.json()
import os, requests
resp = requests.get(
"https://api.voyantcloud.com/v1/products/prod_123/itinerary",
params={"include": "segments"},
headers={"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}"},
)
itinerary = resp.json()
Response
{
"itinerary_id": "iti_01J0C3M4N7Z4YB8V5KT7S01Q2X",
"version_id": "itv_01J0C3MY5Y2D2T3GQH1FH0N4JM",
"days": [
{
"id": "day_001",
"day_no": 1,
"title": "Arrivée et installation",
"description": "Accueil à l'aéroport et transfert à l'hôtel.",
"thumbnail_url": null,
"thumbnail_asset_id": null,
"segments": [
{
"id": "seg_001",
"day_id": "day_001",
"sort": 1,
"title": "Transfert privé",
"description": "Chauffeur anglophone",
"place_id": "ChIJd_Y0eVIvkIARuQyDN0F1LBA",
"start_time": "09:00",
"end_time": "10:30",
"option_groups": [
{
"id": "grp_001",
"activity_id": "seg_001",
"type": "addons",
"label": "Extras",
"description": null,
"min_selections": 0,
"max_selections": 2,
"is_required": false,
"sort_index": 1,
"options": [
{
"id": "opt_001",
"group_id": "grp_001",
"label": "Champagne à bord",
"description": "Bouteille de champagne brut",
"price_delta": 45,
"currency": "EUR",
"duration_minutes": null,
"inventory_sku": null,
"capacity_per_slot": null,
"timeslot_rule_id": null,
"min_qty": 0,
"max_qty": 1,
"is_default": false,
"sort_index": 1
}
]
}
]
}
]
}
]
}
include=options implies segments and expands each segment with option_groups. Use include=segments alone when you only need segment ordering without options.