Skip to main content
The catalog uses Medusa’s Product module service. Mercur adds no catalog service of its own. Resolve it with Modules.PRODUCT to read and write products, variants, options, categories, collections, tags, and types from a subscriber, a scheduled job, or a custom step.

Resolve the service

The service key comes from @medusajs/framework/utils, not MercurModules:
listAndCountProducts returns a page of products and the total count.
The service writes rows directly. It doesn’t link stores, record ProductChange entries, or emit Mercur’s product.* events. Use the catalog workflows for creates and reviews, and query.graph to read linked data such as sellers.

Product methods

These methods act on Product: filters takes FilterableProductProps, such as id, status, handle, or q. config takes select, relations, skip, take, and order.

Methods for the other models

The same method set exists for each model in the module, named after it:

Option and image methods

The service also has methods that manage shared options and variant images: Mercur’s attribute workflows create and attach the options behind variant-axis attributes. Prefer those workflows over the option methods, so each attribute stays in sync with the option it mirrors.