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 tokenX-App-Id: <uuid>— your white-label app identifierX-Environment: Sandbox | Production— target environment
A wishlist item (WishlistItem) has this shape:
| Field | Type | Notes |
|---|---|---|
product_code | string | Experience product code — the item key. |
title | string | Experience title. |
added_at | integer (int64) | Timestamp the item was added. |
currency | string | null | Currency of price. |
destination_name | string | null | Destination display name. |
image_url | string | null | Thumbnail / cover image URL. |
price | number (double) | null | Snapshot 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.
| Parameter | In | Type | Notes |
|---|---|---|---|
wishlist_id | path | string (uuid) | Wishlist UUID. |
| Field | Type | Required | Notes |
|---|---|---|---|
product_code | string | Yes | Experience product code to save. |
title | string | null | No | Experience title snapshot. |
destination_name | string | null | No | Destination display name. |
image_url | string | null | No | Thumbnail / cover image URL. |
price | number (double) | null | No | Snapshot price. |
currency | string | null | No | Currency of price. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/experiences/wishlists/{wishlist_id}/itemsSandbox 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.
| Parameter | In | Type | Notes |
|---|---|---|---|
wishlist_id | path | string (uuid) | Wishlist UUID. |
product_code | path | string | Product code of the item to remove. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./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' \