Skip to main content

Discover API Guideline

The Discover endpoints return the curated content a partner pins under Template Setting: recommended hotels, airline routes, tours, and attraction products. Use them to build home page and landing page sections.

Endpoints​

EndpointReturns
/api/v1/discover/hotels/recommendedCurated hotels for hotel discovery sections.
/api/v1/discover/hotels/collectionsCurated hotels grouped into marketing collections.
/api/v1/discover/flights/recommendedCurated airline routes grouped by country.
/api/v1/discover/tours/top-rateTours pinned as top rate.
/api/v1/discover/tours/exclusiveTours pinned as exclusive.
/api/v1/discover/attractions/recommendedCurated attraction products grouped by destination.
/api/v1/discover/attractions/trendingAttraction products pinned as trending.
/api/v1/discover/attractions/traveler-favoritesAttraction products pinned as traveler favorites.
/api/v1/discover/attractions/top-destinationsTop attraction destinations with galleries and categories.

Every endpoint accepts GET or POST and needs a Partner-Access-Token header.

Content Ownership​

Content is resolved per partner account. Hotels and flights fall back to the platform list when your account has curated nothing of its own, so a section is rarely empty. Tours and attractions have no fallback and return an empty array until your account pins content.

Where the Content Leads​

  1. A hotel card carries slug and hotel_code. Open it with /api/v1/tourmind/hotels/{slug} and price it with /api/v1/tourmind/hotels/search/prices.
  2. A flight card carries the airport codes, dates, cabin, and trip type needed to prefill a flight search.
  3. A tour card carries slug for the tour detail endpoint.
  4. An attraction card carries product_no and slug for the attraction product endpoints, and a destination carries city_code plus category codes you can pass into an attraction search.

Caching​

Responses are cached per partner, currency, language, and query for up to 60 minutes, and the cache is released early whenever the underlying content changes.

Empty Responses​

An endpoint with nothing curated returns a success envelope with an empty data array. This is not an error, so hide the section rather than showing a failure state.

{
"result": 1,
"message": "success",
"data": []
}