Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback


**HTTP Verb** – POST

**URL** – /api/v1/wishlists

**Description** – Adds a single wish list

**Base** – HandlerBase\<AddWishListParameter, WishListResult>

**Handlers** –

<table class="TableStyle-Borders" style="margin-left: 0; margin-right: auto; width: 100%;" data-cellspacing="0"> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ValidateContext</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>Check UserProfileDto or RememberedUserProfileDto is not null in site context, otherwise return Forbidden</p> <p>If allow multiple wishlists is true and Name parameter is empty return error (MessageProvider.Current.Lists_List_Name_Required)</p> <p>If allow multiple wishlists is false, Name property is not equal to DefaultName and not empty, return error MessageProvider.Current.Multiple_Not_Allowed</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">AddWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>If allow multiple wishlists is false, Name property is empty, then use DefaultName.</p> <p>If allow multiple wishlists is true, filter wishlists by UserProfileDto.Id result value and Name parameter, otherwise get last modified wishlist by UserProfileDto.Id result value. In case when failed to find anything, then create new wishlist and initiate it with context values.</p></td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">700</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">CreateGetWishListResult</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">Get wishlist using CreateGetWishListResult wishList pipeline and set result to GetWishListResult.</td> </tr> </tbody> </table>

**HTTP Verb** – POST

**URL** – /api/v1/wishlists/{wishlistid}/wishlistlines/batch

**Description** – Add a collection of products to a specific wish list

**Base** – HandlerBase\<AddWishListLineCollectionParameter, WishListResult>

**Handlers** –

<table class="TableStyle-Borders" data-cellspacing="0"> <colgroup> <col style="width: 33%" /> <col style="width: 33%" /> <col style="width: 33%" /> </colgroup> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Call GetWishList with WishListId parameter</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetProducts</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Call GetProductCollection with IgnoreIsConfigured set to false and ProductIds from AddWishListLineParameterCollection parameter</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">700</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">AddOrUpdateWishListLineCollection</td> <td class="TableStyle-Borders-BodyA-Regular-Row1"><p>If wishlist  AllowEdit property is false and UserProfileDto or RememberedUserProfileDto from site context are not equal to wishlist UserProfileId, then return Forbidden.</p> <p>Iterate over AddWishListLineParameterCollection parameter, depending on whether WishListProduct already exists or not, update it or add. ReplaceOnAdd setting is controlling what should be done during QtyOrdered property update.</p></td> </tr> </tbody> </table>

**HTTP Verb** – POST

**URL** – /api/v1/wishlists/{wishlistid}/wishlistlines

**Description** – Add a product to a specific wish list

**Base** – HandlerBase\<AddWishListLineParameter, WishListLineResult>

**Handlers** –

<table class="TableStyle-Borders" data-cellspacing="0"> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Call GetWishList with WishListId parameter</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetProduct</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Call GetProduct with ProductId parameter</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">700</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">AddWishListLine</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>If wishlist AllowEdit property is false and UserProfileDto or RememberedUserProfileDto from site context are not equal to wishlist UserProfileId, then return Forbidden.</p> <p>Depending on whether WishListProduct already exists or not, update it or add. ReplaceOnAdd setting is controlling what should be done during QtyOrdered property update.</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">800</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">CreateGetWishListLineResult</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">Call CreateGetWishListLineResults wishList pipeline with WishListLine result property, if ResultCode was ResultCode.Success, then set first GetWishListLineResults into GetWishListLineResult result property.</td> </tr> </tbody> </table>

**HTTP Verb** – GET

**URL** – /api/v1/wishlists/{wishlistId} and /api/v1/wishlists/{wishlistid}/wishlistlines

**Description** – Return a single wishlist

**Base** – HandlerBase\<GetWishListParameter, WishListResult>

**Handlers** –

<table class="TableStyle-Borders" style="margin-left: 0; margin-right: auto; width: 100%;" data-cellspacing="0"> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>Call GetWishListCollection with WishListId, ExcludeListLines, GetStaticList and GetHiddenProducts parameter</p> <p>If number of result wishlists is more then 1 - return NotFound error.</p> <p>If ExcludeListLines parameter is true, then execute next handler</p> <p>If GetAllLines parameter is true, then get all WishListProducts, otherwise apply paging</p> <p>Call CreateGetWishListLineResults wishlist pipeline and set GetWishListLineResults property.</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">GetSharedUsers</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">If GetSharedUsers parameter is false, then execute next handler, otherwise set SharedUsers property. For activated users UserProfile.GetDisplayName() will be called, for others Email will be shown. Only owner can see non-activated WishListShare items.</td> </tr> </tbody> </table>

**HTTP Verb** – GET

**URL** – /api/v1/wishlists/{wishlistid}/wishlistlines/{wishlistid}

**Description** – Return a wish list line for a specific wish list

**Base** – HandlerBase\<GetWishListLineParameter, GetWishListLineResult>

**Handlers** –

<table class="TableStyle-Borders" style="margin-left: 0; margin-right: auto; width: 100%;" data-cellspacing="0"> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Calls GetWishList with WishListId parameter and setting GetHiddenProducts to true.</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">CreateGetWishListLineResult</td> <td class="TableStyle-Borders-BodyA-Regular-Row1"><p>Tries to find WishListProducts with WishListLineId parameter and returns NotFound, if failed.</p> <p>Calls CreateGetWishListLineResults wishlist pipeline, if nothing was returned in GetWishListLineResults, then executes next handler.</p></td> </tr> </tbody> </table>

**HTTP Verb** – GET

**URL** – /api/v1/wishlists

**Description** – Returns all wishlists for the logged in user or bill to customer.

**Base** – HandlerBase\<GetWishListCollectionParameter, GetWishListCollectionResult>

**Handlers** –

<table class="TableStyle-Borders" style="width: 100%; margin-left: 0; margin-right: auto;" data-cellspacing="0"> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ValidateContext</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Check GetStaticList parameter is false and UserProfileDto or RememberedUserProfileDto is not null in site context, otherwise return Forbidden</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishListQuery</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Create WishListQuery query, if IncludeWishListLines parameter is true, then expand Product, ModifiedByUserProfile and WishListShares</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">700</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ApplyFiltering</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If WishListId parameter has value, then filter WishListQuery by WishListId parameter<br /> If GetStaticList parameter is true, then filter WishListQuery by WishList.ShareOptionType.Static, otherwise by UserProfileDto or WishList.ShareOptionType.AllCustomerUsers or active WishListShares.</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">730</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ApplySort</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Sort WishListQuery. See additional information below.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">770</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ApplyPaging</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Applies paging to the WishListQuery. If the PageSize property on the parameter object has a value, the query is paged using the PageSize and Page properties on the parameter object. If the PageSize property has no value, the default page size will be used (configured using the "Number of items that display per page by default." setting).</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">800</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ExecuteQuery</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Sorts WishListQuery and executes query. See additional information below.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">900</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">SelectDefaultWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If allow multiple wishlists setting is false and number of wishlists in result is more then 1 - get last modified wishlist.</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">1000</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">AddWishlist</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Creates new wishlist with default name, if allow multiple wishlists is false and there is no wishlists in results and WishListId parameter was empty.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">1100</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">CreateGetWishListResults</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">Iterates over WishLists result and call CreateGetWishListResult wishlist pipeline per each wishlist. If IncludeWishListLines parameter is false, then execute next handler, otherwise iterates over GetWishListResults, sorts WishListProducts and calls CreateGetWishListLineResults wishlist pipeline with GetHiddenProducts parameter (this parameter allows to get discontinued, deactivated and restricted products). See additional information below.</td> </tr> </tbody> </table>

**HTTP Verb** – GET

**URL** – /api/v1/wishlists

**Description** – Returns all wishlist lines for the logged in user or bill to customer.

**Base** – HandlerBase\<GetWishListLineCollectionParameter, GetWishListLineCollectionResult>

**Handlers** –

<table class="TableStyle-Borders" style="width: 100%; margin-left: 0; margin-right: auto;" data-cellspacing="0"> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ValidateContext</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Check that UserProfileDto or RememberedUserProfileDto is not null in site context, otherwise return Forbidden.</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishListLinesQuery</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Create WishListLineQuery query.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">700</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ApplyFiltering</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>Filter WishListLineQuery by WishListId parameter .</p> <p>If Query is included, filter WishListLineQuery by Product.ShortDescription, Product.ErpNumber or Product.ManufacturerItem contain Query.</p> <p>Ensure WishListLineQuery filters to only WishListLines available to the current User or current customer.</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">730</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ApplySort</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Sorts WishListLineQuery based on the Sort parameter. Available sorts: CreatedOn CreatedOn DESC SortOrder default SortOrder DESC Product.ShortDescription Product.ShortDescription DESC.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">770</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ApplyPaging</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Applies paging to the WishListLineQuery. If the PageSize property on the parameter object has a value, the query is paged using the PageSize and Page properties on the parameter object. If the PageSize property has no value, the default page size will be used (configured using the "Number of items that display per page by default." setting).</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">800</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">CreateGetWishListLineCollectionResults</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Executes the WishListLineQuery and uses the CreateWishListLineResults pipeline on WishListPipeline to create WishListLineResults.</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">900</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">SelectDefaultWishList</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">If allow multiple wishlists setting is false and number of wishlists in result is more then 1 - get last modified wishlist.</td> </tr> </tbody> </table>

### Order 730 sort WishListQuery specifications

Sort ValueSort Description
"ModifiedOn DESC"Sorts by ModifiedOn property descending
"Name ASC"Sorts by Name property
"Name DESC"Sorts by Name property descending

### Order 1100 WishlistLinesSort specifications

WishListLinesSort valueWishListLinesSort Description
"mostRecent"Sorts by CreatedOn property descending
any other valueSorts by SortOrder property

**HTTP Verb** – DELETE

**URL** – /api/v1/wishlists/{wishlistid:guid}

**Description** – Remove a single wish list.

**Base** – HandlerBase\<RemoveWishListParameter, RemoveWishListResult>

**Handlers** –

OrderHandlerDescription
500GetWishListCalls GetWishList with WishListId parameter
600RemoveWishListCheck UserProfileDto or RememberedUserProfileDto id is equals to WishList.UserProfileId from result, otherwise returns Forbidden. Removes result WishList from database.

**HTTP Verb** – DELETE

**URL** – /api/v1/wishlists/{wishListId}/wishlistlines/batch

**Description** – Removes all lines specified from a wish list.

**Base** – HandlerBase\<RemoveWishListLineCollectionParameter, RemoveWishListLineCollectionResult>

OrderHandlerDescription
500GetWishListCalls GetWishList with WishListId parameter and GetHiddenProducts with true value. Then filters GetWishListLineResults with WishListLineIds parameter.
600RemoveWishListLineCollectionChecks if UserProfileDto or RememberedUserProfileDto from site context is not owner and AllowEdit is false, then return Forbidden, otherwise remove lines from database and updates wishlist ModifiedByUserProfileId, ModifiedOn properties.

**HTTP Verb** – DELETE

**URL** – /api/v1/wishlists/{wishlistid}/wishlistlines/{wishlistlineid}

**Description** – Remove a single product from a specific wish list.

**Base** – HandlerBase\<RemoveWishListLineParameter, RemoveWishListLineResult>

**Handlers** –

OrderHandlerDescription
500GetWishListLineCalls GetWishListLine wishlist service with WishListId and WishListLineId parameters
600RemoveWishListLineChecks if UserProfileDto or RememberedUserProfileDto from site context is not owner and AllowEdit is false, then return Forbidden, otherwise removes line from database and updates wishlist ModifiedByUserProfileId, ModifiedOn properties.

**HTTP Verb** – DELETE

**URL** – /api/v1/wishlists/{wishListId}/share/{wishListShareId}

**Description** – Removes the share request specified.

**Base** – HandlerBase\<RemoveWishListShareParameter, RemoveWishListShareResult>

OrderHandlerDescription
500GetWishListCalls GetWishList wishlist service with WishListId parameter
600RemoveWishListShareChecks if user is not owner and WishListShareId parameter is not null, then return Forbidden, otherwise gets WishListShare filtered by WishListShareId parameter (if not null) or first row for that user and removes it from database, if row was found.

**HTTP Verb** – PATCH

**URL** – /api/v1/wishlists/{wishlistid}/wishlistlines/{wishlistlineid:guid}

**Description** – Update product information such as qty for a specific wish list line

**Base** – HandlerBase\<UpdateWishListLineParameter, UpdateWishListLineResult>

**Handlers** –

<table class="TableStyle-Borders" data-cellspacing="0"> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ValidateQty</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">If Qty parameter is less or equals to zero, then return WishListServiceQtyTooSmall with MessageProvider.Current.Quantity_Too_Small message</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishListLine</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Call GetWishListLine wishlist service with WishListId, WishListLineId parameters</td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">700</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">UpdateWishListLine</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>Checks if wishlist AllowEdit is false and UserProfileDto or RememberedUserProfileDto is not owner from site context, then return Forbidden</p> <p>If there is any duplicated WishListProduct item, then summarize quantity and remove duplicates</p> <p>Update line SortOrder, Notes, QtyOrdered and UnitOfMeasure, also update wishlist ModifiedByUserProfileId and ModifiedOn properties.</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">800</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">CreateGetWishListLineResult</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">Call CreateGetWishListLineResults wishlist pipeline for setting GetWishListLineResult property.</td> </tr> </tbody> </table>

**HTTP Verb** – PATCH

**URL** – /api/v1/wishlists/activateinvite

**Description** – Activates the wishlist for the invite.

**Base** – HandlerBase\<UpdateWishListInviteParameter, UpdateWishListInviteResult>

**Handlers** –

<table class="TableStyle-Borders" style="margin-left: 0; margin-right: auto; width: 100%;" data-cellspacing="0"> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">ActivateWishListShare</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>If Invite parameter is blank, then return BadRequest</p> <p>Search WishListShare by Invite parameter and expand wishlist, if not found return NotFound.</p> <p>If owner tries to activate invite return BadRequest, otherwise activate invite, if it wasn't already activated</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">GetWishList</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">Call GetWishList wishlist service with WishListId result value.</td> </tr> </tbody> </table>

**HTTP Verb** – PATCH

**URL** – /api/v1/wishlists/{wishListId}/sendacopy

**Description** – Invites a user to a copy of the wishlist.

**Base** – HandlerBase\<UpdateWishListSendACopyParameter, UpdateWishListSendACopyResult>

**Handlers** –

<table class="TableStyle-Borders" data-cellspacing="0"> <colgroup> <col style="width: 33%" /> <col style="width: 33%" /> <col style="width: 33%" /> </colgroup> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Call GetWishList wishlist service with WishListId parameter</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">SendACopy</td> <td class="TableStyle-Borders-BodyA-Regular-Row1"><p>If SenderName parameter is empty return BadRequest</p> <p>If RecipientEmailAddress parameter is empty or number of valid email addresses are zero, then return BadRequest</p> <p>Create wishlist copy using wishlist copy service with removeListSpecificData set to true (this will remove Notes, Description and other "personal" information) and send to each address from the list.</p></td> </tr> </tbody> </table>

**HTTP Verb** – PATCH

**URL** – /api/v1/wishlists/{wishListId}

**Description** – Updates the wishlists.

**Handlers** –

**Base** – HandlerBase\<UpdateWishListSendACopyParameter, UpdateWishListSendACopyResult>

<table class="TableStyle-Borders" data-cellspacing="0"> <colgroup> <col style="width: 33%" /> <col style="width: 33%" /> <col style="width: 33%" /> </colgroup> <thead> <tr class="header TableStyle-Borders-Head-Header1"> <th class="TableStyle-Borders-HeadE-Regular-Header1">Order</th> <th class="TableStyle-Borders-HeadE-Regular-Header1">Handler</th> <th class="TableStyle-Borders-HeadD-Regular-Header1">Description</th> </tr> </thead> <tbody> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">500</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">GetWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1">Calls GetWishList wishlist service with WishListId parameter</td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">600</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">UpdateWishList</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>Checks UserProfileDto or RememberedUserProfileDto is owner from site context, otherwise return Forbidden</p> <p>If Name is blank return BadRequest</p> <p>Checks if non ShareOptionType.Static wishlist with same name already exists for current user and return BadRequest with MessageProvider.Current.Lists_Name_AlreadyExists message</p> <p>If ShareOption parameter is equal WishList.ShareOptionType.AllCustomerUsers, then update wishlist CustomerId from BillTo site context</p> <p>If ShareOption parameter is not equals to WishList.ShareOptionType.IndividualUsers, then remove all WishListShare records for that wishlist</p> <p>Update AllowEdit, ShareOption parameters</p> <p>Call CreateGetWishListResult wishlist pipeline and set GetWishListResult property.</p></td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">700</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">SendAllCustomerUsersEmail</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>If SendEmail parameter is false or ShareOption parameter is not equals to WishList.ShareOptionType.AllCustomerUsers, then execute next handler.</p> <p>Set email object values and send emails for all activated customer users.</p></td> </tr> <tr class="even TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyE-Regular-Row1">800</td> <td class="TableStyle-Borders-BodyE-Regular-Row1">SendIndividualUsersEmail</td> <td class="TableStyle-Borders-BodyD-Regular-Row1"><p>If SendEmail parameter is false or ShareOption parameter is not equals to WishList.ShareOptionType.IndividualUsers, then execute next handler.</p> <p>If SenderName parameter is blank, then return BadRequest</p> <p>If number of valid emails in RecipientEmailAddress parameter is zero, then return BadRequest</p> <p>Set email object values, create WishListShare record for each address and send email with unique invite link.</p></td> </tr> <tr class="odd TableStyle-Borders-Body-Row1"> <td class="TableStyle-Borders-BodyB-Regular-Row1">900</td> <td class="TableStyle-Borders-BodyB-Regular-Row1">UpdateWishListLines</td> <td class="TableStyle-Borders-BodyA-Regular-Row1">If WishListLineCollection parameter is empty execute next handler, otherwise call UpdateWishListLine wishlist service and update all records.</td> </tr> </tbody> </table>