# MercurJS Documentation > Mercur is the open-source enterprise marketplace platform. Composable, API-first, and AI-native, it runs on your own infrastructure with role-based access control, an auditable change pipeline, and full code ownership. It powers multi-vendor sellers, commissions, order splitting, and payouts, with an admin panel and a vendor portal, on a proven Medusa commerce core. ## Docs - [Mercur Documentation](https://docs.mercurjs.com/home.md): The open-source enterprise marketplace platform. Composable, API-first, and AI-native, on infrastructure you own. - [Overview](https://docs.mercurjs.com/learn/introduction.md): Set up Mercur, tour the operator and seller panels, and see how a multi-vendor order flows. - [Why Mercur](https://docs.mercurjs.com/learn/why-mercur.md): Why teams choose Mercur to run an enterprise marketplace: governance, ownership, and composability without a closed platform. - [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. - [Skills](https://docs.mercurjs.com/resources/ai/skills.md): Agent skills for building on Mercur: the bundled-docs contract plus the official Medusa agent skills. - [MCP Server](https://docs.mercurjs.com/resources/ai/mcp.md): Connect your AI environment to Mercur documentation via Model Context Protocol. - [Architecture](https://docs.mercurjs.com/learn/architecture.md): How the Mercur enterprise marketplace platform is built: its layers, building blocks, and how the pieces fit together. - [Migration to 2.0](https://docs.mercurjs.com/learn/migration-to-2-0.md): Port an existing Mercur 1.x project to 2.x, the latest release. - [Telemetry](https://docs.mercurjs.com/telemetry.md): Learn about the anonymous usage data collected by the Mercur CLI - [Store](https://docs.mercurjs.com/platform/store/overview.md): Manage sellers, their teams, and their lifecycle on the marketplace. - [The store entity](https://docs.mercurjs.com/platform/store/concepts/store-entity.md): The seller record, its business identity, and its satellite data. - [Team & members](https://docs.mercurjs.com/platform/store/concepts/team.md): Members, roles, invites, and the many-to-many store relationship. - [Lifecycle](https://docs.mercurjs.com/platform/store/concepts/lifecycle.md): Store statuses, transitions, scheduled closures, and premium. - [Create a store](https://docs.mercurjs.com/platform/store/guides/create-a-store.md): Create a seller programmatically with createSellersWorkflow. - [Moderate stores](https://docs.mercurjs.com/platform/store/guides/moderate-a-store.md): Approve, suspend, and terminate stores from server code. - [Manage the team](https://docs.mercurjs.com/platform/store/guides/manage-the-team.md): Invite and add store members from server code. - [Data models](https://docs.mercurjs.com/platform/store/reference/data-models.md): The data models owned by the Store (Seller) domain. - [Links to other modules](https://docs.mercurjs.com/platform/store/reference/links.md): How the Store (Seller) domain links to other modules across the marketplace. - [Workflows](https://docs.mercurjs.com/platform/store/reference/workflows.md): Seller and member workflows, service methods, and events. - [Service reference](https://docs.mercurjs.com/platform/store/reference/service.md): The Seller module service and its methods for working with records directly. - [Event reference](https://docs.mercurjs.com/platform/store/reference/events.md): Events emitted by the Store domain, for subscribers and side effects. - [Catalog](https://docs.mercurjs.com/platform/catalog/overview.md): Master products, variants, categories, and the store allowlist that governs who may sell what. - [Master products](https://docs.mercurjs.com/platform/catalog/concepts/master-products.md): The shared catalog, why products aren't seller-owned, and submission attribution. - [The store allowlist](https://docs.mercurjs.com/platform/catalog/concepts/product-seller-allowlist.md): The product_seller link that controls which stores may sell a master product. - [Status lifecycle](https://docs.mercurjs.com/platform/catalog/concepts/status-lifecycle.md): How a master product moves from draft to proposed, published, or rejected. - [Variants, categories & collections](https://docs.mercurjs.com/platform/catalog/concepts/variants-categories-collections.md): The native Medusa Product structure the shared catalog is built on. - [Create a master product](https://docs.mercurjs.com/platform/catalog/guides/create-a-master-product.md): Create a master product programmatically with createProductsWorkflow. - [Allowlist stores](https://docs.mercurjs.com/platform/catalog/guides/allowlist-stores.md): Grant and revoke a store's right to sell a master product from server code. - [Publish or reject a product](https://docs.mercurjs.com/platform/catalog/guides/publish-or-reject-a-product.md): Move a proposed master product to published or rejected from server code. - [Data models](https://docs.mercurjs.com/platform/catalog/reference/data-models.md): The Medusa Product models the catalog is built on, plus Mercur's marketplace layer. - [Links to other modules](https://docs.mercurjs.com/platform/catalog/reference/links.md): How the catalog links to sellers, offers, attributes, and media. - [Workflows](https://docs.mercurjs.com/platform/catalog/reference/workflows.md): Mercur's product create, review, and allowlist workflows. - [Service reference](https://docs.mercurjs.com/platform/catalog/reference/service.md): Medusa's Product module service: methods for working with records directly. - [Event reference](https://docs.mercurjs.com/platform/catalog/reference/events.md): Events emitted by the Catalog domain, for subscribers and side effects. - [Offer](https://docs.mercurjs.com/platform/offer/overview.md): How a store sells against the shared master catalog, with its own SKU, price, inventory, and shipping. - [What is an offer](https://docs.mercurjs.com/platform/offer/concepts/what-is-an-offer.md): The offer record, how it points at a master product variant, and its SKU. - [Pricing & inventory](https://docs.mercurjs.com/platform/offer/concepts/pricing-and-inventory.md): Offer-scoped prices on the shared price set, and inventory linked to the offer. - [Shipping](https://docs.mercurjs.com/platform/offer/concepts/shipping.md): How an offer carries its own shipping profile. - [Create an offer](https://docs.mercurjs.com/platform/offer/guides/create-an-offer.md): Create a single offer programmatically with createOffersWorkflow. - [Bulk-create offers](https://docs.mercurjs.com/platform/offer/guides/bulk-create-offers.md): List many offers against the master catalog in a single workflow run. - [Manage offer inventory](https://docs.mercurjs.com/platform/offer/guides/manage-offer-inventory.md): Attach, update, and detach inventory items on an existing offer. - [Data models](https://docs.mercurjs.com/platform/offer/reference/data-models.md): The data models owned by the Offer domain. - [Links to other modules](https://docs.mercurjs.com/platform/offer/reference/links.md): How the Offer domain links to other modules across the marketplace. - [Workflows](https://docs.mercurjs.com/platform/offer/reference/workflows.md): Offer workflows for creating, updating, deleting, and batching inventory. - [Service reference](https://docs.mercurjs.com/platform/offer/reference/service.md): The Offer module service and its methods for working with records directly. - [Event reference](https://docs.mercurjs.com/platform/offer/reference/events.md): Events emitted by the Offer domain, for subscribers and side effects. - [Attribute](https://docs.mercurjs.com/platform/attribute/overview.md): An operator-managed, typed attribute catalog for describing and filtering the shared product catalog. - [Attribute types](https://docs.mercurjs.com/platform/attribute/concepts/attribute-types.md): The five attribute types and the values they hold. - [Variant axes](https://docs.mercurjs.com/platform/attribute/concepts/variant-axes.md): How is_variant_axis mirrors a native ProductOption and generates variants. - [Global vs inline & filtering](https://docs.mercurjs.com/platform/attribute/concepts/global-vs-inline.md): Catalog-wide attributes, product-scoped attributes, and storefront filtering. - [Create an attribute](https://docs.mercurjs.com/platform/attribute/guides/create-an-attribute.md): Create a typed catalog attribute with createProductAttributesWorkflow. - [Attach attributes to a product](https://docs.mercurjs.com/platform/attribute/guides/attach-attributes-to-a-product.md): Attach, detach, and update a product's attributes in one batch call. - [Create a variant axis](https://docs.mercurjs.com/platform/attribute/guides/create-a-variant-axis.md): Generate product variants from a multi_select axis attribute. - [Data models](https://docs.mercurjs.com/platform/attribute/reference/data-models.md): The data models owned by the Attribute (Product Attribute) domain. - [Links to other modules](https://docs.mercurjs.com/platform/attribute/reference/links.md): How the Attribute (Product Attribute) domain links to products, categories, and options. - [Workflows](https://docs.mercurjs.com/platform/attribute/reference/workflows.md): Attribute catalog and product-attachment workflows. - [Service reference](https://docs.mercurjs.com/platform/attribute/reference/service.md): The Product Attribute module service, with methods for working with records directly. - [Event reference](https://docs.mercurjs.com/platform/attribute/reference/events.md): Events emitted by the Attribute domain, for subscribers and side effects. - [Product Edit](https://docs.mercurjs.com/platform/product-edit/overview.md): Route every product edit through a reviewable, immutable change pipeline. - [The change pipeline](https://docs.mercurjs.com/platform/product-edit/concepts/change-pipeline.md): The ProductChange record, its immutability, and the audit trail. - [Change actions](https://docs.mercurjs.com/platform/product-edit/concepts/change-actions.md): The typed actions that make up a change and the details they carry. - [Status & auto-confirm](https://docs.mercurjs.com/platform/product-edit/concepts/status-and-auto-confirm.md): The change status lifecycle, revision requests, and auto-confirm. - [Edit a product](https://docs.mercurjs.com/platform/product-edit/guides/edit-a-product.md): Stage a product change from server code with the edit workflows. - [Confirm or decline a change](https://docs.mercurjs.com/platform/product-edit/guides/confirm-or-decline-a-change.md): Resolve a pending product change from server code. - [Request a revision](https://docs.mercurjs.com/platform/product-edit/guides/request-a-revision.md): Send a product submission back to the vendor from server code. - [Data models](https://docs.mercurjs.com/platform/product-edit/reference/data-models.md): The data models owned by the Product Edit domain. - [Links to other modules](https://docs.mercurjs.com/platform/product-edit/reference/links.md): How the Product Edit domain links to other modules across the marketplace. - [Workflows](https://docs.mercurjs.com/platform/product-edit/reference/workflows.md): Product change workflows, service methods, and events. - [Service reference](https://docs.mercurjs.com/platform/product-edit/reference/service.md): The Product Edit module service methods for working with records directly. - [Event reference](https://docs.mercurjs.com/platform/product-edit/reference/events.md): Events emitted by the Product Edit domain, for subscribers and side effects. - [Order Group](https://docs.mercurjs.com/platform/order-group/overview.md): Wrap a multi-seller cart into one shopper-facing order made of independent per-seller orders. - [The order group](https://docs.mercurjs.com/platform/order-group/concepts/the-order-group.md): The aggregate record over a multi-seller purchase, its display id, and cart link. - [Order splitting](https://docs.mercurjs.com/platform/order-group/concepts/order-splitting.md): How a multi-seller cart becomes a group of independent per-seller orders. - [Computed totals](https://docs.mercurjs.com/platform/order-group/concepts/computed-totals.md): Why an order group's seller count and total are derived at query time, not stored. - [Retrieve an order group](https://docs.mercurjs.com/platform/order-group/guides/retrieve-an-order-group.md): Load an order group and its aggregated child orders with getOrderGroupDetailWorkflow. - [List order groups](https://docs.mercurjs.com/platform/order-group/guides/list-order-groups.md): Page through order groups and scope them to a seller with getOrderGroupsListWorkflow. - [Split a cart into orders](https://docs.mercurjs.com/platform/order-group/guides/split-a-cart.md): Complete a multi-seller cart into a group of per-seller orders with completeCartWithSplitOrdersWorkflow. - [Data models](https://docs.mercurjs.com/platform/order-group/reference/data-models.md): The data model owned by the Order Group domain. - [Links to other modules](https://docs.mercurjs.com/platform/order-group/reference/links.md): How the Order Group domain links to carts, orders, sellers, and offers. - [Workflows](https://docs.mercurjs.com/platform/order-group/reference/workflows.md): Order group workflows, service methods, and events. - [Service reference](https://docs.mercurjs.com/platform/order-group/reference/service.md): The Seller module service and its methods for working with order group records directly. - [Event reference](https://docs.mercurjs.com/platform/order-group/reference/events.md): Events emitted by the Order Group domain, for subscribers and side effects. - [Commission](https://docs.mercurjs.com/platform/commission/overview.md): Configure how the marketplace takes its cut of every seller order. - [Rules & rates](https://docs.mercurjs.com/platform/commission/concepts/rules-and-rates.md): The commission rate, its fixed and percentage forms, and per-currency amounts. - [Rule matching](https://docs.mercurjs.com/platform/commission/concepts/rule-matching.md): The five dimensions, most-specific-wins resolution, tie-breaks, and shipping. - [Order commission lines](https://docs.mercurjs.com/platform/commission/concepts/order-commission-lines.md): Per-order commission lines, how they're computed, and BigNumber precision. - [Create a commission rate](https://docs.mercurjs.com/platform/commission/guides/create-a-rate.md): Create a commission rate programmatically with createCommissionRatesWorkflow. - [Batch-update commission rules](https://docs.mercurjs.com/platform/commission/guides/batch-update-rules.md): Create, update, and delete a rate's rules in a single call. - [Refresh order commission lines](https://docs.mercurjs.com/platform/commission/guides/refresh-order-commission-lines.md): Recompute an order's commission lines after it changes. - [Data models](https://docs.mercurjs.com/platform/commission/reference/data-models.md): The data models owned by the Commission domain. - [Links to other modules](https://docs.mercurjs.com/platform/commission/reference/links.md): How the Commission domain connects to the catalog, sellers, and orders. - [Workflows](https://docs.mercurjs.com/platform/commission/reference/workflows.md): Commission rate, rule, and order-line workflows. - [Service reference](https://docs.mercurjs.com/platform/commission/reference/service.md): The Commission module service and its methods for working with records directly. - [Event reference](https://docs.mercurjs.com/platform/commission/reference/events.md): How the Commission domain stays in sync with order changes. - [Payout](https://docs.mercurjs.com/platform/payout/overview.md): Onboard sellers to a payment provider and settle their earnings automatically. - [Accounts & onboarding](https://docs.mercurjs.com/platform/payout/concepts/accounts-and-onboarding.md): The payout account, its onboarding record, and provider-specific data. - [Account lifecycle](https://docs.mercurjs.com/platform/payout/concepts/account-lifecycle.md): Payout account statuses and the webhook-driven transitions between them. - [The payout pipeline](https://docs.mercurjs.com/platform/payout/concepts/payout-pipeline.md): Capture check, payment capture, daily payout, transfer, and the provider interface. - [Create a payout account](https://docs.mercurjs.com/platform/payout/guides/create-a-payout-account.md): Create a seller's payout account with createPayoutAccountWorkflow. - [Start provider onboarding](https://docs.mercurjs.com/platform/payout/guides/start-provider-onboarding.md): Kick off provider onboarding with createOnboardingWorkflow. - [Process a provider webhook](https://docs.mercurjs.com/platform/payout/guides/process-a-provider-webhook.md): Turn a provider webhook into account and payout status updates. - [Data models](https://docs.mercurjs.com/platform/payout/reference/data-models.md): The data models owned by the Payout domain. - [Links to other modules](https://docs.mercurjs.com/platform/payout/reference/links.md): How the Payout domain links to sellers and orders across the marketplace. - [Workflows](https://docs.mercurjs.com/platform/payout/reference/workflows.md): Payout account, onboarding, payout, and webhook workflows. - [Service reference](https://docs.mercurjs.com/platform/payout/reference/service.md): The Payout module service: methods for working with records directly. - [Event reference](https://docs.mercurjs.com/platform/payout/reference/events.md): Events that drive the payout pipeline, for subscribers and side effects. - [Review](https://docs.mercurjs.com/platform/review/overview.md): Collect, moderate, and surface customer ratings for products and sellers. - [The review model](https://docs.mercurjs.com/platform/review/concepts/the-review-model.md): The single review entity, its rating, notes, and moderation status. - [Product vs seller reviews](https://docs.mercurjs.com/platform/review/concepts/product-vs-seller-reviews.md): The reference discriminator and the links that anchor each review. - [Ratings & moderation](https://docs.mercurjs.com/platform/review/concepts/ratings-and-moderation.md): The review status lifecycle, store responses, and aggregate ratings. - [Create a review](https://docs.mercurjs.com/platform/review/guides/create-a-review.md): Create a review programmatically with createReviewWorkflow. - [Moderate a review](https://docs.mercurjs.com/platform/review/guides/moderate-a-review.md): Publish, reject, and delete reviews from server code. - [Respond to a review](https://docs.mercurjs.com/platform/review/guides/respond-to-a-review.md): Attach a store's public response with respondReviewWorkflow. - [Compute aggregate ratings](https://docs.mercurjs.com/platform/review/guides/compute-aggregate-ratings.md): Compute average ratings for products and sellers from server code. - [Data models](https://docs.mercurjs.com/platform/review/reference/data-models.md): The data models owned by the Review domain. - [Links to other modules](https://docs.mercurjs.com/platform/review/reference/links.md): How the Review domain links to products, sellers, orders, and customers. - [Workflows](https://docs.mercurjs.com/platform/review/reference/workflows.md): Review workflows for creating, moderating, responding, and deleting. - [Service reference](https://docs.mercurjs.com/platform/review/reference/service.md): The Review module service: CRUD methods and aggregate-rating helpers. - [Event reference](https://docs.mercurjs.com/platform/review/reference/events.md): Running side effects as reviews are created, moderated, and answered. - [How-to Guides](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. - [How to Create a Custom Module](https://docs.mercurjs.com/resources/best-practices/modules.md): Keep a module thin: it owns one domain's data and its CRUD, with no orchestration, events, or cross-module calls. - [How to Link Two Modules](https://docs.mercurjs.com/resources/best-practices/module-links.md): Relate modules without coupling them using defineLink, the link-direction rule, built-in link steps, and cross-link filtering. - [How to Create a Workflow](https://docs.mercurjs.com/resources/best-practices/workflows.md): Coordinate a business operation across modules as workflow steps, each with automatic rollback, reusing built-in steps and reading through the query engine. - [How to 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. - [How to Create an API Route](https://docs.mercurjs.com/resources/best-practices/api-routes.md): Write API routes as thin HTTP adapters that type both sides, validate with Zod, and scope reads through middlewares and queryConfig. - [How to Add a Custom API Route](https://docs.mercurjs.com/resources/tutorials/custom-api-route.md): Add a backend endpoint, regenerate the route map, and call it from a panel page with full type safety. - [How to React to Events and Schedule Jobs](https://docs.mercurjs.com/resources/best-practices/subscribers-and-jobs.md): Run work outside the request cycle: react to events with subscribers, run periodic work with scheduled jobs, and always mutate through workflows. - [How to Add a Custom Field](https://docs.mercurjs.com/resources/best-practices/custom-fields.md): Attach extra data to a built-in entity across the full stack: declare it in core, render it in the panels, pull in linked data, and type it end-to-end. - [How to Use Shared Types](https://docs.mercurjs.com/resources/best-practices/types.md): Type the panels against your own backend extensions by augmenting framework DTOs with declaration merging. - [How to Create Variant-Axis Attributes](https://docs.mercurjs.com/resources/tutorials/attributes-and-variant-axes.md): Build an attribute catalog with a filterable attribute, a global variant axis, and an inline product-scoped axis. - [How to Create Master Products and Offers](https://docs.mercurjs.com/resources/tutorials/master-products-and-offers.md): Publish one master product, add two competing seller offers, and read per-offer prices from the Store API. - [How to Extend the Panels](https://docs.mercurjs.com/resources/customization/extending-panels.md): Add pages, widgets, navigation overrides, and form and table fields to the admin and vendor panels without forking. - [How to Add a Widget](https://docs.mercurjs.com/resources/tutorials/add-a-widget.md): Render your own React component in a named zone on a built-in panel page without forking it. - [How to Create a Custom Page](https://docs.mercurjs.com/resources/tutorials/custom-panel-page.md): Add a page to the vendor portal or admin panel with file-based routing and let the dashboard SDK wire it into the sidebar. - [How to Add an Action Button](https://docs.mercurjs.com/resources/tutorials/add-order-detail-button.md): Add a Copy link button to the vendor order detail page with a widget, without forking or overriding the page. - [How to Extend Forms and Tables](https://docs.mercurjs.com/resources/tutorials/extend-forms-and-tables.md): Add validated fields, detail-section displays, and list columns to a built-in model from a single file with defineCustomFieldsConfig. - [How to Customize Navigation](https://docs.mercurjs.com/resources/tutorials/customize-navigation.md): Reorder, hide, relabel, and re-parent the panel's built-in sidebar items from a single _navigation.ts file. - [How to Extend Onboarding](https://docs.mercurjs.com/resources/tutorials/extend-onboarding.md): Add a field to the vendor store-setup surface, carry it through additional_data, and persist it from a workflow hook without forking core. - [Frontend Patterns](https://docs.mercurjs.com/resources/best-practices/frontend.md): Build Admin and Vendor panel UI with the shared design system: @medusajs/ui, custom-field extensions, and new pages, with the correct imports. - [How to Add a Block](https://docs.mercurjs.com/resources/tutorials/add-a-block.md): Install the reviews block end-to-end and follow it live across the admin, vendor, and storefront surfaces. - [How to Build a Block](https://docs.mercurjs.com/resources/tutorials/build-a-block.md): Author a reusable feature as a block covering backend, panel UI, and docs, then build it into a registry and install it into any Mercur project. - [Integrations](https://docs.mercurjs.com/resources/integrations/overview.md): Extend Mercur with third-party providers and installable blocks. - [Stripe Connect](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. - [Self-host Mercur](https://docs.mercurjs.com/resources/deployment/self-host.md): Deploy a Mercur marketplace to your own infrastructure: the API, the panels, and the databases behind them. - [Medusa Cloud](https://docs.mercurjs.com/resources/deployment/medusa-cloud.md): Deploy the Mercur backend, admin panel, and vendor panel on Medusa Cloud. - [Reference](https://docs.mercurjs.com/references/overview.md): Technical reference for Mercur's HTTP APIs, panel extensions, and configuration. - [Panel extensions](https://docs.mercurjs.com/references/panel-extensions/overview.md): Customize the admin and vendor panels with pages, widgets, custom fields, and navigation, without forking them. - [Custom Fields](https://docs.mercurjs.com/references/panel-extensions/custom-fields.md): Add fields, detail rows, section actions, and list columns to a built-in model. - [Widgets](https://docs.mercurjs.com/references/panel-extensions/widgets.md): Render a React component in a fixed slot on a built-in admin or vendor page. - [Create a new page](https://docs.mercurjs.com/references/panel-extensions/create-page.md): Add a page to the admin or vendor panel with file-based routing, then register it in the sidebar. - [API conventions](https://docs.mercurjs.com/references/api/conventions.md): Authentication, seller scoping, pagination, field selection, and webhooks shared by every Mercur API surface. - [Admin API](https://docs.mercurjs.com/references/api/admin.md): Operator routes under /admin/* for sellers, commissions, payouts, master catalog, and marketplace-wide orders. - [List Sellers](https://docs.mercurjs.com/references/api/admin/sellers/list-sellers.md): Retrieve a paginated list of sellers. - [Create Seller](https://docs.mercurjs.com/references/api/admin/sellers/create-seller.md): Create a new seller account. - [Retrieve Seller](https://docs.mercurjs.com/references/api/admin/sellers/retrieve-seller.md): Retrieve a seller by ID. - [Update Seller](https://docs.mercurjs.com/references/api/admin/sellers/update-seller.md): Update a seller's details. - [Approve Seller](https://docs.mercurjs.com/references/api/admin/sellers/approve-seller.md): Approve a pending seller. - [Suspend Seller](https://docs.mercurjs.com/references/api/admin/sellers/suspend-seller.md): Suspend a seller. - [Unsuspend Seller](https://docs.mercurjs.com/references/api/admin/sellers/unsuspend-seller.md): Lift a seller's suspension. - [Terminate Seller](https://docs.mercurjs.com/references/api/admin/sellers/terminate-seller.md): Terminate a seller account. - [Unterminate Seller](https://docs.mercurjs.com/references/api/admin/sellers/unterminate-seller.md): Reverse a seller termination. - [Upsert Seller Address](https://docs.mercurjs.com/references/api/admin/sellers/upsert-seller-address.md): Create or update a seller's address. - [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. - [Delete Professional Details](https://docs.mercurjs.com/references/api/admin/sellers/delete-professional-details.md): Delete a seller's professional details. - [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 Seller Members](https://docs.mercurjs.com/references/api/admin/sellers/list-seller-members.md): Retrieve a paginated list of a seller's members. - [Add Seller Member](https://docs.mercurjs.com/references/api/admin/sellers/add-seller-member.md): Add an existing member to a seller's team. - [Remove Seller Member](https://docs.mercurjs.com/references/api/admin/sellers/remove-seller-member.md): Remove a member from a seller's team. - [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. - [Delete Member Invite](https://docs.mercurjs.com/references/api/admin/sellers/delete-member-invite.md): Delete a seller's member invite. - [Resend Member Invite](https://docs.mercurjs.com/references/api/admin/sellers/resend-member-invite.md): Resend a seller's member invite. - [List Members](https://docs.mercurjs.com/references/api/admin/members/list-members.md): Retrieve a paginated list of members across all sellers. - [List Commission Rates](https://docs.mercurjs.com/references/api/admin/commission-rates/list-commission-rates.md): Retrieve a paginated list of commission rates. - [Create Commission Rate](https://docs.mercurjs.com/references/api/admin/commission-rates/create-commission-rate.md): Create a commission rate. - [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. - [Delete Commission Rate](https://docs.mercurjs.com/references/api/admin/commission-rates/delete-commission-rate.md): Delete a commission rate. - [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. - [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. - [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. - [Delete Offer](https://docs.mercurjs.com/references/api/admin/offers/delete-offer.md): Delete an offer. - [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. - [List Products](https://docs.mercurjs.com/references/api/admin/products/list-products.md): Retrieve a paginated list of master catalog products. - [Create Product](https://docs.mercurjs.com/references/api/admin/products/create-product.md): Create a master catalog product. - [Retrieve Product](https://docs.mercurjs.com/references/api/admin/products/retrieve-product.md): Retrieve a master catalog product by ID. - [Update Product](https://docs.mercurjs.com/references/api/admin/products/update-product.md): Update a master catalog product. - [Delete Product](https://docs.mercurjs.com/references/api/admin/products/delete-product.md): Delete a master catalog product. - [Preview Product Changes](https://docs.mercurjs.com/references/api/admin/products/preview-product.md): Retrieve the pending change set for a product. - [Confirm Product](https://docs.mercurjs.com/references/api/admin/products/confirm-product.md): Approve a proposed product for publishing. - [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. - [Set Product Sellers](https://docs.mercurjs.com/references/api/admin/products/set-product-sellers.md): Manage which sellers are eligible to sell a 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. - [List Product Variants](https://docs.mercurjs.com/references/api/admin/products/list-product-variants.md): Retrieve a paginated list of a product's variants. - [Create Product Variant](https://docs.mercurjs.com/references/api/admin/products/create-product-variant.md): Add a variant to a product. - [Retrieve Product Variant](https://docs.mercurjs.com/references/api/admin/products/retrieve-product-variant.md): Retrieve a single variant of a product. - [Update Product Variant](https://docs.mercurjs.com/references/api/admin/products/update-product-variant.md): Update a variant of a product. - [Delete Product Variant](https://docs.mercurjs.com/references/api/admin/products/delete-product-variant.md): Delete a variant from a product. - [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. - [Cancel Product Change](https://docs.mercurjs.com/references/api/admin/product-changes/cancel-product-change.md): Cancel a pending product change without applying it. - [List Product Attributes](https://docs.mercurjs.com/references/api/admin/product-attributes/list-product-attributes.md): Retrieve a paginated list of catalog product attributes. - [Create Product Attribute](https://docs.mercurjs.com/references/api/admin/product-attributes/create-product-attribute.md): Create a catalog product attribute. - [Retrieve Product Attribute](https://docs.mercurjs.com/references/api/admin/product-attributes/retrieve-product-attribute.md): Retrieve a catalog product attribute by ID. - [Update Product Attribute](https://docs.mercurjs.com/references/api/admin/product-attributes/update-product-attribute.md): Update a catalog product attribute. - [Delete Product Attribute](https://docs.mercurjs.com/references/api/admin/product-attributes/delete-product-attribute.md): Delete a catalog product attribute. - [Upsert Attribute Values](https://docs.mercurjs.com/references/api/admin/product-attributes/create-attribute-value.md): Create or update values on a product attribute. - [Update Attribute Value](https://docs.mercurjs.com/references/api/admin/product-attributes/update-attribute-value.md): Update a single value on a 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. - [List Orders](https://docs.mercurjs.com/references/api/admin/orders/list-orders.md): Retrieve a paginated list of orders across all sellers. - [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 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. - [Vendor API](https://docs.mercurjs.com/references/api/vendor.md): Seller-scoped routes under /vendor/* where every request operates on the authenticated member's selected seller. - [Create Seller](https://docs.mercurjs.com/references/api/vendor/sellers/create-seller.md): Register a new seller account with its first member. - [List Sellers](https://docs.mercurjs.com/references/api/vendor/sellers/list-sellers.md): List the seller accounts the authenticated member belongs to. - [Select Seller](https://docs.mercurjs.com/references/api/vendor/sellers/select-seller.md): Set the active seller for the member's session. - [Retrieve Current Seller](https://docs.mercurjs.com/references/api/vendor/sellers/retrieve-current-seller.md): Retrieve the seller the request is scoped to. - [Update Current Seller](https://docs.mercurjs.com/references/api/vendor/sellers/update-current-seller.md): Update the seller the request is scoped to. - [Upsert Seller Address](https://docs.mercurjs.com/references/api/vendor/sellers/upsert-seller-address.md): Create or update the seller's address. - [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. - [Delete Professional Details](https://docs.mercurjs.com/references/api/vendor/sellers/delete-professional-details.md): Remove the seller's business registration details. - [List Seller Members](https://docs.mercurjs.com/references/api/vendor/sellers/list-seller-members.md): List the members of a seller account. - [Invite Seller Member](https://docs.mercurjs.com/references/api/vendor/sellers/invite-seller-member.md): Invite a new member to the seller's team. - [Update Member Role](https://docs.mercurjs.com/references/api/vendor/sellers/update-member-role.md): Change the role of a seller team member. - [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 Member](https://docs.mercurjs.com/references/api/vendor/sellers/retrieve-current-seller-member.md): Retrieve the authenticated member's membership in a seller. - [List Member Invites](https://docs.mercurjs.com/references/api/vendor/sellers/list-member-invites.md): List the seller's pending member invites. - [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. - [Accept Member Invite](https://docs.mercurjs.com/references/api/vendor/members/accept-member-invite.md): Accept a seller team invite using its token. - [List Products](https://docs.mercurjs.com/references/api/vendor/products/list-products.md): Retrieve a paginated list of products visible to the seller. - [Create Product](https://docs.mercurjs.com/references/api/vendor/products/create-product.md): Create a new product owned by the seller. - [Retrieve Product](https://docs.mercurjs.com/references/api/vendor/products/retrieve-product.md): Retrieve a product by its ID. - [Update Product](https://docs.mercurjs.com/references/api/vendor/products/update-product.md): Stage an update to a product as a change request. - [Delete Product](https://docs.mercurjs.com/references/api/vendor/products/delete-product.md): Stage a product deletion as a change request. - [Preview Product Change](https://docs.mercurjs.com/references/api/vendor/products/preview-product.md): Retrieve the seller's pending change request for 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. - [Batch Product Attributes](https://docs.mercurjs.com/references/api/vendor/products/batch-product-attributes.md): Stage attribute additions, removals, and updates on a product. - [List Product Variants](https://docs.mercurjs.com/references/api/vendor/products/list-product-variants.md): Retrieve a paginated list of a product's variants. - [Create Product Variant](https://docs.mercurjs.com/references/api/vendor/products/create-product-variant.md): Stage the addition of a variant to a product. - [Retrieve Product Variant](https://docs.mercurjs.com/references/api/vendor/products/retrieve-product-variant.md): Retrieve a single variant of a product. - [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. - [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 Variants](https://docs.mercurjs.com/references/api/vendor/product-variants/list-variants.md): Retrieve a paginated list of product variants across products. - [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 Offers](https://docs.mercurjs.com/references/api/vendor/offers/list-offers.md): Retrieve a paginated list of the seller's offers. - [Create Offer](https://docs.mercurjs.com/references/api/vendor/offers/create-offer.md): Create a listing for a product variant. - [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. - [Delete Offer](https://docs.mercurjs.com/references/api/vendor/offers/delete-offer.md): Delete one of the seller's offers. - [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. - [List Orders](https://docs.mercurjs.com/references/api/vendor/orders/list-orders.md): Retrieve a paginated list of the seller's orders. - [Retrieve Order](https://docs.mercurjs.com/references/api/vendor/orders/retrieve-order.md): Retrieve a single order by ID. - [Preview Order](https://docs.mercurjs.com/references/api/vendor/orders/preview-order.md): Preview the order with its pending order change applied. - [List Order Changes](https://docs.mercurjs.com/references/api/vendor/orders/list-order-changes.md): Retrieve the change history of an order. - [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. - [Complete Order](https://docs.mercurjs.com/references/api/vendor/orders/complete-order.md): Mark the order as completed. - [Cancel Order](https://docs.mercurjs.com/references/api/vendor/orders/cancel-order.md): Cancel the order. - [Create Fulfillment](https://docs.mercurjs.com/references/api/vendor/orders/create-fulfillment.md): Create a fulfillment for the order's items. - [Cancel Fulfillment](https://docs.mercurjs.com/references/api/vendor/orders/cancel-fulfillment.md): Cancel a fulfillment on the order. - [Mark Fulfillment as Delivered](https://docs.mercurjs.com/references/api/vendor/orders/mark-fulfillment-delivered.md): Mark a fulfillment as delivered. - [Create Shipment](https://docs.mercurjs.com/references/api/vendor/orders/create-shipment.md): Create a shipment for a fulfillment. - [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 Payout Accounts](https://docs.mercurjs.com/references/api/vendor/payout-accounts/retrieve-payout-account.md): List the seller's payout accounts. - [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. - [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. - [Create Onboarding](https://docs.mercurjs.com/references/api/vendor/payout-accounts/create-onboarding.md): Start or refresh provider onboarding for a payout account. - [Store API](https://docs.mercurjs.com/references/api/store.md): Storefront routes under /store/* for discovery, multi-vendor carts, checkout, and order groups. - [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. - [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 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 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 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. - [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 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. - [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. - [Configuration](https://docs.mercurjs.com/references/configuration.md): withMercur() options, environment variables, and provider configuration. - [Admin Panel](https://docs.mercurjs.com/user-guide/admin/overview.md): What marketplace operators do in the Admin Panel, with no technical knowledge required. - [Stores in Mercur Admin Panel](https://docs.mercurjs.com/user-guide/admin/stores.md) - [Commissions](https://docs.mercurjs.com/user-guide/admin/commissions/overview.md): Set the fee your marketplace takes on each seller's sales. - [Edit the Global Commission](https://docs.mercurjs.com/user-guide/admin/commissions/how-tos/edit-the-global-commission.md): Change the default fee your marketplace takes on every sale. - [Create a Commission Rule](https://docs.mercurjs.com/user-guide/admin/commissions/how-tos/create-a-commission-rule.md): Override the global commission for a specific store, product type, or category. - [Manage a Commission Rule](https://docs.mercurjs.com/user-guide/admin/commissions/how-tos/manage-a-commission-rule.md): Edit, enable, disable, or delete an existing commission rule. - [Product Requests](https://docs.mercurjs.com/user-guide/admin/product-requests/overview.md): Review, approve, or reject the products and edits sellers submit. - [Review a New Product Request](https://docs.mercurjs.com/user-guide/admin/product-requests/how-tos/review-a-new-product.md): Confirm, request changes to, or reject a product a seller submitted. - [Review a Product Update Request](https://docs.mercurjs.com/user-guide/admin/product-requests/how-tos/review-a-product-edit.md): Approve or reject the changes a seller made to a published product. - [Product Attributes](https://docs.mercurjs.com/user-guide/admin/attributes/overview.md): Create the typed attributes sellers use to describe products and customers use to filter them. - [Create a Product Attribute](https://docs.mercurjs.com/user-guide/admin/attributes/how-tos/create-an-attribute.md): Add a new attribute and choose how it stores its value. - [Manage an Attribute's Possible Values](https://docs.mercurjs.com/user-guide/admin/attributes/how-tos/manage-possible-values.md): Add or reorder the values sellers can choose from for a select attribute. - [Vendor Panel](https://docs.mercurjs.com/user-guide/vendor/overview.md): What sellers do in the Vendor Panel, with no technical knowledge required. - [Complete Your Onboarding](https://docs.mercurjs.com/user-guide/vendor/onboarding.md): Set up your store step by step when you first join the marketplace. - [Store in Mercur Vendor Panel](https://docs.mercurjs.com/user-guide/vendor/stores.md) - [Offers](https://docs.mercurjs.com/user-guide/vendor/offers/overview.md): List a product for sale with your SKU, price, and stock. - [Create an Offer](https://docs.mercurjs.com/user-guide/vendor/offers/how-tos/create-an-offer.md): List one or more catalog products for sale with your SKU, price, and stock. - [Update Offer Prices and Stock](https://docs.mercurjs.com/user-guide/vendor/offers/how-tos/update-prices-and-stock.md): Change an existing offer's prices or inventory without recreating it. - [Products](https://docs.mercurjs.com/user-guide/vendor/products/overview.md): Submit products to the shared marketplace catalog and track their approval. - [Submit a Product](https://docs.mercurjs.com/user-guide/vendor/products/how-tos/submit-a-product.md): Create a new product and send it to the marketplace for approval. - [Edit a Product](https://docs.mercurjs.com/user-guide/vendor/products/how-tos/edit-a-product.md): Change a published product and track the update request. - [Orders](https://docs.mercurjs.com/user-guide/vendor/orders/overview.md): Fulfill, ship, refund, and handle returns for the orders you receive. - [Fulfill an Order](https://docs.mercurjs.com/user-guide/vendor/orders/how-tos/fulfill-an-order.md): Prepare the items in an order to be sent to the customer. - [Ship an Order](https://docs.mercurjs.com/user-guide/vendor/orders/how-tos/ship-an-order.md): Mark fulfilled items as shipped and add tracking for the customer. - [Mark an Order as Delivered](https://docs.mercurjs.com/user-guide/vendor/orders/how-tos/mark-an-order-as-delivered.md): Record that the customer has received a shipped order. - [Refund an Order](https://docs.mercurjs.com/user-guide/vendor/orders/how-tos/refund-an-order.md): Return money to the customer for a captured payment. - [Process a Return](https://docs.mercurjs.com/user-guide/vendor/orders/how-tos/process-a-return.md): Create a return for an order and receive the items back into stock.