@mercurjs/docs 2.2.0-canary.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/README.md +24 -0
  2. package/content/blocks.mdx +209 -0
  3. package/content/learn/architecture.mdx +215 -0
  4. package/content/learn/attributes.mdx +89 -0
  5. package/content/learn/blocks.mdx +99 -0
  6. package/content/learn/commissions.mdx +175 -0
  7. package/content/learn/concepts.mdx +84 -0
  8. package/content/learn/installation.mdx +117 -0
  9. package/content/learn/introduction.mdx +71 -0
  10. package/content/learn/offers.mdx +78 -0
  11. package/content/learn/order-groups.mdx +114 -0
  12. package/content/learn/payouts.mdx +175 -0
  13. package/content/learn/product-requests.mdx +82 -0
  14. package/content/learn/products.mdx +79 -0
  15. package/content/learn/registry.mdx +155 -0
  16. package/content/learn/seller-members.mdx +62 -0
  17. package/content/learn/sellers.mdx +118 -0
  18. package/content/migration/from-1-x-to-2-0.mdx +152 -0
  19. package/content/migration/from-2-0-to-2-1.mdx +105 -0
  20. package/content/migration/overview.mdx +58 -0
  21. package/content/references/api/admin/commission-rates/batch-commission-rules.mdx +70 -0
  22. package/content/references/api/admin/commission-rates/create-commission-rate.mdx +95 -0
  23. package/content/references/api/admin/commission-rates/delete-commission-rate.mdx +40 -0
  24. package/content/references/api/admin/commission-rates/list-commission-rates.mdx +92 -0
  25. package/content/references/api/admin/commission-rates/retrieve-commission-rate.mdx +70 -0
  26. package/content/references/api/admin/commission-rates/update-commission-rate.mdx +84 -0
  27. package/content/references/api/admin/members/list-members.mdx +61 -0
  28. package/content/references/api/admin/offers/batch-create-offers.mdx +130 -0
  29. package/content/references/api/admin/offers/delete-offer.mdx +40 -0
  30. package/content/references/api/admin/offers/list-offers.mdx +106 -0
  31. package/content/references/api/admin/offers/retrieve-offer.mdx +82 -0
  32. package/content/references/api/admin/order-groups/list-order-groups.mdx +77 -0
  33. package/content/references/api/admin/order-groups/retrieve-order-group.mdx +56 -0
  34. package/content/references/api/admin/orders/get-order-commission-lines.mdx +65 -0
  35. package/content/references/api/admin/orders/get-order-order-group.mdx +56 -0
  36. package/content/references/api/admin/orders/list-orders.mdx +79 -0
  37. package/content/references/api/admin/payouts/list-payouts.mdx +75 -0
  38. package/content/references/api/admin/payouts/retrieve-payout.mdx +62 -0
  39. package/content/references/api/admin/product-attributes/create-attribute-value.mdx +76 -0
  40. package/content/references/api/admin/product-attributes/create-product-attribute.mdx +99 -0
  41. package/content/references/api/admin/product-attributes/delete-attribute-value.mdx +52 -0
  42. package/content/references/api/admin/product-attributes/delete-product-attribute.mdx +40 -0
  43. package/content/references/api/admin/product-attributes/list-product-attributes.mdx +91 -0
  44. package/content/references/api/admin/product-attributes/retrieve-product-attribute.mdx +81 -0
  45. package/content/references/api/admin/product-attributes/update-attribute-value.mdx +66 -0
  46. package/content/references/api/admin/product-attributes/update-product-attribute.mdx +76 -0
  47. package/content/references/api/admin/product-changes/cancel-product-change.mdx +68 -0
  48. package/content/references/api/admin/product-changes/confirm-product-change.mdx +47 -0
  49. package/content/references/api/admin/products/batch-product-attributes.mdx +96 -0
  50. package/content/references/api/admin/products/confirm-product.mdx +59 -0
  51. package/content/references/api/admin/products/create-product-variant.mdx +78 -0
  52. package/content/references/api/admin/products/create-product.mdx +169 -0
  53. package/content/references/api/admin/products/delete-product-variant.mdx +48 -0
  54. package/content/references/api/admin/products/delete-product.mdx +40 -0
  55. package/content/references/api/admin/products/list-product-variants.mdx +91 -0
  56. package/content/references/api/admin/products/list-products.mdx +109 -0
  57. package/content/references/api/admin/products/preview-product.mdx +78 -0
  58. package/content/references/api/admin/products/reject-product.mdx +59 -0
  59. package/content/references/api/admin/products/request-product-changes.mdx +59 -0
  60. package/content/references/api/admin/products/retrieve-product-variant.mdx +73 -0
  61. package/content/references/api/admin/products/retrieve-product.mdx +96 -0
  62. package/content/references/api/admin/products/set-product-sellers.mdx +47 -0
  63. package/content/references/api/admin/products/update-product-variant.mdx +89 -0
  64. package/content/references/api/admin/products/update-product.mdx +133 -0
  65. package/content/references/api/admin/sellers/add-seller-member.mdx +63 -0
  66. package/content/references/api/admin/sellers/approve-seller.mdx +54 -0
  67. package/content/references/api/admin/sellers/create-seller.mdx +100 -0
  68. package/content/references/api/admin/sellers/delete-member-invite.mdx +42 -0
  69. package/content/references/api/admin/sellers/delete-professional-details.mdx +52 -0
  70. package/content/references/api/admin/sellers/invite-seller-member.mdx +63 -0
  71. package/content/references/api/admin/sellers/list-member-invites.mdx +71 -0
  72. package/content/references/api/admin/sellers/list-seller-members.mdx +71 -0
  73. package/content/references/api/admin/sellers/list-seller-products.mdx +85 -0
  74. package/content/references/api/admin/sellers/list-sellers.mdx +96 -0
  75. package/content/references/api/admin/sellers/remove-seller-member.mdx +42 -0
  76. package/content/references/api/admin/sellers/resend-member-invite.mdx +55 -0
  77. package/content/references/api/admin/sellers/retrieve-seller.mdx +81 -0
  78. package/content/references/api/admin/sellers/suspend-seller.mdx +60 -0
  79. package/content/references/api/admin/sellers/terminate-seller.mdx +60 -0
  80. package/content/references/api/admin/sellers/unsuspend-seller.mdx +52 -0
  81. package/content/references/api/admin/sellers/unterminate-seller.mdx +52 -0
  82. package/content/references/api/admin/sellers/update-seller.mdx +83 -0
  83. package/content/references/api/admin/sellers/upsert-payment-details.mdx +88 -0
  84. package/content/references/api/admin/sellers/upsert-professional-details.mdx +78 -0
  85. package/content/references/api/admin/sellers/upsert-seller-address.mdx +91 -0
  86. package/content/references/api/admin.mdx +134 -0
  87. package/content/references/api/conventions.mdx +109 -0
  88. package/content/references/api/store/carts/add-line-item.mdx +115 -0
  89. package/content/references/api/store/carts/add-shipping-methods.mdx +84 -0
  90. package/content/references/api/store/carts/apply-promotions.mdx +83 -0
  91. package/content/references/api/store/carts/complete-cart.mdx +98 -0
  92. package/content/references/api/store/offers/list-offers.mdx +161 -0
  93. package/content/references/api/store/offers/retrieve-offer.mdx +112 -0
  94. package/content/references/api/store/order-groups/list-order-groups.mdx +105 -0
  95. package/content/references/api/store/order-groups/retrieve-order-group.mdx +78 -0
  96. package/content/references/api/store/product-attributes/list-product-attributes.mdx +134 -0
  97. package/content/references/api/store/product-attributes/retrieve-product-attribute.mdx +78 -0
  98. package/content/references/api/store/product-categories/list-product-categories.mdx +126 -0
  99. package/content/references/api/store/product-categories/retrieve-product-category.mdx +79 -0
  100. package/content/references/api/store/products/list-products.mdx +184 -0
  101. package/content/references/api/store/products/retrieve-product.mdx +107 -0
  102. package/content/references/api/store/search/search.mdx +136 -0
  103. package/content/references/api/store/sellers/list-sellers.mdx +105 -0
  104. package/content/references/api/store/sellers/retrieve-seller.mdx +62 -0
  105. package/content/references/api/store/shipping-options/list-shipping-options.mdx +74 -0
  106. package/content/references/api/store.mdx +67 -0
  107. package/content/references/api/vendor/members/accept-member-invite.mdx +65 -0
  108. package/content/references/api/vendor/members/retrieve-current-member.mdx +51 -0
  109. package/content/references/api/vendor/members/update-current-member.mdx +70 -0
  110. package/content/references/api/vendor/offers/batch-create-offers.mdx +123 -0
  111. package/content/references/api/vendor/offers/batch-offer-inventory-items.mdx +103 -0
  112. package/content/references/api/vendor/offers/create-offer.mdx +141 -0
  113. package/content/references/api/vendor/offers/delete-offer.mdx +51 -0
  114. package/content/references/api/vendor/offers/list-offers.mdx +125 -0
  115. package/content/references/api/vendor/offers/retrieve-offer.mdx +74 -0
  116. package/content/references/api/vendor/offers/update-offer.mdx +82 -0
  117. package/content/references/api/vendor/orders/cancel-fulfillment.mdx +63 -0
  118. package/content/references/api/vendor/orders/cancel-order.mdx +56 -0
  119. package/content/references/api/vendor/orders/complete-order.mdx +55 -0
  120. package/content/references/api/vendor/orders/create-fulfillment.mdx +76 -0
  121. package/content/references/api/vendor/orders/create-shipment.mdx +99 -0
  122. package/content/references/api/vendor/orders/get-order-commission-lines.mdx +66 -0
  123. package/content/references/api/vendor/orders/list-order-changes.mdx +75 -0
  124. package/content/references/api/vendor/orders/list-orders.mdx +103 -0
  125. package/content/references/api/vendor/orders/mark-fulfillment-delivered.mdx +62 -0
  126. package/content/references/api/vendor/orders/preview-order.mdx +65 -0
  127. package/content/references/api/vendor/orders/retrieve-order.mdx +84 -0
  128. package/content/references/api/vendor/payout-accounts/create-onboarding.mdx +68 -0
  129. package/content/references/api/vendor/payout-accounts/create-payout-account.mdx +59 -0
  130. package/content/references/api/vendor/payout-accounts/retrieve-payout-account-by-id.mdx +60 -0
  131. package/content/references/api/vendor/payout-accounts/retrieve-payout-account.mdx +77 -0
  132. package/content/references/api/vendor/payouts/list-payouts.mdx +90 -0
  133. package/content/references/api/vendor/payouts/retrieve-payout.mdx +63 -0
  134. package/content/references/api/vendor/product-attributes/list-product-attributes.mdx +135 -0
  135. package/content/references/api/vendor/product-attributes/retrieve-product-attribute.mdx +71 -0
  136. package/content/references/api/vendor/product-variants/list-variants.mdx +136 -0
  137. package/content/references/api/vendor/products/batch-product-attributes.mdx +104 -0
  138. package/content/references/api/vendor/products/cancel-product-change.mdx +62 -0
  139. package/content/references/api/vendor/products/create-product-variant.mdx +92 -0
  140. package/content/references/api/vendor/products/create-product.mdx +197 -0
  141. package/content/references/api/vendor/products/delete-product-variant.mdx +68 -0
  142. package/content/references/api/vendor/products/delete-product.mdx +62 -0
  143. package/content/references/api/vendor/products/list-product-variants.mdx +114 -0
  144. package/content/references/api/vendor/products/list-products.mdx +163 -0
  145. package/content/references/api/vendor/products/preview-product.mdx +61 -0
  146. package/content/references/api/vendor/products/retrieve-product-variant.mdx +76 -0
  147. package/content/references/api/vendor/products/retrieve-product.mdx +69 -0
  148. package/content/references/api/vendor/products/update-product-variant.mdx +104 -0
  149. package/content/references/api/vendor/products/update-product.mdx +148 -0
  150. package/content/references/api/vendor/sellers/create-seller.mdx +150 -0
  151. package/content/references/api/vendor/sellers/delete-professional-details.mdx +54 -0
  152. package/content/references/api/vendor/sellers/invite-seller-member.mdx +67 -0
  153. package/content/references/api/vendor/sellers/list-member-invites.mdx +82 -0
  154. package/content/references/api/vendor/sellers/list-seller-members.mdx +80 -0
  155. package/content/references/api/vendor/sellers/list-sellers.mdx +71 -0
  156. package/content/references/api/vendor/sellers/remove-seller-member.mdx +48 -0
  157. package/content/references/api/vendor/sellers/retrieve-current-seller-member.mdx +59 -0
  158. package/content/references/api/vendor/sellers/retrieve-current-seller.mdx +69 -0
  159. package/content/references/api/vendor/sellers/select-seller.mdx +44 -0
  160. package/content/references/api/vendor/sellers/update-current-seller.mdx +108 -0
  161. package/content/references/api/vendor/sellers/update-member-role.mdx +51 -0
  162. package/content/references/api/vendor/sellers/upsert-payment-details.mdx +74 -0
  163. package/content/references/api/vendor/sellers/upsert-professional-details.mdx +70 -0
  164. package/content/references/api/vendor/sellers/upsert-seller-address.mdx +81 -0
  165. package/content/references/api/vendor.mdx +150 -0
  166. package/content/references/configuration.mdx +155 -0
  167. package/content/references/modules/commission.mdx +106 -0
  168. package/content/references/modules/custom-fields.mdx +45 -0
  169. package/content/references/modules/media.mdx +55 -0
  170. package/content/references/modules/offer.mdx +64 -0
  171. package/content/references/modules/payout.mdx +121 -0
  172. package/content/references/modules/product-attribute.mdx +111 -0
  173. package/content/references/modules/product-edit.mdx +80 -0
  174. package/content/references/modules/search.mdx +112 -0
  175. package/content/references/modules/seller.mdx +175 -0
  176. package/content/references/overview.mdx +70 -0
  177. package/content/references/workflows/cart/add-seller-shipping-method-to-cart.mdx +44 -0
  178. package/content/references/workflows/cart/complete-cart-with-split-orders.mdx +36 -0
  179. package/content/references/workflows/cart/list-seller-shipping-options-for-cart.mdx +39 -0
  180. package/content/references/workflows/cart/update-cart-seller-promotions.mdx +42 -0
  181. package/content/references/workflows/commission/batch-commission-rules.mdx +45 -0
  182. package/content/references/workflows/commission/create-commission-rates.mdx +41 -0
  183. package/content/references/workflows/commission/delete-commission-rates.mdx +34 -0
  184. package/content/references/workflows/commission/refresh-order-commission-lines.mdx +30 -0
  185. package/content/references/workflows/commission/update-commission-rates.mdx +35 -0
  186. package/content/references/workflows/media/set-category-images.mdx +41 -0
  187. package/content/references/workflows/media/set-collection-images.mdx +41 -0
  188. package/content/references/workflows/member/accept-member-invite.mdx +33 -0
  189. package/content/references/workflows/member/add-seller-member.mdx +30 -0
  190. package/content/references/workflows/member/create-member-invites.mdx +34 -0
  191. package/content/references/workflows/member/delete-member-invite.mdx +24 -0
  192. package/content/references/workflows/member/remove-seller-member.mdx +28 -0
  193. package/content/references/workflows/member/resend-member-invite.mdx +28 -0
  194. package/content/references/workflows/member/update-member-role.mdx +28 -0
  195. package/content/references/workflows/member/update-member.mdx +35 -0
  196. package/content/references/workflows/offer/batch-offer-inventory-items.mdx +58 -0
  197. package/content/references/workflows/offer/create-offers.mdx +63 -0
  198. package/content/references/workflows/offer/delete-offers.mdx +35 -0
  199. package/content/references/workflows/offer/update-offers.mdx +51 -0
  200. package/content/references/workflows/order/cancel-order-fulfillment.mdx +34 -0
  201. package/content/references/workflows/order/confirm-claim-request.mdx +25 -0
  202. package/content/references/workflows/order/confirm-exchange-request.mdx +25 -0
  203. package/content/references/workflows/order/confirm-order-edit-request.mdx +25 -0
  204. package/content/references/workflows/order/confirm-return-receive.mdx +25 -0
  205. package/content/references/workflows/order/create-order-fulfillment.mdx +45 -0
  206. package/content/references/workflows/order-group/get-order-group-detail.mdx +29 -0
  207. package/content/references/workflows/order-group/get-order-groups-list.mdx +36 -0
  208. package/content/references/workflows/overview.mdx +72 -0
  209. package/content/references/workflows/payout/create-onboarding.mdx +36 -0
  210. package/content/references/workflows/payout/create-payout-account.mdx +33 -0
  211. package/content/references/workflows/payout/create-payout.mdx +30 -0
  212. package/content/references/workflows/payout/process-payout-for-webhook.mdx +32 -0
  213. package/content/references/workflows/product/confirm-products.mdx +46 -0
  214. package/content/references/workflows/product/create-products.mdx +63 -0
  215. package/content/references/workflows/product/link-sellers-to-product-category.mdx +40 -0
  216. package/content/references/workflows/product/link-sellers-to-product.mdx +40 -0
  217. package/content/references/workflows/product/reject-product.mdx +46 -0
  218. package/content/references/workflows/product/request-product-change.mdx +46 -0
  219. package/content/references/workflows/product-attribute/add-product-attributes-to-product.mdx +49 -0
  220. package/content/references/workflows/product-attribute/create-and-link-product-attributes-to-product.mdx +46 -0
  221. package/content/references/workflows/product-attribute/create-product-attribute-values.mdx +43 -0
  222. package/content/references/workflows/product-attribute/create-product-attributes.mdx +56 -0
  223. package/content/references/workflows/product-attribute/delete-product-attribute-values.mdx +30 -0
  224. package/content/references/workflows/product-attribute/delete-product-attributes.mdx +30 -0
  225. package/content/references/workflows/product-attribute/remove-product-attributes-from-product.mdx +29 -0
  226. package/content/references/workflows/product-attribute/update-product-attribute-values.mdx +44 -0
  227. package/content/references/workflows/product-attribute/update-product-attributes-on-product.mdx +41 -0
  228. package/content/references/workflows/product-attribute/update-product-attributes.mdx +48 -0
  229. package/content/references/workflows/product-attribute/upsert-product-attribute-values.mdx +43 -0
  230. package/content/references/workflows/product-edit/auto-confirm-product-change.mdx +39 -0
  231. package/content/references/workflows/product-edit/cancel-product-change.mdx +49 -0
  232. package/content/references/workflows/product-edit/confirm-product-change.mdx +57 -0
  233. package/content/references/workflows/product-edit/create-product-change.mdx +72 -0
  234. package/content/references/workflows/product-edit/reject-product-change.mdx +54 -0
  235. package/content/references/workflows/product-edit/stage-product-change.mdx +75 -0
  236. package/content/references/workflows/seller/approve-seller.mdx +34 -0
  237. package/content/references/workflows/seller/create-seller-account.mdx +59 -0
  238. package/content/references/workflows/seller/create-seller-defaults.mdx +22 -0
  239. package/content/references/workflows/seller/create-sellers.mdx +65 -0
  240. package/content/references/workflows/seller/delete-seller-professional-details.mdx +37 -0
  241. package/content/references/workflows/seller/delete-sellers.mdx +24 -0
  242. package/content/references/workflows/seller/invite-seller.mdx +28 -0
  243. package/content/references/workflows/seller/suspend-seller.mdx +35 -0
  244. package/content/references/workflows/seller/terminate-seller.mdx +35 -0
  245. package/content/references/workflows/seller/unsuspend-seller.mdx +34 -0
  246. package/content/references/workflows/seller/unterminate-seller.mdx +34 -0
  247. package/content/references/workflows/seller/update-seller-address.mdx +55 -0
  248. package/content/references/workflows/seller/update-seller-payment-details.mdx +52 -0
  249. package/content/references/workflows/seller/update-seller-professional-details.mdx +48 -0
  250. package/content/references/workflows/seller/update-sellers.mdx +57 -0
  251. package/content/resources/ai/llms.mdx +74 -0
  252. package/content/resources/ai/mcp.mdx +152 -0
  253. package/content/resources/ai/overview.mdx +97 -0
  254. package/content/resources/customization/custom-fields.mdx +182 -0
  255. package/content/resources/customization/extend-a-workflow.mdx +39 -0
  256. package/content/resources/customization/extending-panels.mdx +309 -0
  257. package/content/resources/deployment/medusa-cloud.mdx +167 -0
  258. package/content/resources/integrations/notifications.mdx +39 -0
  259. package/content/resources/integrations/search.mdx +122 -0
  260. package/content/resources/integrations/stripe-connect.mdx +395 -0
  261. package/content/resources/tutorials/add-a-block.mdx +74 -0
  262. package/content/resources/tutorials/attributes-and-variant-axes.mdx +111 -0
  263. package/content/resources/tutorials/build-a-block.mdx +134 -0
  264. package/content/resources/tutorials/configure-commissions.mdx +127 -0
  265. package/content/resources/tutorials/custom-api-route.mdx +142 -0
  266. package/content/resources/tutorials/custom-panel-page.mdx +78 -0
  267. package/content/resources/tutorials/first-marketplace.mdx +45 -0
  268. package/content/resources/tutorials/handle-product-requests.mdx +80 -0
  269. package/content/resources/tutorials/import-export-products.mdx +96 -0
  270. package/content/resources/tutorials/master-products-and-offers.mdx +89 -0
  271. package/content/resources/tutorials/recompose-a-page.mdx +129 -0
  272. package/content/resources/tutorials/replace-panel-components.mdx +116 -0
  273. package/content/resources/tutorials/seller-payouts-stripe.mdx +89 -0
  274. package/content/telemetry.mdx +67 -0
  275. package/content/tools/api-client.mdx +155 -0
  276. package/content/tools/cli.mdx +196 -0
  277. package/content/tools/dashboard-sdk.mdx +35 -0
  278. package/content/user-guide/admin/overview.mdx +23 -0
  279. package/content/user-guide/admin/stores.mdx +193 -0
  280. package/content/user-guide/vendor/overview.mdx +23 -0
  281. package/content/user-guide/vendor/stores.mdx +209 -0
  282. package/llms.txt +307 -0
  283. package/package.json +33 -0
@@ -0,0 +1,155 @@
1
+ ---
2
+ title: "API Client"
3
+ description: "Type-safe client for consuming Mercur APIs."
4
+ ---
5
+
6
+ `@mercurjs/client` provides a type-safe way to interact with your Mercur backend. Every endpoint, request input, and response is fully typed — inferred directly from your backend routes.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ bun add @mercurjs/client
12
+ ```
13
+
14
+ ## Create a client
15
+
16
+ ```typescript
17
+ import { createClient } from "@mercurjs/client";
18
+ import type { Routes } from "./.mercur/_generated";
19
+
20
+ export const client = createClient<Routes>({
21
+ baseUrl: "http://localhost:9000",
22
+ });
23
+ ```
24
+
25
+ <Info>
26
+ The `Routes` type is generated from your backend using `@mercurjs/cli@rc
27
+ codegen`. This gives the client full type safety with zero manual type
28
+ definitions.
29
+ </Info>
30
+
31
+ You can pass default fetch options for authentication or other headers:
32
+
33
+ ```typescript
34
+ export const client = createClient<Routes>({
35
+ baseUrl: "http://localhost:9000",
36
+ fetchOptions: {
37
+ credentials: "include",
38
+ headers: {
39
+ Authorization: `Bearer ${token}`,
40
+ },
41
+ },
42
+ });
43
+ ```
44
+
45
+ ## Calling APIs
46
+
47
+ The client exposes three methods:
48
+
49
+ ```typescript
50
+ // GET — fetch data
51
+ const { reviews } = await client.vendor.reviews.query({ limit: 10 });
52
+
53
+ // POST — create or update
54
+ const { product } = await client.vendor.products.mutate({
55
+ title: "New Product",
56
+ status: "draft",
57
+ });
58
+
59
+ // DELETE — remove a resource
60
+ await client.vendor.reviews.$id.delete({ $id: "rev_123" });
61
+ ```
62
+
63
+ Use `$`-prefixed keys for path parameters:
64
+
65
+ ```typescript
66
+ const { review } = await client.vendor.reviews.$id.query({
67
+ $id: "rev_123",
68
+ });
69
+ ```
70
+
71
+ Override fetch options per request when needed:
72
+
73
+ ```typescript
74
+ const { reviews } = await client.vendor.reviews.query({
75
+ fetchOptions: {
76
+ signal: abortController.signal,
77
+ },
78
+ });
79
+ ```
80
+
81
+ ## Inferring types
82
+
83
+ Extract input and output types from any client method using `InferClientInput` and `InferClientOutput`:
84
+
85
+ ```typescript
86
+ import type { InferClientInput, InferClientOutput } from "@mercurjs/client";
87
+
88
+ type ListInput = InferClientInput<typeof client.vendor.reviews.query>;
89
+ type ReviewDTO = InferClientOutput<
90
+ typeof client.vendor.reviews.$id.query
91
+ >["review"];
92
+ ```
93
+
94
+ ## React Query
95
+
96
+ The client returns plain Promises, so it works with any data-fetching library. Here's a typical pattern with TanStack React Query:
97
+
98
+ ```typescript
99
+ import { useQuery } from "@tanstack/react-query";
100
+ import { client } from "../lib/client";
101
+
102
+ export function useReviews(
103
+ query?: InferClientInput<typeof client.vendor.reviews.query>,
104
+ ) {
105
+ const { data, ...rest } = useQuery({
106
+ queryKey: ["reviews", query],
107
+ queryFn: () => client.vendor.reviews.query(query),
108
+ });
109
+
110
+ return { ...data, ...rest };
111
+ }
112
+ ```
113
+
114
+ ## Error handling
115
+
116
+ Failed requests throw a `ClientError`:
117
+
118
+ ```typescript
119
+ import { ClientError } from "@mercurjs/client";
120
+
121
+ try {
122
+ await client.vendor.reviews.$id.query({ $id: "invalid" });
123
+ } catch (error) {
124
+ if (error instanceof ClientError) {
125
+ error.message; // "Review not found"
126
+ error.status; // 404
127
+ error.statusText; // "Not Found"
128
+ }
129
+ }
130
+ ```
131
+
132
+ ## FAQ
133
+
134
+ <AccordionGroup>
135
+ <Accordion title="Why is a route missing from the client after I added it?">
136
+ The client's types come from the generated route map — run `bunx @mercurjs/cli@rc codegen` after adding or changing route files. During development, `codegen --watch` keeps the map current automatically.
137
+ </Accordion>
138
+ <Accordion title="How are URLs derived from property access?">
139
+ Each property becomes a kebab-cased path segment (`client.vendor.salesSummary` → `/vendor/sales-summary`), `$`-prefixed keys fill path parameters, and the terminal method picks the HTTP verb: `query` → GET, `mutate` → POST, `delete` → DELETE.
140
+ </Accordion>
141
+ <Accordion title="Can I upload files through the client?">
142
+ Yes — pass `Blob`/`File` values in the payload and the client switches to multipart form data automatically.
143
+ </Accordion>
144
+ </AccordionGroup>
145
+
146
+ ## Next steps
147
+
148
+ <CardGroup cols={2}>
149
+ <Card title="Add a custom API route" href="/rc/resources/tutorials/custom-api-route">
150
+ Build a route and call it through the client, end to end.
151
+ </Card>
152
+ <Card title="CLI" href="/rc/tools/cli">
153
+ The codegen command that generates the client's route map.
154
+ </Card>
155
+ </CardGroup>
@@ -0,0 +1,196 @@
1
+ ---
2
+ title: "CLI"
3
+ description: "Install blocks, scaffold projects, and generate types from the command line."
4
+ ---
5
+
6
+ The Mercur CLI (`@mercurjs/cli@rc`) manages your marketplace project — installing blocks, generating types, and checking for updates. To create a new project, use [`create-mercur-app`](https://www.npmjs.com/package/create-mercur-app).
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ bun add -g @mercurjs/cli@rc
12
+ ```
13
+
14
+ ## Commands
15
+
16
+ ### create
17
+
18
+ Scaffolding new projects lives in the standalone [`create-mercur-app`](https://www.npmjs.com/package/create-mercur-app) package, so it downloads fast and works with every package manager's `create` command.
19
+
20
+ ```bash
21
+ bun create mercur-app@rc my-marketplace
22
+ # or
23
+ npm create mercur-app@rc my-marketplace
24
+ ```
25
+
26
+ It will prompt you for database credentials and install dependencies automatically.
27
+
28
+ | Option | Description |
29
+ |--------|-------------|
30
+ | `-t, --template <template>` | Template to use (default: `basic`) |
31
+ | `--no-deps` | Skip dependency installation |
32
+ | `--skip-db` | Skip database configuration |
33
+ | `--db-connection-string <string>` | PostgreSQL connection string |
34
+
35
+ ### init
36
+
37
+ Initialize an existing project by creating a `blocks.json` configuration file.
38
+
39
+ ```bash
40
+ bunx @mercurjs/cli@rc init
41
+ ```
42
+
43
+ This sets up path aliases so the CLI knows where to place blocks in your project:
44
+
45
+ ```json
46
+ {
47
+ "aliases": {
48
+ "api": "packages/api/src",
49
+ "vendor": "apps/vendor/src",
50
+ "admin": "apps/admin/src"
51
+ }
52
+ }
53
+ ```
54
+
55
+ | Option | Description |
56
+ |--------|-------------|
57
+ | `-d, --defaults` | Use default paths without prompting |
58
+ | `-s, --silent` | Suppress output |
59
+
60
+ ### add
61
+
62
+ Install blocks from the registry into your project.
63
+
64
+ ```bash
65
+ bunx @mercurjs/cli@rc add wishlist
66
+ bunx @mercurjs/cli@rc add product-review order-tracking
67
+ ```
68
+
69
+ Blocks are copied directly into your project as source code. The CLI resolves dependencies, transforms imports to match your path aliases, and installs required packages.
70
+
71
+ | Option | Description |
72
+ |--------|-------------|
73
+ | `-o, --overwrite` | Overwrite existing files |
74
+ | `-y, --yes` | Skip confirmation |
75
+ | `-s, --silent` | Suppress output |
76
+
77
+ ### search
78
+
79
+ Find available blocks in the registry.
80
+
81
+ ```bash
82
+ bunx @mercurjs/cli@rc search --query wishlist
83
+ ```
84
+
85
+ | Option | Description |
86
+ |--------|-------------|
87
+ | `-q, --query <query>` | Search by name or description |
88
+ | `-r, --registry <registry>` | Registry to search (default: `@mercurjs`) |
89
+
90
+ ### view
91
+
92
+ Display detailed information about a block.
93
+
94
+ ```bash
95
+ bunx @mercurjs/cli@rc view wishlist
96
+ ```
97
+
98
+ ### diff
99
+
100
+ Compare local blocks against registry versions to check for updates.
101
+
102
+ ```bash
103
+ bunx @mercurjs/cli@rc diff wishlist
104
+ ```
105
+
106
+ If there are changes you want, update with:
107
+
108
+ ```bash
109
+ bunx @mercurjs/cli@rc add wishlist --overwrite
110
+ ```
111
+
112
+ ### codegen
113
+
114
+ Generate TypeScript types from your API routes. Used by the [API Client](/rc/tools/api-client) for type-safe requests.
115
+
116
+ ```bash
117
+ bunx @mercurjs/cli@rc codegen
118
+ ```
119
+
120
+ | Option | Description |
121
+ |--------|-------------|
122
+ | `-w, --watch` | Watch for changes and regenerate automatically |
123
+
124
+ ### registry:build
125
+
126
+ Build a custom registry from a `registry.json` file.
127
+
128
+ ```bash
129
+ bunx @mercurjs/cli@rc build
130
+ ```
131
+
132
+ | Option | Description |
133
+ |--------|-------------|
134
+ | `-o, --output <path>` | Output directory (default: `./r`) |
135
+ | `-v, --verbose` | Show detailed output |
136
+
137
+ ### info
138
+
139
+ Display project configuration and diagnostics.
140
+
141
+ ```bash
142
+ bunx @mercurjs/cli@rc info
143
+ ```
144
+
145
+ ### telemetry
146
+
147
+ Control anonymous usage data collection.
148
+
149
+ ```bash
150
+ bunx @mercurjs/cli@rc telemetry --disable
151
+ bunx @mercurjs/cli@rc telemetry --enable
152
+ ```
153
+
154
+ ## Custom registries
155
+
156
+ Add custom block registries to your `blocks.json`:
157
+
158
+ ```json
159
+ {
160
+ "registries": {
161
+ "@mercurjs": "https://registry.mercurjs.com/{name}",
162
+ "@my-registry": "https://my-registry.com/blocks/{name}.json"
163
+ }
164
+ }
165
+ ```
166
+
167
+ Use `{name}` as a placeholder for block names. Reference custom registries with the `-r` flag:
168
+
169
+ ```bash
170
+ bunx @mercurjs/cli@rc search --query review --registry @my-registry
171
+ ```
172
+
173
+ ## FAQ
174
+
175
+ <AccordionGroup>
176
+ <Accordion title="When do I use create vs init?">
177
+ `create` scaffolds a brand-new project from a template. `init` only writes a `blocks.json` into an **existing** project so the CLI knows where to place blocks — use it when adopting blocks in a repo that wasn't created by the CLI.
178
+ </Accordion>
179
+ <Accordion title="When do I need to run codegen?">
180
+ After any change to API route files — added routes, changed validators, renamed paths. The [typed client](/rc/tools/api-client) reads the generated route map, so stale types mean `codegen` hasn't run.
181
+ </Accordion>
182
+ <Accordion title="Will add overwrite my local changes to a block?">
183
+ Not silently — the CLI asks before overwriting existing files unless you pass `--overwrite`. Use `diff` first to see exactly what changed between your copy and the registry.
184
+ </Accordion>
185
+ </AccordionGroup>
186
+
187
+ ## Next steps
188
+
189
+ <CardGroup cols={2}>
190
+ <Card title="Add a feature with a block" href="/rc/resources/tutorials/add-a-block">
191
+ The install workflow end to end — search, view, add, migrate.
192
+ </Card>
193
+ <Card title="API Client" href="/rc/tools/api-client">
194
+ What codegen's route map powers on the frontend.
195
+ </Card>
196
+ </CardGroup>
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: "Dashboard SDK"
3
+ description: "The Vite plugin that powers admin and vendor panel extension — file-based routing, virtual modules, and block resolution."
4
+ ---
5
+
6
+ <Note>
7
+ This reference is being written. The outline below is the intended structure.
8
+ </Note>
9
+
10
+ <Info>
11
+ **Not Medusa's admin-vite-plugin.** The dashboard SDK is Mercur's own extension framework for both panels — it scans `src/routes/**/page.tsx` files, generates navigation, and injects everything through `virtual:mercur/*` modules at build time. Medusa's `defineWidgetConfig` / `defineRouteConfig` and widget zones are not part of this model. Start with [Extending Panels](/rc/resources/customization/extending-panels) for the authoring guide; this page covers the plugin's internals and options.
12
+ </Info>
13
+
14
+ ## What it does
15
+
16
+ File-based routing, virtual route modules, and block resolution for the admin and vendor panels.
17
+
18
+ ## Setup in a host app
19
+
20
+ Registering `mercurDashboardPlugin` in a Vite app.
21
+
22
+ ## Configuration options
23
+
24
+ Backend and vendor URLs, i18n, and build-time config.
25
+
26
+ ## Extension entry points
27
+
28
+ `admin_ui` and `vendor_ui` entry points exported by block packages.
29
+
30
+ ## Next steps
31
+
32
+ <CardGroup cols={2}>
33
+ <Card title="Extending the panels" href="/rc/resources/customization/extending-panels" />
34
+ <Card title="API client" href="/rc/tools/api-client" />
35
+ </CardGroup>
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: "Admin Panel"
3
+ description: "What marketplace operators do in the Admin Panel — no technical knowledge required."
4
+ ---
5
+
6
+ <Note>
7
+ This guide is being written. The outline below is the intended structure.
8
+ </Note>
9
+
10
+ ## What you can do here
11
+
12
+ Manage sellers, configure commissions, monitor orders and payouts, and control marketplace settings.
13
+
14
+ ## Common tasks
15
+
16
+ Links to the per-area guides as they are added.
17
+
18
+ ## Next steps
19
+
20
+ <CardGroup cols={2}>
21
+ <Card title="Stores" href="/rc/user-guide/admin/stores" />
22
+ <Card title="Vendor Panel" href="/rc/user-guide/vendor/overview" />
23
+ </CardGroup>
@@ -0,0 +1,193 @@
1
+ ---
2
+ title: "Stores in Mercur Admin Panel"
3
+ sidebarTitle: "Stores"
4
+ mode: "default"
5
+ ---
6
+
7
+ This guide explains how to manage stores in the Mercur Admin Panel.
8
+
9
+ ## View Stores
10
+
11
+ To view all stores, select “Stores” in the sidebar menu in your panel.
12
+
13
+ The table shows store details like name, email, status, date and and whether the admin featured the store. Use search, filter, and sort to find a specific store.
14
+
15
+ One vendor can have multiple stores, each displayed separately in the list.
16
+
17
+ ![Stores (3)](/images/Stores-\(3\).png)
18
+
19
+ ## Create Store
20
+
21
+ To create a store:
22
+
23
+ 1. Go to “Stores” in the sidebar.
24
+ 2. Click on the “Create” button.
25
+
26
+ This opens a form with two steps: “Details” and “Admin”
27
+
28
+ ### 1. Details Step
29
+
30
+ In the first “Details” step, you can enter the store general information:
31
+
32
+ 1. Enter “Name” and “Email”
33
+ 2. Optionally enter “Handle” and “Phone”. The “Handle” field value appears in the store storefront URL. It creates a human-readable URL and must be unique across all stores, containing only lowercase letters, numbers, and hyphens. If left blank, Mercur generates a handle from the name.
34
+ 3. Select “Currency.” Each store can have only one currency.
35
+ 4. Once you're done, click the "Continue" button.
36
+
37
+ ![Create Store (3).png](/images/user-guides/admin/stores/2.png)
38
+
39
+ ### 2. Admin Step
40
+
41
+ In the second “Admin” step, you assign an admin vendor to manage this store. You can select an existing user or invite a new one. As you type, suggestions will appear: select one or add a new email. Once the store is created, the selected user will receive an email invitation to join.
42
+
43
+ ![Create Store (4).png](/images/user-guides/admin/stores/3.png)
44
+
45
+ Once you create the store, it appears on the list with pending status. The store details entered by the admin during creation can be overwritten by the vendor during onboarding. You can block this depending on the onboarding flow you want.
46
+
47
+ ## Store Details
48
+
49
+ To view store details:
50
+
51
+ 1. Go to “Stores” in the sidebar.
52
+ 2. Choose the store from the list.
53
+
54
+ This opens the store details page. Here, you can view and edit store details, address, company details, payment details, and access their orders, products, users, and time off.
55
+
56
+ ![Store Details (14)](/images/Store-Details-\(14\).png)
57
+
58
+ ### Edit Store Details
59
+
60
+ To edit store details:
61
+
62
+ 1. Go to “Stores” in the sidebar.
63
+ 2. Choose the store from the list.
64
+ 3. Click the icon in the section’s header.
65
+ 4. Choose “Edit” from the dropdown.
66
+ 5. In the side window that opens, you can edit the store:
67
+ - Status. There are three statuses: Active, Pending, Inactive. When a store is “Inactive” or “Pending”, their products won’t be visible on the storefront.
68
+ - Name
69
+ - Description
70
+ - Handle
71
+ - Email
72
+ - Phone
73
+ - Website
74
+ - Featured Store Settings. If checked, the store will be highlighted with a special badge for internal use or promotional purposes.
75
+ - Media. You can add logo and banner. This media will be visible on the storefront.
76
+ 6. Once you’re done, click the “Save” button.
77
+
78
+ <Warning>
79
+ Once the currency is set, it cannot be changed.
80
+ </Warning>
81
+
82
+ <Note>
83
+ Once the admin edits store details, the vendor is notified in their panel.
84
+ </Note>
85
+
86
+ ![Store Details Edit Store (4)](/images/Store-Details---Edit-Store-\(4\).png)
87
+
88
+ ### Edit Store Address
89
+
90
+ To edit store address:
91
+
92
+ 1. Go to “Stores” in the sidebar.
93
+ 2. Choose the store from the list.
94
+ 3. Click the icon in the “Address” header.
95
+ 4. Choose “Edit” from the dropdown.
96
+ 5. In the side window that opens, you can edit:
97
+ - Name
98
+ - Address
99
+ - Apartment, suite, etc.
100
+ - Postal Code
101
+ - City
102
+ - Country
103
+ - State
104
+ 6. Once you're done, click the “Save” button.
105
+
106
+ ![Store Details Edit Address (3)](/images/Store-Details---Edit-Address-\(3\).png)
107
+
108
+ ### Edit Store Company Details
109
+
110
+ To edit company details:
111
+
112
+ 1. Go to “Stores” in the sidebar.
113
+ 2. Choose the store from the list.
114
+ 3. Click the icon in the “Company Details” header.
115
+ 4. Choose “Edit” from the dropdown.
116
+ 5. In the side window that opens, you can edit:
117
+ - Company
118
+ - Registration number
119
+ - Tax ID
120
+ 6. Once you're done, click the “Save” button.
121
+
122
+ ![Store Details Edit Company Details (3)](/images/Store-Details---Edit-Company-Details-\(3\).png)
123
+
124
+ ### Edit Store Payment Details
125
+
126
+ To edit payment details:
127
+
128
+ 1. Go to “Stores” in the sidebar.
129
+ 2. Choose the store from the list.
130
+ 3. Click the icon in the “Payment Details” header.
131
+ 4. Choose “Edit” from the dropdown.
132
+ 5. In the side window, you can edit payment details:
133
+ 1. For all countries except the United States, provide the following details based on your needs:
134
+ - Account name
135
+ - IBAN
136
+ - Account number
137
+ - SWIFT/BIC
138
+ 2. For United States:
139
+ - Account name
140
+ - Account number
141
+ - ACH routing number
142
+ 6. Once you're done, click the “Save” button.
143
+
144
+ ![Store Details Edit Payment Details (3)](/images/Store-Details---Edit-Payment-Details-\(3\).png)
145
+
146
+ ## Users
147
+
148
+ In the “Users” tab, view all store team members who manage the store. You can add new users by selecting existing ones from your base or inviting new members. You can also remove users from the store.
149
+
150
+ The user added during store creation is the main admin and cannot be removed. This user is marked with an “Admin” badge.
151
+
152
+ ![Store Details Users (6)](/images/Store-Details---Users-\(6\).png)
153
+
154
+ ### Add New User
155
+
156
+ To add a new user:
157
+
158
+ 1. Go to “Stores” in the sidebar.
159
+ 2. Choose the store from the list.
160
+ 3. Select the “Users” tab
161
+ 4. Click the “Add” button in the section's header.
162
+ 5. In the form that opens add:
163
+ 1. Email. As you type, suggestions will appear; select one or add a new email.
164
+ 2. Role. There are five roles:
165
+ - Store Administration
166
+ - Inventory Management
167
+ - Order Management
168
+ - Accounting
169
+ - Support
170
+ 6. Once you're done, click the “Save” button.
171
+
172
+ ![Store Details Users (7)](/images/Store-Details---Users-\(7\).png)
173
+
174
+ ## Time Off
175
+
176
+ In the “Time off” tab, view the store's time off. It specifies the period when the store will be unavailable to receive orders. The vendor can specify one time off period and add a note. During this period, the store’s products will not be visible on the storefront.
177
+
178
+ ![Store Details (15)](/images/Store-Details-\(15\).png)
179
+
180
+ ## Store Request
181
+
182
+ The vendor can submit a request to create a new store. Once submitted, the store appears on the list with “Pending” status. On the store details page, a block appears at the top with two actions:
183
+
184
+ - Confirm
185
+ - Reject
186
+
187
+ You can review the request, make necessary updates, and choose to confirm and publish the store or reject the request. Once confirmed, the store status changes to Active.
188
+
189
+ <Note>
190
+ Once the admin confirms or rejects the store creation request, the vendor receives an email.
191
+ </Note>
192
+
193
+ ![Store Details Pending Requested (2)](/images/Store-Details---Pending---Requested-\(2\).png)
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: "Vendor Panel"
3
+ description: "What sellers do in the Vendor Panel — no technical knowledge required."
4
+ ---
5
+
6
+ <Note>
7
+ This guide is being written. The outline below is the intended structure.
8
+ </Note>
9
+
10
+ ## What you can do here
11
+
12
+ Manage products, process orders, configure shipping, track payouts, and complete onboarding.
13
+
14
+ ## Common tasks
15
+
16
+ Links to the per-area guides as they are added.
17
+
18
+ ## Next steps
19
+
20
+ <CardGroup cols={2}>
21
+ <Card title="Stores" href="/rc/user-guide/vendor/stores" />
22
+ <Card title="Admin Panel" href="/rc/user-guide/admin/overview" />
23
+ </CardGroup>