# MercurJS Documentation > Mercur is an open-source AI-native marketplace framework built on MedusaJS v2. It provides block-based architecture for building multi-vendor marketplaces with seller management, commissions, order splitting, payouts, admin panel, and vendor portal. Code is copied directly into your project — full ownership, no black-box dependencies. ## Docs - [Overview](https://docs.mercurjs.com/learn/architecture.md): How Mercur is built — architecture, technology stack, and how the pieces fit together. - [Product Attributes](https://docs.mercurjs.com/learn/attributes.md): Typed, filterable product attributes on top of Medusa's native product options — including variant axes shared across the catalog. - [Blocks](https://docs.mercurjs.com/learn/blocks.md): Self-contained pieces of marketplace functionality that get copied into your project as source code. - [Commission](https://docs.mercurjs.com/learn/commissions.md): How marketplace commissions work in Mercur — rates, rules, the matching algorithm, and commission lines. - [Concepts](https://docs.mercurjs.com/learn/concepts.md): Core concepts behind Mercur — from the Medusa foundation to blocks, panels, and the registry. - [Installation](https://docs.mercurjs.com/learn/installation.md): Install Mercur and set up your marketplace project. - [Introduction](https://docs.mercurjs.com/learn/introduction.md): Mercur is an open-source marketplace platform built on MedusaJS with a block-based architecture. - [Mercur - an open-source Mirakl alternative](https://docs.mercurjs.com/learn/mirakl-alternative.md): How Mercur compares to Mirakl and other marketplace platforms: open-source, self-hosted, no GMV fees, full code ownership. - [Offers](https://docs.mercurjs.com/learn/offers.md): An offer is a seller's sellable listing against a master product — their own SKU, price, inventory, and shipping. - [Order Groups](https://docs.mercurjs.com/learn/order-groups.md): How multi-seller checkout creates order groups — the container that ties a single cart to multiple seller orders. - [Payout](https://docs.mercurjs.com/learn/payouts.md): How seller payouts work in Mercur — accounts, onboarding, payment capture, and the transfer pipeline. - [Product Requests & Approvals](https://docs.mercurjs.com/learn/product-requests.md): How vendor product submissions and edits are reviewed — the ProductChange pipeline that keeps a shared catalog under operator control. - [Products](https://docs.mercurjs.com/learn/products.md): Mercur products are master products — a single shared catalog for the whole marketplace, with selling eligibility instead of ownership. - [Registry](https://docs.mercurjs.com/learn/registry.md): Create, build, and host your own block registry. - [Seller Members](https://docs.mercurjs.com/learn/seller-members.md): Multi-user seller accounts — member data, team management, store switching, and access rules. - [Seller](https://docs.mercurjs.com/learn/sellers.md): The central marketplace actor — seller profile, lifecycle, registration flows, and business rules. - [From 1.x to 2.0](https://docs.mercurjs.com/migration/from-1-x-to-2-0.md): What changed and how to port your existing Mercur 1.x code to 2.0. - [From 2.0 to 2.1](https://docs.mercurjs.com/migration/from-2-0-to-2-1.md): What changed in Mercur 2.1 and how to upgrade an existing 2.0.x project. - [Migration Overview](https://docs.mercurjs.com/migration/overview.md): Understand what changes between Mercur 1.x and 2.0 and how to migrate your project. - [Admin API](https://docs.mercurjs.com/references/api/admin.md): Operator routes under /admin/* — sellers, commissions, payouts, master catalog, and marketplace-wide orders. - [Batch Commission Rules](https://docs.mercurjs.com/references/api/admin/commission-rates/batch-commission-rules.md): Create, update, and delete a commission rate's rules in one request. - [Create Commission Rate](https://docs.mercurjs.com/references/api/admin/commission-rates/create-commission-rate.md): Create a commission rate. - [Delete Commission Rate](https://docs.mercurjs.com/references/api/admin/commission-rates/delete-commission-rate.md): Delete a commission rate. - [List Commission Rates](https://docs.mercurjs.com/references/api/admin/commission-rates/list-commission-rates.md): Retrieve a paginated list of commission rates. - [Retrieve Commission Rate](https://docs.mercurjs.com/references/api/admin/commission-rates/retrieve-commission-rate.md): Retrieve a commission rate by ID. - [Update Commission Rate](https://docs.mercurjs.com/references/api/admin/commission-rates/update-commission-rate.md): Update a commission rate. - [List Members](https://docs.mercurjs.com/references/api/admin/members/list-members.md): Retrieve a paginated list of members across all sellers. - [Batch Create Offers](https://docs.mercurjs.com/references/api/admin/offers/batch-create-offers.md): Create up to 100 offers for a seller in one request. - [Delete Offer](https://docs.mercurjs.com/references/api/admin/offers/delete-offer.md): Delete an offer. - [List Offers](https://docs.mercurjs.com/references/api/admin/offers/list-offers.md): Retrieve a paginated list of offers across all sellers. - [Retrieve Offer](https://docs.mercurjs.com/references/api/admin/offers/retrieve-offer.md): Retrieve an offer by ID. - [List Order Groups](https://docs.mercurjs.com/references/api/admin/order-groups/list-order-groups.md): Retrieve a paginated list of order groups. - [Retrieve Order Group](https://docs.mercurjs.com/references/api/admin/order-groups/retrieve-order-group.md): Retrieve an order group by ID. - [Get Order Commission Lines](https://docs.mercurjs.com/references/api/admin/orders/get-order-commission-lines.md): Retrieve the commission lines calculated for an order. - [Get Order's Order Group](https://docs.mercurjs.com/references/api/admin/orders/get-order-order-group.md): Retrieve the order group a specific order belongs to. - [List Orders](https://docs.mercurjs.com/references/api/admin/orders/list-orders.md): Retrieve a paginated list of orders across all sellers. - [List Payouts](https://docs.mercurjs.com/references/api/admin/payouts/list-payouts.md): Retrieve a paginated list of payouts across all sellers. - [Retrieve Payout](https://docs.mercurjs.com/references/api/admin/payouts/retrieve-payout.md): Retrieve a payout by ID. - [Upsert Attribute Values](https://docs.mercurjs.com/references/api/admin/product-attributes/create-attribute-value.md): Create or update values on a product attribute. - [Create Product Attribute](https://docs.mercurjs.com/references/api/admin/product-attributes/create-product-attribute.md): Create a catalog product attribute. - [Delete Attribute Value](https://docs.mercurjs.com/references/api/admin/product-attributes/delete-attribute-value.md): Delete a value from a product attribute. - [Delete Product Attribute](https://docs.mercurjs.com/references/api/admin/product-attributes/delete-product-attribute.md): Delete a catalog product attribute. - [List Product Attributes](https://docs.mercurjs.com/references/api/admin/product-attributes/list-product-attributes.md): Retrieve a paginated list of catalog product attributes. - [Retrieve Product Attribute](https://docs.mercurjs.com/references/api/admin/product-attributes/retrieve-product-attribute.md): Retrieve a catalog product attribute by ID. - [Update Attribute Value](https://docs.mercurjs.com/references/api/admin/product-attributes/update-attribute-value.md): Update a single value on a product attribute. - [Update Product Attribute](https://docs.mercurjs.com/references/api/admin/product-attributes/update-product-attribute.md): Update a catalog product attribute. - [Cancel Product Change](https://docs.mercurjs.com/references/api/admin/product-changes/cancel-product-change.md): Cancel a pending product change without applying it. - [Confirm Product Change](https://docs.mercurjs.com/references/api/admin/product-changes/confirm-product-change.md): Approve a pending product change and apply it to the product. - [Batch Product Attributes](https://docs.mercurjs.com/references/api/admin/products/batch-product-attributes.md): Add, remove, and update attributes on a product in one request. - [Confirm Product](https://docs.mercurjs.com/references/api/admin/products/confirm-product.md): Approve a proposed product for publishing. - [Create Product](https://docs.mercurjs.com/references/api/admin/products/create-product.md): Create a master catalog product. - [Create Product Variant](https://docs.mercurjs.com/references/api/admin/products/create-product-variant.md): Add a variant to a product. - [Delete Product](https://docs.mercurjs.com/references/api/admin/products/delete-product.md): Delete a master catalog product. - [Delete Product Variant](https://docs.mercurjs.com/references/api/admin/products/delete-product-variant.md): Delete a variant from a product. - [List Product Variants](https://docs.mercurjs.com/references/api/admin/products/list-product-variants.md): Retrieve a paginated list of a product's variants. - [List Products](https://docs.mercurjs.com/references/api/admin/products/list-products.md): Retrieve a paginated list of master catalog products. - [Preview Product Changes](https://docs.mercurjs.com/references/api/admin/products/preview-product.md): Retrieve the pending change set for a product. - [Reject Product](https://docs.mercurjs.com/references/api/admin/products/reject-product.md): Reject a proposed product. - [Request Product Changes](https://docs.mercurjs.com/references/api/admin/products/request-product-changes.md): Ask the vendor to revise a product before it can be published. - [Retrieve Product](https://docs.mercurjs.com/references/api/admin/products/retrieve-product.md): Retrieve a master catalog product by ID. - [Retrieve Product Variant](https://docs.mercurjs.com/references/api/admin/products/retrieve-product-variant.md): Retrieve a single variant of a product. - [Set Product Sellers](https://docs.mercurjs.com/references/api/admin/products/set-product-sellers.md): Manage which sellers are eligible to sell a product. - [Update Product](https://docs.mercurjs.com/references/api/admin/products/update-product.md): Update a master catalog product. - [Update Product Variant](https://docs.mercurjs.com/references/api/admin/products/update-product-variant.md): Update a variant of a product. - [Add Seller Member](https://docs.mercurjs.com/references/api/admin/sellers/add-seller-member.md): Add an existing member to a seller's team. - [Approve Seller](https://docs.mercurjs.com/references/api/admin/sellers/approve-seller.md): Approve a pending seller. - [Create Seller](https://docs.mercurjs.com/references/api/admin/sellers/create-seller.md): Create a new seller account. - [Delete Member Invite](https://docs.mercurjs.com/references/api/admin/sellers/delete-member-invite.md): Delete a seller's member invite. - [Delete Professional Details](https://docs.mercurjs.com/references/api/admin/sellers/delete-professional-details.md): Delete a seller's professional details. - [Invite Seller Member](https://docs.mercurjs.com/references/api/admin/sellers/invite-seller-member.md): Invite a new member to a seller's team by email. - [List Member Invites](https://docs.mercurjs.com/references/api/admin/sellers/list-member-invites.md): Retrieve a paginated list of a seller's member invites. - [List Seller Members](https://docs.mercurjs.com/references/api/admin/sellers/list-seller-members.md): Retrieve a paginated list of a seller's members. - [List Seller Products](https://docs.mercurjs.com/references/api/admin/sellers/list-seller-products.md): Retrieve a paginated list of a seller's products. - [List Sellers](https://docs.mercurjs.com/references/api/admin/sellers/list-sellers.md): Retrieve a paginated list of sellers. - [Remove Seller Member](https://docs.mercurjs.com/references/api/admin/sellers/remove-seller-member.md): Remove a member from a seller's team. - [Resend Member Invite](https://docs.mercurjs.com/references/api/admin/sellers/resend-member-invite.md): Resend a seller's member invite. - [Retrieve Seller](https://docs.mercurjs.com/references/api/admin/sellers/retrieve-seller.md): Retrieve a seller by ID. - [Suspend Seller](https://docs.mercurjs.com/references/api/admin/sellers/suspend-seller.md): Suspend a seller. - [Terminate Seller](https://docs.mercurjs.com/references/api/admin/sellers/terminate-seller.md): Terminate a seller account. - [Unsuspend Seller](https://docs.mercurjs.com/references/api/admin/sellers/unsuspend-seller.md): Lift a seller's suspension. - [Unterminate Seller](https://docs.mercurjs.com/references/api/admin/sellers/unterminate-seller.md): Reverse a seller termination. - [Update Seller](https://docs.mercurjs.com/references/api/admin/sellers/update-seller.md): Update a seller's details. - [Upsert Payment Details](https://docs.mercurjs.com/references/api/admin/sellers/upsert-payment-details.md): Create or update a seller's bank payment details. - [Upsert Professional Details](https://docs.mercurjs.com/references/api/admin/sellers/upsert-professional-details.md): Create or update a seller's legal and tax details. - [Upsert Seller Address](https://docs.mercurjs.com/references/api/admin/sellers/upsert-seller-address.md): Create or update a seller's address. - [API conventions](https://docs.mercurjs.com/references/api/conventions.md): Authentication, seller scoping, pagination, field selection, and webhooks — shared by every Mercur API surface. - [Store API](https://docs.mercurjs.com/references/api/store.md): Storefront routes under /store/* — discovery, multi-vendor carts, checkout, and order groups. - [Add Line Item](https://docs.mercurjs.com/references/api/store/carts/add-line-item.md): Add a seller offer to the cart as a line item. - [Add Shipping Method](https://docs.mercurjs.com/references/api/store/carts/add-shipping-methods.md): Add a seller shipping option to the cart. - [Apply Promotions](https://docs.mercurjs.com/references/api/store/carts/apply-promotions.md): Apply promotion codes to the cart. - [Complete Cart](https://docs.mercurjs.com/references/api/store/carts/complete-cart.md): Complete the cart and split it into per-seller orders under an order group. - [List Offers](https://docs.mercurjs.com/references/api/store/offers/list-offers.md): Retrieve seller offers with per-offer calculated prices. - [Retrieve Offer](https://docs.mercurjs.com/references/api/store/offers/retrieve-offer.md): Retrieve a seller offer by ID with its per-offer calculated price. - [List Order Groups](https://docs.mercurjs.com/references/api/store/order-groups/list-order-groups.md): Retrieve the authenticated customer's order groups. - [Retrieve Order Group](https://docs.mercurjs.com/references/api/store/order-groups/retrieve-order-group.md): Retrieve one of the authenticated customer's order groups by ID. - [List Product Attributes](https://docs.mercurjs.com/references/api/store/product-attributes/list-product-attributes.md): Retrieve active global product attributes. - [Retrieve Product Attribute](https://docs.mercurjs.com/references/api/store/product-attributes/retrieve-product-attribute.md): Retrieve an active global product attribute by ID. - [List Product Categories](https://docs.mercurjs.com/references/api/store/product-categories/list-product-categories.md): Retrieve active, public product categories. - [Retrieve Product Category](https://docs.mercurjs.com/references/api/store/product-categories/retrieve-product-category.md): Retrieve an active, public product category by ID. - [List Products](https://docs.mercurjs.com/references/api/store/products/list-products.md): Retrieve published products from visible sellers. - [Retrieve Product](https://docs.mercurjs.com/references/api/store/products/retrieve-product.md): Retrieve a published product by ID. - [Search](https://docs.mercurjs.com/references/api/store/search/search.md): Query the search index across products and offers. - [List Sellers](https://docs.mercurjs.com/references/api/store/sellers/list-sellers.md): Retrieve open sellers visible on the storefront. - [Retrieve Seller](https://docs.mercurjs.com/references/api/store/sellers/retrieve-seller.md): Retrieve an open seller by ID. - [List Shipping Options](https://docs.mercurjs.com/references/api/store/shipping-options/list-shipping-options.md): Retrieve available shipping options for a cart, grouped by seller. - [Vendor API](https://docs.mercurjs.com/references/api/vendor.md): Seller-scoped routes under /vendor/* — every request operates on the authenticated member's selected seller. - [Accept Member Invite](https://docs.mercurjs.com/references/api/vendor/members/accept-member-invite.md): Accept a seller team invite using its token. - [Retrieve Current Member](https://docs.mercurjs.com/references/api/vendor/members/retrieve-current-member.md): Retrieve the authenticated member's profile for the active seller. - [Update Current Member](https://docs.mercurjs.com/references/api/vendor/members/update-current-member.md): Update the authenticated member's profile. - [Batch Create Offers](https://docs.mercurjs.com/references/api/vendor/offers/batch-create-offers.md): Create up to 100 offers in a single request. - [Batch Offer Inventory Items](https://docs.mercurjs.com/references/api/vendor/offers/batch-offer-inventory-items.md): Link, update, or unlink inventory items on an offer. - [Create Offer](https://docs.mercurjs.com/references/api/vendor/offers/create-offer.md): Create a listing for a product variant. - [Delete Offer](https://docs.mercurjs.com/references/api/vendor/offers/delete-offer.md): Delete one of the seller's offers. - [List Offers](https://docs.mercurjs.com/references/api/vendor/offers/list-offers.md): Retrieve a paginated list of the seller's offers. - [Retrieve Offer](https://docs.mercurjs.com/references/api/vendor/offers/retrieve-offer.md): Retrieve one of the seller's offers by its ID. - [Update Offer](https://docs.mercurjs.com/references/api/vendor/offers/update-offer.md): Update one of the seller's offers. - [Cancel Fulfillment](https://docs.mercurjs.com/references/api/vendor/orders/cancel-fulfillment.md): Cancel a fulfillment on the order. - [Cancel Order](https://docs.mercurjs.com/references/api/vendor/orders/cancel-order.md): Cancel the order. - [Complete Order](https://docs.mercurjs.com/references/api/vendor/orders/complete-order.md): Mark the order as completed. - [Create Fulfillment](https://docs.mercurjs.com/references/api/vendor/orders/create-fulfillment.md): Create a fulfillment for the order's items. - [Create Shipment](https://docs.mercurjs.com/references/api/vendor/orders/create-shipment.md): Create a shipment for a fulfillment. - [Get Order Commission Lines](https://docs.mercurjs.com/references/api/vendor/orders/get-order-commission-lines.md): Retrieve the commission lines charged on the order. - [List Order Changes](https://docs.mercurjs.com/references/api/vendor/orders/list-order-changes.md): Retrieve the change history of an order. - [List Orders](https://docs.mercurjs.com/references/api/vendor/orders/list-orders.md): Retrieve a paginated list of the seller's orders. - [Mark Fulfillment as Delivered](https://docs.mercurjs.com/references/api/vendor/orders/mark-fulfillment-delivered.md): Mark a fulfillment as delivered. - [Preview Order](https://docs.mercurjs.com/references/api/vendor/orders/preview-order.md): Preview the order with its pending order change applied. - [Retrieve Order](https://docs.mercurjs.com/references/api/vendor/orders/retrieve-order.md): Retrieve a single order by ID. - [Create Onboarding](https://docs.mercurjs.com/references/api/vendor/payout-accounts/create-onboarding.md): Start or refresh provider onboarding for a payout account. - [Create Payout Account](https://docs.mercurjs.com/references/api/vendor/payout-accounts/create-payout-account.md): Create the seller's payout account with the configured provider. - [List Payout Accounts](https://docs.mercurjs.com/references/api/vendor/payout-accounts/retrieve-payout-account.md): List the seller's payout accounts. - [Retrieve Payout Account](https://docs.mercurjs.com/references/api/vendor/payout-accounts/retrieve-payout-account-by-id.md): Retrieve one of the seller's payout accounts by ID. - [List Payouts](https://docs.mercurjs.com/references/api/vendor/payouts/list-payouts.md): List the seller's payouts. - [Retrieve Payout](https://docs.mercurjs.com/references/api/vendor/payouts/retrieve-payout.md): Retrieve one of the seller's payouts by ID. - [List Product Attributes](https://docs.mercurjs.com/references/api/vendor/product-attributes/list-product-attributes.md): Retrieve a paginated list of global product attributes. - [Retrieve Product Attribute](https://docs.mercurjs.com/references/api/vendor/product-attributes/retrieve-product-attribute.md): Retrieve a product attribute by its ID. - [List Variants](https://docs.mercurjs.com/references/api/vendor/product-variants/list-variants.md): Retrieve a paginated list of product variants across products. - [Batch Product Attributes](https://docs.mercurjs.com/references/api/vendor/products/batch-product-attributes.md): Stage attribute additions, removals, and updates on a product. - [Cancel Product Change](https://docs.mercurjs.com/references/api/vendor/products/cancel-product-change.md): Cancel the seller's pending change request for a product. - [Create Product](https://docs.mercurjs.com/references/api/vendor/products/create-product.md): Create a new product owned by the seller. - [Create Product Variant](https://docs.mercurjs.com/references/api/vendor/products/create-product-variant.md): Stage the addition of a variant to a product. - [Delete Product](https://docs.mercurjs.com/references/api/vendor/products/delete-product.md): Stage a product deletion as a change request. - [Delete Product Variant](https://docs.mercurjs.com/references/api/vendor/products/delete-product-variant.md): Stage the removal of a product variant as a change request. - [List Product Variants](https://docs.mercurjs.com/references/api/vendor/products/list-product-variants.md): Retrieve a paginated list of a product's variants. - [List Products](https://docs.mercurjs.com/references/api/vendor/products/list-products.md): Retrieve a paginated list of products visible to the seller. - [Preview Product Change](https://docs.mercurjs.com/references/api/vendor/products/preview-product.md): Retrieve the seller's pending change request for a product. - [Retrieve Product](https://docs.mercurjs.com/references/api/vendor/products/retrieve-product.md): Retrieve a product by its ID. - [Retrieve Product Variant](https://docs.mercurjs.com/references/api/vendor/products/retrieve-product-variant.md): Retrieve a single variant of a product. - [Update Product](https://docs.mercurjs.com/references/api/vendor/products/update-product.md): Stage an update to a product as a change request. - [Update Product Variant](https://docs.mercurjs.com/references/api/vendor/products/update-product-variant.md): Stage an update to a product variant as a change request. - [Create Seller](https://docs.mercurjs.com/references/api/vendor/sellers/create-seller.md): Register a new seller account with its first member. - [Delete Professional Details](https://docs.mercurjs.com/references/api/vendor/sellers/delete-professional-details.md): Remove the seller's business registration details. - [Invite Seller Member](https://docs.mercurjs.com/references/api/vendor/sellers/invite-seller-member.md): Invite a new member to the seller's team. - [List Member Invites](https://docs.mercurjs.com/references/api/vendor/sellers/list-member-invites.md): List the seller's pending member invites. - [List Seller Members](https://docs.mercurjs.com/references/api/vendor/sellers/list-seller-members.md): List the members of a seller account. - [List Sellers](https://docs.mercurjs.com/references/api/vendor/sellers/list-sellers.md): List the seller accounts the authenticated member belongs to. - [Remove Seller Member](https://docs.mercurjs.com/references/api/vendor/sellers/remove-seller-member.md): Remove a member from the seller's team. - [Retrieve Current Seller](https://docs.mercurjs.com/references/api/vendor/sellers/retrieve-current-seller.md): Retrieve the seller the request is scoped to. - [Retrieve Current Seller Member](https://docs.mercurjs.com/references/api/vendor/sellers/retrieve-current-seller-member.md): Retrieve the authenticated member's membership in a seller. - [Select Seller](https://docs.mercurjs.com/references/api/vendor/sellers/select-seller.md): Set the active seller for the member's session. - [Update Current Seller](https://docs.mercurjs.com/references/api/vendor/sellers/update-current-seller.md): Update the seller the request is scoped to. - [Update Member Role](https://docs.mercurjs.com/references/api/vendor/sellers/update-member-role.md): Change the role of a seller team member. - [Upsert Payment Details](https://docs.mercurjs.com/references/api/vendor/sellers/upsert-payment-details.md): Create or update the seller's bank account details. - [Upsert Professional Details](https://docs.mercurjs.com/references/api/vendor/sellers/upsert-professional-details.md): Create or update the seller's business registration details. - [Upsert Seller Address](https://docs.mercurjs.com/references/api/vendor/sellers/upsert-seller-address.md): Create or update the seller's address. - [Configuration](https://docs.mercurjs.com/references/configuration.md): withMercur() options, environment variables, and provider configuration. - [Commission module](https://docs.mercurjs.com/references/modules/commission.md): Data models and service methods for the Commission module. - [Custom Fields module](https://docs.mercurjs.com/references/modules/custom-fields.md): Add extra columns to any entity without writing a custom module. - [Media module](https://docs.mercurjs.com/references/modules/media.md): Image records for categories and collections — galleries, thumbnails, banners, and icons. - [Offer module](https://docs.mercurjs.com/references/modules/offer.md): Data models, links, and service methods for the Offer module. - [Payout module](https://docs.mercurjs.com/references/modules/payout.md): Data models, links, service methods, and the provider interface for the Payout module. - [Product Attribute module](https://docs.mercurjs.com/references/modules/product-attribute.md): Data models, links, and service methods for the Product Attribute module. - [Product Edit module](https://docs.mercurjs.com/references/modules/product-edit.md): Data models and lifecycle for product change requests on master products. - [Search module](https://docs.mercurjs.com/references/modules/search.md): The provider-agnostic search module, its document shapes, and the provider contract. - [Seller module](https://docs.mercurjs.com/references/modules/seller.md): Data models, links, and service methods for the Seller module. - [References](https://docs.mercurjs.com/references/overview.md): Technical references for Mercur's modules, HTTP APIs, workflows, and configuration. - [Panel Extension API](https://docs.mercurjs.com/references/panel-extension-api.md): The file-based helpers for extending the admin and vendor panels — defineWidgetConfig, defineNavigationConfig, defineCustomFieldsConfig, createFormHelper — and the exact props passed to every component you supply. - [addSellerShippingMethodToCartWorkflow](https://docs.mercurjs.com/references/workflows/cart/add-seller-shipping-method-to-cart.md): Add shipping methods to a cart, replacing only the same seller's existing methods. - [completeCartWithSplitOrdersWorkflow](https://docs.mercurjs.com/references/workflows/cart/complete-cart-with-split-orders.md): Complete a multi-seller cart by splitting it into per-seller orders under an order group. - [listSellerShippingOptionsForCartWorkflow](https://docs.mercurjs.com/references/workflows/cart/list-seller-shipping-options-for-cart.md): List available shipping options for a cart, grouped by seller. - [updateCartSellerPromotionsWorkflow](https://docs.mercurjs.com/references/workflows/cart/update-cart-seller-promotions.md): Apply, remove, or replace promotion codes on a cart with seller-scoped adjustments. - [batchCommissionRulesWorkflow](https://docs.mercurjs.com/references/workflows/commission/batch-commission-rules.md): Create, update, and delete a commission rate's rules in one call. - [createCommissionRatesWorkflow](https://docs.mercurjs.com/references/workflows/commission/create-commission-rates.md): Create one or more commission rates. - [deleteCommissionRatesWorkflow](https://docs.mercurjs.com/references/workflows/commission/delete-commission-rates.md): Soft-delete commission rates after validating they can be removed. - [refreshOrderCommissionLinesWorkflow](https://docs.mercurjs.com/references/workflows/commission/refresh-order-commission-lines.md): Recompute the commission lines for one or more orders. - [updateCommissionRatesWorkflow](https://docs.mercurjs.com/references/workflows/commission/update-commission-rates.md): Update one or more commission rates. - [setCategoryImagesWorkflow](https://docs.mercurjs.com/references/workflows/media/set-category-images.md): Replace a category's media gallery and icon, enforcing single thumbnail/banner. - [setCollectionImagesWorkflow](https://docs.mercurjs.com/references/workflows/media/set-collection-images.md): Replace a collection's media gallery and icon, enforcing single thumbnail/banner. - [acceptMemberInviteWorkflow](https://docs.mercurjs.com/references/workflows/member/accept-member-invite.md): Redeem an invite token and join a seller's team. - [addSellerMemberWorkflow](https://docs.mercurjs.com/references/workflows/member/add-seller-member.md): Attach an existing member to a seller with a role. - [createMemberInvitesWorkflow](https://docs.mercurjs.com/references/workflows/member/create-member-invites.md): Create tokenized member invitations for sellers. - [deleteMemberInviteWorkflow](https://docs.mercurjs.com/references/workflows/member/delete-member-invite.md): Delete a pending member invite. - [removeSellerMemberWorkflow](https://docs.mercurjs.com/references/workflows/member/remove-seller-member.md): Remove a member from a seller's team. - [resendMemberInviteWorkflow](https://docs.mercurjs.com/references/workflows/member/resend-member-invite.md): Re-issue a member invite with a fresh token. - [updateMemberWorkflow](https://docs.mercurjs.com/references/workflows/member/update-member.md): Update member profile fields matching a selector. - [updateMemberRoleWorkflow](https://docs.mercurjs.com/references/workflows/member/update-member-role.md): Change a team member's role. - [batchOfferInventoryItemsWorkflow](https://docs.mercurjs.com/references/workflows/offer/batch-offer-inventory-items.md): Create, update, and delete an offer's inventory-item links in one call. - [createOffersWorkflow](https://docs.mercurjs.com/references/workflows/offer/create-offers.md): Create seller offers with inventory items and offer-scoped prices. - [deleteOffersWorkflow](https://docs.mercurjs.com/references/workflows/offer/delete-offers.md): Delete one or more offers. - [updateOffersWorkflow](https://docs.mercurjs.com/references/workflows/offer/update-offers.md): Update offer rows and rewrite their price ladders with replace semantics. - [getOrderGroupDetailWorkflow](https://docs.mercurjs.com/references/workflows/order-group/get-order-group-detail.md): Retrieve one order group with per-order aggregated payment and fulfillment statuses. - [getOrderGroupsListWorkflow](https://docs.mercurjs.com/references/workflows/order-group/get-order-groups-list.md): List order groups with pagination and per-order aggregated statuses. - [cancelOrderFulfillmentWorkflow](https://docs.mercurjs.com/references/workflows/order/cancel-order-fulfillment.md): Cancel an unshipped fulfillment and restore reservations and stock. - [confirmClaimRequestWorkflow](https://docs.mercurjs.com/references/workflows/order/confirm-claim-request.md): Confirm a claim request and fix reservations for offer bundles. - [confirmExchangeRequestWorkflow](https://docs.mercurjs.com/references/workflows/order/confirm-exchange-request.md): Confirm an exchange request and fix reservations for offer bundles. - [confirmOrderEditRequestWorkflow](https://docs.mercurjs.com/references/workflows/order/confirm-order-edit-request.md): Confirm an order edit and reconcile offer-bundle reservations. - [confirmReturnReceiveWorkflow](https://docs.mercurjs.com/references/workflows/order/confirm-return-receive.md): Confirm a return receival, offer-aware restock included. - [createOrderFulfillmentWorkflow](https://docs.mercurjs.com/references/workflows/order/create-order-fulfillment.md): Create a fulfillment for order items, offer-bundle aware. - [Workflows](https://docs.mercurjs.com/references/workflows/overview.md): Every workflow exported by @mercurjs/core, grouped by domain. - [createOnboardingWorkflow](https://docs.mercurjs.com/references/workflows/payout/create-onboarding.md): Start a provider onboarding session for a payout account. - [createPayoutWorkflow](https://docs.mercurjs.com/references/workflows/payout/create-payout.md): Issue a payout to a seller through the registered provider. - [createPayoutAccountWorkflow](https://docs.mercurjs.com/references/workflows/payout/create-payout-account.md): Create a payout account for a seller through the registered payout provider. - [processPayoutForWebhookWorkflow](https://docs.mercurjs.com/references/workflows/payout/process-payout-for-webhook.md): Apply a payout provider webhook event to the matching account or payout. - [addProductAttributesToProductWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/add-product-attributes-to-product.md): Attach existing or inline attributes (and their values) to a product. - [createAndLinkProductAttributesToProductWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/create-and-link-product-attributes-to-product.md): Batch attach, detach, and update attribute selections on a product. - [createProductAttributeValuesWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/create-product-attribute-values.md): Add values to an attribute, mirroring them onto its product option. - [createProductAttributesWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/create-product-attributes.md): Create catalog attributes with values, mirror options, and category links. - [deleteProductAttributeValuesWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/delete-product-attribute-values.md): Delete attribute values and shrink the mirror option accordingly. - [deleteProductAttributesWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/delete-product-attributes.md): Delete attributes and their mirror product options. - [removeProductAttributesFromProductWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/remove-product-attributes-from-product.md): Detach attributes from a product, deleting product-scoped ones. - [updateProductAttributeValuesWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/update-product-attribute-values.md): Update attribute values matching a selector and re-sync the mirror option. - [updateProductAttributesWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/update-product-attributes.md): Update attributes matching a selector and sync mirror option titles. - [updateProductAttributesOnProductWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/update-product-attributes-on-product.md): Mutate a product's per-attribute value selections. - [upsertProductAttributeValuesWorkflow](https://docs.mercurjs.com/references/workflows/product-attribute/upsert-product-attribute-values.md): Create or update attribute values in one call, keyed by id presence. - [autoConfirmProductChangeWorkflow](https://docs.mercurjs.com/references/workflows/product-edit/auto-confirm-product-change.md): Conditionally confirm a ProductChange based on the product_request feature flag. - [cancelProductChangeWorkflow](https://docs.mercurjs.com/references/workflows/product-edit/cancel-product-change.md): Cancel a pending ProductChange so its staged actions are never applied. - [confirmProductChangeWorkflow](https://docs.mercurjs.com/references/workflows/product-edit/confirm-product-change.md): Confirm pending ProductChanges and apply their staged actions to the master product. - [createProductChangeWorkflow](https://docs.mercurjs.com/references/workflows/product-edit/create-product-change.md): Create ProductChange records after validating no pending change exists per product. - [rejectProductChangeWorkflow](https://docs.mercurjs.com/references/workflows/product-edit/reject-product-change.md): Decline a pending ProductChange with an optional reason for the vendor. - [stageProductChangeWorkflow](https://docs.mercurjs.com/references/workflows/product-edit/stage-product-change.md): Stage a pending ProductChange with its actions and optionally auto-confirm it. - [confirmProductsWorkflow](https://docs.mercurjs.com/references/workflows/product/confirm-products.md): Approve proposed products and publish them to the catalog. - [createProductsWorkflow](https://docs.mercurjs.com/references/workflows/product/create-products.md): Create master catalog products with seller eligibility and creator attribution. - [linkSellersToProductWorkflow](https://docs.mercurjs.com/references/workflows/product/link-sellers-to-product.md): Add or remove seller eligibility links on a master product. - [linkSellersToProductCategoryWorkflow](https://docs.mercurjs.com/references/workflows/product/link-sellers-to-product-category.md): Add or remove seller eligibility links on a product category. - [rejectProductWorkflow](https://docs.mercurjs.com/references/workflows/product/reject-product.md): Reject a proposed product submission with an optional message to the vendor. - [requestProductChangeWorkflow](https://docs.mercurjs.com/references/workflows/product/request-product-change.md): Ask a vendor to revise a proposed product submission without changing its status. - [approveSellerWorkflow](https://docs.mercurjs.com/references/workflows/seller/approve-seller.md): Approve a pending seller and open its store. - [createSellerAccountWorkflow](https://docs.mercurjs.com/references/workflows/seller/create-seller-account.md): Create a seller with its owner member during self-registration. - [createSellerDefaultsWorkflow](https://docs.mercurjs.com/references/workflows/seller/create-seller-defaults.md): Ensure the default seller roles exist. - [createSellersWorkflow](https://docs.mercurjs.com/references/workflows/seller/create-sellers.md): Create one or more sellers and invite their first member. - [deleteSellerProfessionalDetailsWorkflow](https://docs.mercurjs.com/references/workflows/seller/delete-seller-professional-details.md): Remove a seller's professional details. - [deleteSellersWorkflow](https://docs.mercurjs.com/references/workflows/seller/delete-sellers.md): Delete sellers by id. - [inviteSellerWorkflow](https://docs.mercurjs.com/references/workflows/seller/invite-seller.md): Send a marketplace invitation email to a prospective seller. - [suspendSellerWorkflow](https://docs.mercurjs.com/references/workflows/seller/suspend-seller.md): Suspend a seller with an optional reason. - [terminateSellerWorkflow](https://docs.mercurjs.com/references/workflows/seller/terminate-seller.md): Terminate a seller with an optional reason. - [unsuspendSellerWorkflow](https://docs.mercurjs.com/references/workflows/seller/unsuspend-seller.md): Lift a seller suspension. - [unterminateSellerWorkflow](https://docs.mercurjs.com/references/workflows/seller/unterminate-seller.md): Revert a terminated seller back to suspended. - [updateSellerAddressWorkflow](https://docs.mercurjs.com/references/workflows/seller/update-seller-address.md): Upsert a seller's address. - [updateSellerPaymentDetailsWorkflow](https://docs.mercurjs.com/references/workflows/seller/update-seller-payment-details.md): Upsert a seller's bank payment details. - [updateSellerProfessionalDetailsWorkflow](https://docs.mercurjs.com/references/workflows/seller/update-seller-professional-details.md): Upsert a seller's professional (business) details. - [updateSellersWorkflow](https://docs.mercurjs.com/references/workflows/seller/update-sellers.md): Update sellers matching a selector. - [LLMs](https://docs.mercurjs.com/resources/ai/llms.md): Feed Mercur documentation directly to LLMs for accurate, context-aware assistance. - [MCP Server](https://docs.mercurjs.com/resources/ai/mcp.md): Connect your AI environment to Mercur documentation via Model Context Protocol. - [Building with AI](https://docs.mercurjs.com/resources/ai/overview.md): Mercur ships version-matched docs inside your project so AI coding agents build from accurate APIs instead of stale training data. - [API routes](https://docs.mercurjs.com/resources/best-practices/api-routes.md): Thin HTTP adapters — typed request/response generics, Zod validation with createFindParams, filterable fields, middlewares as filters, and queryConfig. - [Custom fields](https://docs.mercurjs.com/resources/best-practices/custom-fields.md): The full loop — add a custom field in core, render it in the panels with defineCustomFieldsConfig, pull linked data with the link property, and type it end-to-end. - [Frontend](https://docs.mercurjs.com/resources/best-practices/frontend.md): Build panel UI the right way — @medusajs/ui usage, custom-field extensions (forms, tables, read-only section fields), and new pages, with the correct imports. - [Module links](https://docs.mercurjs.com/resources/best-practices/module-links.md): Relate modules without coupling them — defineLink, the link-direction rule, built-in link steps, and filtering by links. - [Modules](https://docs.mercurjs.com/resources/best-practices/modules.md): Keep modules thin — data access and CRUD only. Naming, decorators, and what must never live in a module service. - [Best Practices Overview](https://docs.mercurjs.com/resources/best-practices/overview.md): How to build with Mercur — the layered architecture, the non-negotiable rules, and where each piece of logic belongs. - [Subscribers & jobs](https://docs.mercurjs.com/resources/best-practices/subscribers-and-jobs.md): React to events and run periodic work safely — fetch from { id }, mutate via workflows, log-don't-throw, idempotency and loop guards, cron jobs. - [Types & augmentation](https://docs.mercurjs.com/resources/best-practices/types.md): Type the panels against your own backend extensions — augment framework DTOs with declaration merging so every SDK endpoint carries your custom data. - [Workflows](https://docs.mercurjs.com/resources/best-practices/workflows.md): Where all business logic and mutations live — composition-function constraints, one-mutation-per-step with compensation, reusing built-in steps, and the query engine. - [Custom Fields](https://docs.mercurjs.com/resources/customization/custom-fields.md): Extend any Medusa entity with additional fields without modifying core code. - [Extend a workflow](https://docs.mercurjs.com/resources/customization/extend-a-workflow.md): Inject custom logic into an existing Mercur workflow through hooks — without rewriting it. - [Extending Panels](https://docs.mercurjs.com/resources/customization/extending-panels.md): Add pages, inject widgets, customize navigation, and extend forms and tables in the admin and vendor panels. - [Medusa Cloud deployment](https://docs.mercurjs.com/resources/deployment/medusa-cloud.md): Deploy Mercur — backend, admin panel, and vendor panel — on Medusa Cloud. - [Notifications](https://docs.mercurjs.com/resources/integrations/notifications.md): Send transactional emails and marketplace notifications with Resend. - [Search](https://docs.mercurjs.com/resources/integrations/search.md): Mercur's provider-agnostic search module — zero-infrastructure Orama by default, swappable for Algolia, Meilisearch, or your own provider. - [Stripe Connect Integration](https://docs.mercurjs.com/resources/integrations/stripe-connect.md): Set up Stripe Connect for marketplace payments and seller payouts — from Stripe Dashboard configuration to the full end-to-end payment lifecycle. - [Add a feature with a block](https://docs.mercurjs.com/resources/tutorials/add-a-block.md): Install the reviews block end-to-end and see it live across the admin, vendor, and storefront surfaces. - [Add a widget](https://docs.mercurjs.com/resources/tutorials/add-a-widget.md): Inject a React component at a named zone on a built-in panel page with defineWidgetConfig — no forking. - [Add a button to order details](https://docs.mercurjs.com/resources/tutorials/add-order-detail-button.md): Drop a 'Copy link' button onto the vendor order detail page with a widget — no forking, no page override. - [Create attributes and variant axes](https://docs.mercurjs.com/resources/tutorials/attributes-and-variant-axes.md): Build the attribute catalog: a filterable attribute, a variant axis backed by a native product option, and an inline product-scoped axis. - [Build your own block](https://docs.mercurjs.com/resources/tutorials/build-a-block.md): Author a reusable feature as a block — backend, panel UI, and docs — build it into a registry, and install it into any Mercur project. - [Configure commissions](https://docs.mercurjs.com/resources/tutorials/configure-commissions.md): Set the global commission, add scoped rules for categories and sellers, and confirm the right rate lands on an order. - [Add a custom API route](https://docs.mercurjs.com/resources/tutorials/custom-api-route.md): Create a backend endpoint, regenerate the route map, and call it from a panel page with full type safety end to end. - [Add a custom panel page](https://docs.mercurjs.com/resources/tutorials/custom-panel-page.md): Add a page to the vendor portal with file-based routing — the dashboard SDK wires it in automatically. - [Customize navigation](https://docs.mercurjs.com/resources/tutorials/customize-navigation.md): Reorder, hide, relabel, and re-parent built-in sidebar items with a single _navigation.ts file and defineNavigationConfig. - [Extend forms and tables](https://docs.mercurjs.com/resources/tutorials/extend-forms-and-tables.md): Add validated fields to built-in forms, replace fields in detail sections, and add list columns with defineCustomFieldsConfig and createFormHelper. - [Extend the onboarding flow](https://docs.mercurjs.com/resources/tutorials/extend-onboarding.md): Add a field to the vendor store-setup surface, submit it through additional_data, and persist it durably from a workflow hook — end to end, without forking. - [Build your first marketplace](https://docs.mercurjs.com/resources/tutorials/first-marketplace.md): Go end-to-end: create a project, approve a seller, list a product, place a split order, and watch a payout settle. - [Handle product requests](https://docs.mercurjs.com/resources/tutorials/handle-product-requests.md): Walk a vendor's product submission and a follow-up edit through the operator review pipeline — confirm, decline, or send back. - [Import and export products via CSV](https://docs.mercurjs.com/resources/tutorials/import-export-products.md): Install the product-import-export block and give vendors CSV import and export drawers on their product list. - [Work with master products and offers](https://docs.mercurjs.com/resources/tutorials/master-products-and-offers.md): Two sellers compete on one catalog entry: publish a master product, create competing offers, and read per-offer prices from the Store API. - [Set up seller payouts](https://docs.mercurjs.com/resources/tutorials/seller-payouts-stripe.md): Take a seller from zero to paid: Stripe Connect onboarding, an order through fulfillment, capture, and the automated payout. - [Build a store-setup checklist](https://docs.mercurjs.com/resources/tutorials/store-setup-checklist.md): Render an onboarding progress checklist on the vendor store-setup surface with a seller.setup widget — the seller is handed to you as data, no fetching required. - [Telemetry](https://docs.mercurjs.com/telemetry.md): Learn about the anonymous usage data collected by the Mercur CLI - [API Client](https://docs.mercurjs.com/tools/api-client.md): Type-safe client for consuming Mercur APIs. - [CLI](https://docs.mercurjs.com/tools/cli.md): Install blocks, scaffold projects, and generate types from the command line. - [Dashboard SDK](https://docs.mercurjs.com/tools/dashboard-sdk.md): The Vite plugin that powers admin and vendor panel extension — file-based routing, virtual modules, and block resolution. - [Admin Panel](https://docs.mercurjs.com/user-guide/admin/overview.md): What marketplace operators do in the Admin Panel — no technical knowledge required. - [Stores in Mercur Admin Panel](https://docs.mercurjs.com/user-guide/admin/stores.md) - [Vendor Panel](https://docs.mercurjs.com/user-guide/vendor/overview.md): What sellers do in the Vendor Panel — no technical knowledge required. - [Store in Mercur Vendor Panel](https://docs.mercurjs.com/user-guide/vendor/stores.md) ## OpenAPI Specs - [openapi](https://docs.mercurjs.com/v1/api-reference/openapi.json) - [combined.oas](https://docs.mercurjs.com/v1/api-reference/combined.oas.json)