VANITYPASS
White-label APIExperiences

Experiences

Tours, activities, and attractions — discover, price, and book from your app.

Experiences

Experience endpoints live under /v1/travel/experiences. Let your users discover and book tours, activities, and attractions across thousands of destinations, directly from your white-label app.

Every request is authenticated with the end-user's JWT plus your app headers:

  • Authorization: Bearer <JWT> — issued by your OAuth2 provider
  • X-App-Id: <uuid> (or X-App-Slug: <slug>) — identifies your white-label app
  • X-Environment: Sandbox | Production — routes to the right environment

Discovery

Search Experiences

POST /v1/travel/experiences

Full search with filters — destination, dates, category, price range, duration, rating, and more.

POST /v1/travel/experiences/search

Search by keyword across products, destinations, and attractions.

Get Categories

GET /v1/travel/experiences/categories

Returns all experience categories.

Get Filters

GET /v1/travel/experiences/filters

Returns the available filter options that can be applied to a search.

Experiences by Category

GET /v1/travel/experiences/category/{category_id}

Returns experiences within a specific category.

See the Search guide for full request shapes.


Curated & Nearby

Curated Experiences

GET /v1/travel/experiences/curated

Editorial picks — top-rated and staff-selected experience collections.

GET /v1/travel/experiences/popular-destinations

Top destinations for experiences, ranked by popularity.

Nearby Experiences

POST /v1/travel/experiences/nearby

Find experiences near a GPS coordinate — ideal for "things to do around me".


Availability & Pricing

Get Experience Details

GET /v1/travel/experiences/{product_code}

Full product details — description, inclusions, options, cancellation policy, meeting point, and photos.

Check Availability

GET /v1/travel/experiences/{product_code}/availability

Returns the availability calendar for a product.

Calculate Price

POST /v1/travel/experiences/calculate-price

Get exact pricing for a specific option, date, and traveler mix before creating a hold.

See the Availability & Pricing guide for details.


Bookings

Experiences use a hold-then-pay flow. Reserve a slot, then complete payment before the hold expires.

Hold Booking

POST /v1/travel/experiences/bookings/hold

Get Hold Details

GET /v1/travel/experiences/bookings/{booking_id}/hold

List Bookings

GET /v1/travel/experiences/bookings

Get Booking Details

GET /v1/travel/experiences/bookings/{booking_id}

See the Bookings guide for the full flow.