> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mercurjs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Store API

> Storefront routes under /store/* for discovery, multi-vendor carts, checkout, and order groups.

The Store API is what a storefront talks to.

It extends Medusa's store routes with marketplace discovery (sellers and offers) and replaces the cart completion flow with the multi-vendor order-group split. Most routes are public, and customer authentication requirements are noted per group. See [API conventions](/rc/references/api/conventions) for pagination and field selection.

## Products and discovery

| Method | Path                              | Purpose                                                              |
| ------ | --------------------------------- | -------------------------------------------------------------------- |
| `GET`  | `/store/products`                 | List published products (filtered to sellers visible to the shopper) |
| `GET`  | `/store/products/:id`             | Retrieve a product                                                   |
| `GET`  | `/store/product-categories[/:id]` | Category tree with media and icons                                   |
| `GET`  | `/store/product-attributes[/:id]` | Filterable attributes for building facet UIs                         |

## Sellers

| Method | Path                 | Purpose                                                                       |
| ------ | -------------------- | ----------------------------------------------------------------------------- |
| `GET`  | `/store/sellers`     | List public seller storefronts (only `open` sellers outside a closure window) |
| `GET`  | `/store/sellers/:id` | Retrieve a seller storefront                                                  |

## Offers

| Method | Path                | Purpose                                       |
| ------ | ------------------- | --------------------------------------------- |
| `GET`  | `/store/offers`     | List offers, with per-offer calculated prices |
| `GET`  | `/store/offers/:id` | Retrieve an offer                             |

## Carts and checkout

Mercur overrides the cart routes so a single cart can span multiple sellers:

| Method | Path                                | Purpose                                                                     |
| ------ | ----------------------------------- | --------------------------------------------------------------------------- |
| `POST` | `/store/carts/:id/line-items`       | Add a line item (offer-aware, multi-seller)                                 |
| `POST` | `/store/carts/:id/shipping-methods` | Add per-seller shipping methods                                             |
| `GET`  | `/store/shipping-options`           | Shipping options available for the cart, grouped by seller                  |
| `POST` | `/store/carts/:id/promotions`       | Apply promotions                                                            |
| `POST` | `/store/carts/:id/complete`         | Complete the cart, splitting it into per-seller orders under an order group |

## Order groups

Customer authentication **required**.

| Method | Path                      | Purpose                                         |
| ------ | ------------------------- | ----------------------------------------------- |
| `GET`  | `/store/order-groups`     | The customer's order groups                     |
| `GET`  | `/store/order-groups/:id` | An order group with its per-seller child orders |

## Next steps

<CardGroup cols={2}>
  <Card title="Order groups" href="/rc/learn/order-groups" />
</CardGroup>
