What changes between the V1 and V2 Partner APIs, and what to update in an existing integration.
V1 is deprecated but still supported. There is no sunset date, so existing V1 integrations keep working. New integrations should build on V2; existing V1 integrations should plan to migrate when convenient.This page walks through what changes, area by area, and what you need to do in each case.
Swap the V1 city and category endpoints for their V2 equivalents. cityCode is now a query parameter.
Collections and subcategories are optional. You can ignore them and keep your existing city → category → product UI. Adopt them later if you want richer browsing.
primaryCategory in V1 is not primaryCategory in V2.V1 primaryCategory is a curated, city-scoped grouping (e.g. “West End Shows”, “Dubai Desert Safari Tours”). V2 renamed that field primaryCollection and introduced a separate primaryCategory for broad global taxonomy (e.g. “Adventure”, “Attractions & Museums”). Map V1 primaryCategory → V2 primaryCollection.
In V1, the pricing field on a product was a “from” listing price (minimum across variants).V2 redesigned this so there is a single, canonical pricing object:
pricing (V2) — the object to read. Returns currency, profileType (PER_PERSON / PER_GROUP), headoutSellingPrice (MSP), and netPrice (the partner net price for API Partners).
listingPrice (V2) — exists on the response for backward compatibility but is deprecated. Don’t use it in new code.
Each step above is independent. You can migrate one resource at a time — for example, switch product reads to V2 while leaving bookings on V1 — and roll forward when each piece is verified. There is no requirement to flip everything at once.
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.