PHPackages                             lucafuser/magento-wishlist-restapi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. lucafuser/magento-wishlist-restapi

ActiveMagento2-module[API Development](/categories/api)

lucafuser/magento-wishlist-restapi
==================================

Magento 2 module to expose wishlist as REST API

1.0.0(7mo ago)332OSL-3.0PHP

Since Oct 6Pushed 7mo agoCompare

[ Source](https://github.com/lucafuser/magento-wishlist-restapi)[ Packagist](https://packagist.org/packages/lucafuser/magento-wishlist-restapi)[ RSS](/packages/lucafuser-magento-wishlist-restapi/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Wishlist Rest API Extension for Magento 2
=========================================

[](#wishlist-rest-api-extension-for-magento-2)

Magento 2 module that exposes the customer wishlist through REST APIs. It lets you read the wishlist, add/remove items, move items to cart or back, empty it, and share it.

Prerequisites
-------------

[](#prerequisites)

- Magento 2.4.x with the core module \[Magento\_Wishlist\] enabled
- PHP compatible with your Magento 2.4 installation
- Composer
- Web API authentication set up (customer token or admin token)

Project structure
-----------------

[](#project-structure)

```
.
├── Api/
│   ├── Data/
│   └── WishlistRepositoryInterface.php
├── Model/
│   ├── Data/
│   ├── ResourceModel/
│   └── WishlistRepository.php
├── Plugin/
├── Service/
├── Test/
│   └── Unit/
├── etc/
├── CHANGELOG.md
├── composer.json
├── registration.php
└── README.md

```

- Api: public PHP interfaces used by webapi routes (service contracts).
- Model: implementations, resource helpers, and response factory.
- Plugin: plugin to restrict/adjust access where needed.
- Service: domain services (e.g., share logic).
- etc: Magento configuration ([module.xml](etc/module.xml), [webapi.xml](etc/webapi.xml), [acl.xml](etc/acl.xml), [di.xml](etc/di.xml)).
- Test/Unit: PHPUnit tests.
- Root files: [composer.json](composer.json), [registration.php](registration.php), [CHANGELOG.md](CHANGELOG.md).

Instruction
-----------

[](#instruction)

- Install via Composer:
    - composer require lucafuser/magento-wishlist-restapi
- Enable and register the module:
    - bin/magento module:enable LFuser\_WishlistRestApi
    - bin/magento setup:upgrade
    - bin/magento cache:flush
- Ensure the Magento Wishlist core module is enabled.
- Grant API permissions if using admin tokens (ACL: LFuser\_WishlistRestApi::api).

Usage
-----

[](#usage)

The module adds REST endpoints under /V1. You can call them with a customer token (preferred) or an admin token. When using a customer token, the routes without :customerId will operate on the authenticated customer. The routes with :customerId require proper privileges and are mapped in [etc/webapi.xml](etc/webapi.xml).

Common endpoints (see full list in webapi.xml):

- GET /V1/wishlist — get my wishlist
- GET /V1/wishlist/item/:sku — get my wishlist item by product SKU
- GET /V1/wishlist/item/:productId — get my wishlist item by product ID
- POST /V1/wishlist/add — add item to my wishlist
- PUT /V1/wishlist/removeItem — remove item from my wishlist
- PUT /V1/wishlist/empty — empty my wishlist
- POST /V1/wishlist/toCart — move a wishlist item to cart
- POST /V1/wishlist/allToCart — move all wishlist items to cart
- POST /V1/wishlist/toWishlist — move an item from cart to wishlist
- POST /V1/wishlist/allToWishlist — move all cart items to wishlist
- POST /V1/wishlist/share — share my wishlist via email

Customer-scoped variations also exist with an explicit :customerId path segment, e.g. GET /V1/wishlist/:customerId. Those require the ACL resource LFuser\_WishlistRestApi::api.

Example: get my wishlist with a customer token

```
curl -X GET \
  "https://mystore.test/rest/V1/wishlist" \
  -H "Authorization: Bearer " \
  -H "Content-Type: application/json"

```

Example: add an item by SKU to my wishlist

```
curl -X POST \
  "https://mystore.test/rest/V1/wishlist/add" \
  -H "Authorization: Bearer " \
  -H "Content-Type: application/json" \
  -d '{
    "sku": "24-MB01",
    "qty": 1
  }'

```

Note: Request/response shapes follow the service contracts in [Api/](Api/). Check [etc/webapi.xml](etc/webapi.xml) for the exact method mapping.

Contributing
------------

[](#contributing)

- Open an issue describing the change or problem.
- Fork the repo and create a feature branch.
- Add or update unit tests under [Test/Unit](Test/Unit).
- Run tests locally (phpunit) and ensure coding standards.
- Submit a pull request with a clear description of the changes.

Contact
-------

[](#contact)

- Email:
- LinkedIn:

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance64

Regular maintenance activity

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

216d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/56228630c1a433abea536941bc92a005b940f3bebdae99b2cf77d1acedfb7322?d=identicon)[lucafuser](/maintainers/lucafuser)

---

Top Contributors

[![lucafuser](https://avatars.githubusercontent.com/u/46565169?v=4)](https://github.com/lucafuser "lucafuser (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/lucafuser-magento-wishlist-restapi/health.svg)

```
[![Health](https://phpackages.com/badges/lucafuser-magento-wishlist-restapi/health.svg)](https://phpackages.com/packages/lucafuser-magento-wishlist-restapi)
```

###  Alternatives

[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8044.5M33](/packages/smile-elasticsuite)[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[graycore/magento2-cors

A Magento 2 module that enables CORS on the GraphQL and REST Apis

99516.1k](/packages/graycore-magento2-cors)[elgentos/module-prismicio

Magento 2 - Prismic.io integration

39112.0k3](/packages/elgentos-module-prismicio)[zepgram/module-rest

Technical module to industrialize API REST call with dependency injection pattern using Guzzle library

1326.2k](/packages/zepgram-module-rest)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
