# Wishlists

Customer favourite products

## List favourite products

> Returns the customer's favourite products with merchandising metadata.

```json
{"openapi":"3.1.0","info":{"title":"Wishlists API - Customer Favourites & Collections","version":"1.0.0"},"tags":[{"name":"Wishlists","description":"Customer favourite products"}],"servers":[{"description":"Default commerce site","url":"https://{commerce_url}","variables":{"commerce_url":{"default":"sandbox.akinon.com","description":"Commerce storefront hostname"}}}],"paths":{"/wishlists/favourite-products/":{"get":{"tags":["Wishlists"],"operationId":"listFavouriteProducts","summary":"List favourite products","description":"Returns the customer's favourite products with merchandising metadata.","parameters":[{"$ref":"#/components/parameters/CookieHeader"},{"$ref":"#/components/parameters/PageParameter"},{"$ref":"#/components/parameters/PageSizeParameter"},{"$ref":"#/components/parameters/FavouriteProductIdParameter"},{"$ref":"#/components/parameters/FavouriteSearchParameter"},{"$ref":"#/components/parameters/FavouriteBaseCodeParameter"},{"$ref":"#/components/parameters/FavouriteProductNameParameter"}],"responses":{"200":{"description":"Favourite products listed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedFavouriteProductList"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponse"}}}}},"components":{"parameters":{"CookieHeader":{"name":"X-Cookie","in":"header","description":"Use X-Cookie header instead of Cookie header in \"try out\" section.\nUse Cookie header while testing in postman or other tools.\nSome commerce applications may support 'sesionid' instead of 'osessionid'.","required":true,"schema":{"type":"string"}},"PageParameter":{"name":"page","in":"query","description":"Page number (1-indexed)","required":false,"schema":{"type":"integer","minimum":1}},"PageSizeParameter":{"name":"page_size","in":"query","description":"Number of results per page","required":false,"schema":{"type":"integer","minimum":1}},"FavouriteProductIdParameter":{"name":"product_id","in":"query","description":"Filter favourites by product identifier (repeatable)","required":false,"schema":{"type":"array","items":{"type":"integer"},"style":"form","explode":true}},"FavouriteSearchParameter":{"name":"search","in":"query","description":"Filter favourites by exact product identifier","required":false,"schema":{"type":"integer"}},"FavouriteBaseCodeParameter":{"name":"base_code__in","in":"query","description":"Filter favourites by product base codes (comma separated)","required":false,"schema":{"type":"string"}},"FavouriteProductNameParameter":{"name":"product__name","in":"query","description":"Filter favourites by product name (case insensitive contains)","required":false,"schema":{"type":"string"}}},"schemas":{"PaginatedFavouriteProductList":{"type":"object","required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":["string","null"],"format":"uri"},"previous":{"type":["string","null"],"format":"uri"},"results":{"type":"array","items":{"$ref":"#/components/schemas/FavouriteProduct"}}}},"FavouriteProduct":{"type":"object","description":"Favourite product entry","required":["pk","product"],"properties":{"pk":{"type":"integer"},"product":{"$ref":"#/components/schemas/WishlistProduct"}}},"WishlistProduct":{"type":"object","description":"Product payload returned within wishlists and alerts","required":["pk","name","sku","price","currency_type","in_stock"],"properties":{"pk":{"type":"integer"},"name":{"type":"string"},"sku":{"type":"string"},"base_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"price":{"type":"string","description":"Sale price (stringified decimal)"},"retail_price":{"type":"string","description":"Original list price (stringified decimal)"},"currency_type":{"type":"string","description":"Currency code"},"in_stock":{"type":"boolean"},"stock":{"type":["integer","null"]},"absolute_url":{"type":["string","null"],"format":"uri"},"productimage_set":{"type":"array","items":{"$ref":"#/components/schemas/WishlistProductImage"}},"productvideo_set":{"type":"array","items":{"$ref":"#/components/schemas/WishlistProductVideo"}},"is_ready_to_basket":{"type":["boolean","null"]},"extra_data":{"type":"object","description":"Additional merchandising metadata (variants, etc.)","additionalProperties":true},"basket_offers":{"type":"array","description":"Promotional basket offers applicable to the product","items":{"type":"object","additionalProperties":true}}}},"WishlistProductImage":{"type":"object","description":"Product image metadata","required":["pk","image"],"properties":{"pk":{"type":"integer"},"image":{"type":"string","format":"uri"},"order":{"type":["integer","null"]},"specialimage_set":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"WishlistProductVideo":{"type":"object","description":"Product video metadata","properties":{"pk":{"type":"integer"},"video":{"type":"string","format":"uri"}}},"ErrorResponse":{"type":"object","required":["detail"],"properties":{"detail":{"type":"string"},"code":{"type":["string","null"]}}}},"responses":{"UnauthorizedResponse":{"description":"Authentication required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}
```

## Add product to favourites

> Stores the given product in the authenticated shopper's favourites.

```json
{"openapi":"3.1.0","info":{"title":"Wishlists API - Customer Favourites & Collections","version":"1.0.0"},"tags":[{"name":"Wishlists","description":"Customer favourite products"}],"servers":[{"description":"Default commerce site","url":"https://{commerce_url}","variables":{"commerce_url":{"default":"sandbox.akinon.com","description":"Commerce storefront hostname"}}}],"paths":{"/wishlists/favourite-products/":{"post":{"tags":["Wishlists"],"operationId":"createFavouriteProduct","summary":"Add product to favourites","description":"Stores the given product in the authenticated shopper's favourites.","parameters":[{"$ref":"#/components/parameters/CookieHeader"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FavouriteProductCreateRequest"}}}},"responses":{"201":{"description":"Favourite created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FavouriteProduct"}}}},"400":{"$ref":"#/components/responses/ValidationErrorResponse"},"401":{"$ref":"#/components/responses/UnauthorizedResponse"},"409":{"description":"Product already exists in favourites"}}}}},"components":{"parameters":{"CookieHeader":{"name":"X-Cookie","in":"header","description":"Use X-Cookie header instead of Cookie header in \"try out\" section.\nUse Cookie header while testing in postman or other tools.\nSome commerce applications may support 'sesionid' instead of 'osessionid'.","required":true,"schema":{"type":"string"}}},"schemas":{"FavouriteProductCreateRequest":{"type":"object","required":["product"],"properties":{"product":{"type":"integer","description":"Product identifier to favourite"}}},"FavouriteProduct":{"type":"object","description":"Favourite product entry","required":["pk","product"],"properties":{"pk":{"type":"integer"},"product":{"$ref":"#/components/schemas/WishlistProduct"}}},"WishlistProduct":{"type":"object","description":"Product payload returned within wishlists and alerts","required":["pk","name","sku","price","currency_type","in_stock"],"properties":{"pk":{"type":"integer"},"name":{"type":"string"},"sku":{"type":"string"},"base_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"price":{"type":"string","description":"Sale price (stringified decimal)"},"retail_price":{"type":"string","description":"Original list price (stringified decimal)"},"currency_type":{"type":"string","description":"Currency code"},"in_stock":{"type":"boolean"},"stock":{"type":["integer","null"]},"absolute_url":{"type":["string","null"],"format":"uri"},"productimage_set":{"type":"array","items":{"$ref":"#/components/schemas/WishlistProductImage"}},"productvideo_set":{"type":"array","items":{"$ref":"#/components/schemas/WishlistProductVideo"}},"is_ready_to_basket":{"type":["boolean","null"]},"extra_data":{"type":"object","description":"Additional merchandising metadata (variants, etc.)","additionalProperties":true},"basket_offers":{"type":"array","description":"Promotional basket offers applicable to the product","items":{"type":"object","additionalProperties":true}}}},"WishlistProductImage":{"type":"object","description":"Product image metadata","required":["pk","image"],"properties":{"pk":{"type":"integer"},"image":{"type":"string","format":"uri"},"order":{"type":["integer","null"]},"specialimage_set":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"WishlistProductVideo":{"type":"object","description":"Product video metadata","properties":{"pk":{"type":"integer"},"video":{"type":"string","format":"uri"}}},"ValidationErrorResponse":{"type":"object","description":"Validation errors keyed by field name","additionalProperties":{"type":"array","items":{"type":"string"}}},"ErrorResponse":{"type":"object","required":["detail"],"properties":{"detail":{"type":"string"},"code":{"type":["string","null"]}}}},"responses":{"ValidationErrorResponse":{"description":"Request payload validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"UnauthorizedResponse":{"description":"Authentication required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}
```

## DELETE /wishlists/favourite-products/{pk}/

> Remove product from favourites

```json
{"openapi":"3.1.0","info":{"title":"Wishlists API - Customer Favourites & Collections","version":"1.0.0"},"tags":[{"name":"Wishlists","description":"Customer favourite products"}],"servers":[{"description":"Default commerce site","url":"https://{commerce_url}","variables":{"commerce_url":{"default":"sandbox.akinon.com","description":"Commerce storefront hostname"}}}],"paths":{"/wishlists/favourite-products/{pk}/":{"delete":{"tags":["Wishlists"],"operationId":"deleteFavouriteProduct","summary":"Remove product from favourites","parameters":[{"$ref":"#/components/parameters/CookieHeader"},{"name":"pk","in":"path","required":true,"schema":{"type":"integer"},"description":"Favourite identifier"}],"responses":{"204":{"description":"Favourite removed"},"401":{"$ref":"#/components/responses/UnauthorizedResponse"},"404":{"description":"Favourite not found"}}}}},"components":{"parameters":{"CookieHeader":{"name":"X-Cookie","in":"header","description":"Use X-Cookie header instead of Cookie header in \"try out\" section.\nUse Cookie header while testing in postman or other tools.\nSome commerce applications may support 'sesionid' instead of 'osessionid'.","required":true,"schema":{"type":"string"}}},"responses":{"UnauthorizedResponse":{"description":"Authentication required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"type":"object","required":["detail"],"properties":{"detail":{"type":"string"},"code":{"type":["string","null"]}}}}}}
```
