VANITYPASS
White-label APIWishlists

Wishlist Items

Add and remove experiences within a user's wishlist.

Wishlist Items

Items are the experiences saved inside a wishlist. Each item is keyed by its experience product_code and carries a lightweight snapshot of the experience — its title, destination, price, and image — so the wishlist can be rendered without re-fetching every experience.

As with all wishlist endpoints, requests are authenticated as the end user and must include:

  • Authorization: Bearer <JWT> — the user's access token
  • X-App-Id: <uuid> — your white-label app identifier
  • X-Environment: Sandbox | Production — target environment

A wishlist item (WishlistItem) has this shape:

FieldTypeNotes
product_codestringExperience product code — the item key.
titlestringExperience title.
added_atinteger (int64)Timestamp the item was added.
currencystring | nullCurrency of price.
destination_namestring | nullDestination display name.
image_urlstring | nullThumbnail / cover image URL.
pricenumber (double) | nullSnapshot price at time of saving.

Add Item

POST /v1/travel/experiences/wishlists/{wishlist_id}/items

Adds an experience to the given wishlist. Only product_code is required; the remaining fields let you store a display snapshot so the wishlist renders instantly. Pass them if you have them (for example, from the experience search result the user saved from) — otherwise omit them.

ParameterInTypeNotes
wishlist_idpathstring (uuid)Wishlist UUID.
FieldTypeRequiredNotes
product_codestringYesExperience product code to save.
titlestring | nullNoExperience title snapshot.
destination_namestring | nullNoDestination display name.
image_urlstring | nullNoThumbnail / cover image URL.
pricenumber (double) | nullNoSnapshot price.
currencystring | nullNoCurrency of price.
Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
POST/v1/travel/experiences/wishlists/{wishlist_id}/items

Sandbox credentials

Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.

curl -X POST 'https://cloud.vanitypass.com/v1/travel/experiences/wishlists/{wishlist_id}/items' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \
  -d '{"product_code":"5010SYDNEY","title":"Sydney Harbour Sunset Cruise","destination_name":"Sydney","image_url":"https://cdn.example.com/experiences/5010sydney.jpg","price":89,"currency":"AUD"}'

Remove Item

DELETE /v1/travel/experiences/wishlists/{wishlist_id}/items/{product_code}

Removes the experience identified by product_code from the wishlist. The item is addressed directly by its product code — there is no request body.

ParameterInTypeNotes
wishlist_idpathstring (uuid)Wishlist UUID.
product_codepathstringProduct code of the item to remove.
Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
DELETE/v1/travel/experiences/wishlists/{wishlist_id}/items/{product_code}

Sandbox credentials

Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.

curl -X DELETE 'https://cloud.vanitypass.com/v1/travel/experiences/wishlists/{wishlist_id}/items/{product_code}' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \