@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,59 @@
1
+ ---
2
+ title: "Reject Product"
3
+ api: "POST /admin/products/{id}/reject"
4
+ description: "Reject a proposed product."
5
+ ---
6
+
7
+ Rejects the product's publish request and returns the updated product.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>The product's ID.</ParamField>
12
+
13
+ ## Query parameters
14
+
15
+ <ParamField query="fields" type="string">Comma-separated list of fields to include, prefix with `+`/`-` to add or remove from defaults.</ParamField>
16
+
17
+ ## Body parameters
18
+
19
+ <ParamField body="message" type="string">Rejection reason shared with the vendor.</ParamField>
20
+
21
+ ## Response
22
+
23
+ <ResponseField name="product" type="object">
24
+ <Expandable title="properties">
25
+ <ResponseField name="id" type="string">The product's ID.</ResponseField>
26
+ <ResponseField name="title" type="string">Product title.</ResponseField>
27
+ <ResponseField name="status" type="string">Product status after rejection.</ResponseField>
28
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
29
+ </Expandable>
30
+ </ResponseField>
31
+
32
+ <RequestExample>
33
+ ```bash cURL
34
+ curl -X POST 'http://localhost:9000/admin/products/prod_01HXYZABCDEF/reject' \
35
+ -H 'Authorization: Bearer <token>' \
36
+ -H 'Content-Type: application/json' \
37
+ -d '{"message": "Images are too low resolution"}'
38
+ ```
39
+
40
+ ```ts JS Client
41
+ const { product } = await client.admin.products.$id.reject.mutate({
42
+ $id: "prod_01HXYZABCDEF",
43
+ message: "Images are too low resolution",
44
+ })
45
+ ```
46
+ </RequestExample>
47
+
48
+ <ResponseExample>
49
+ ```json 200
50
+ {
51
+ "product": {
52
+ "id": "prod_01HXYZABCDEF",
53
+ "title": "Linen Shirt",
54
+ "status": "rejected",
55
+ "updated_at": "2026-06-02T09:00:00.000Z"
56
+ }
57
+ }
58
+ ```
59
+ </ResponseExample>
@@ -0,0 +1,59 @@
1
+ ---
2
+ title: "Request Product Changes"
3
+ api: "POST /admin/products/{id}/request-changes"
4
+ description: "Ask the vendor to revise a product before it can be published."
5
+ ---
6
+
7
+ Flags the product as requiring action and records a message for the vendor.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>The product's ID.</ParamField>
12
+
13
+ ## Query parameters
14
+
15
+ <ParamField query="fields" type="string">Comma-separated list of fields to include, prefix with `+`/`-` to add or remove from defaults.</ParamField>
16
+
17
+ ## Body parameters
18
+
19
+ <ParamField body="message" type="string">Message describing the requested changes, shared with the vendor.</ParamField>
20
+
21
+ ## Response
22
+
23
+ <ResponseField name="product" type="object">
24
+ <Expandable title="properties">
25
+ <ResponseField name="id" type="string">The product's ID.</ResponseField>
26
+ <ResponseField name="title" type="string">Product title.</ResponseField>
27
+ <ResponseField name="status" type="string">Current product status.</ResponseField>
28
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
29
+ </Expandable>
30
+ </ResponseField>
31
+
32
+ <RequestExample>
33
+ ```bash cURL
34
+ curl -X POST 'http://localhost:9000/admin/products/prod_01HXYZABCDEF/request-changes' \
35
+ -H 'Authorization: Bearer <token>' \
36
+ -H 'Content-Type: application/json' \
37
+ -d '{"message": "Please add size measurements to the description"}'
38
+ ```
39
+
40
+ ```ts JS Client
41
+ const { product } = await client.admin.products.$id.requestChanges.mutate({
42
+ $id: "prod_01HXYZABCDEF",
43
+ message: "Please add size measurements to the description",
44
+ })
45
+ ```
46
+ </RequestExample>
47
+
48
+ <ResponseExample>
49
+ ```json 200
50
+ {
51
+ "product": {
52
+ "id": "prod_01HXYZABCDEF",
53
+ "title": "Linen Shirt",
54
+ "status": "proposed",
55
+ "updated_at": "2026-06-02T09:00:00.000Z"
56
+ }
57
+ }
58
+ ```
59
+ </ResponseExample>
@@ -0,0 +1,73 @@
1
+ ---
2
+ title: "Retrieve Product Variant"
3
+ api: "GET /admin/products/{id}/variants/{variant_id}"
4
+ description: "Retrieve a single variant of a product."
5
+ ---
6
+
7
+ Returns one variant scoped to the given product.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>The product's ID.</ParamField>
12
+ <ParamField path="variant_id" type="string" required>The variant's ID.</ParamField>
13
+
14
+ ## Query parameters
15
+
16
+ <ParamField query="fields" type="string">Comma-separated list of fields to include, prefix with `+`/`-` to add or remove from defaults.</ParamField>
17
+
18
+ ## Response
19
+
20
+ <ResponseField name="variant" type="object">
21
+ <Expandable title="properties">
22
+ <ResponseField name="id" type="string">The variant's ID.</ResponseField>
23
+ <ResponseField name="title" type="string">Variant title.</ResponseField>
24
+ <ResponseField name="sku" type="string">Variant SKU.</ResponseField>
25
+ <ResponseField name="ean" type="string">Variant EAN.</ResponseField>
26
+ <ResponseField name="upc" type="string">Variant UPC.</ResponseField>
27
+ <ResponseField name="barcode" type="string">Variant barcode.</ResponseField>
28
+ <ResponseField name="variant_rank" type="number">Sort rank of the variant.</ResponseField>
29
+ <ResponseField name="weight" type="number">Variant weight.</ResponseField>
30
+ <ResponseField name="length" type="number">Variant length.</ResponseField>
31
+ <ResponseField name="height" type="number">Variant height.</ResponseField>
32
+ <ResponseField name="width" type="number">Variant width.</ResponseField>
33
+ <ResponseField name="origin_country" type="string">Country of origin.</ResponseField>
34
+ <ResponseField name="material" type="string">Variant material.</ResponseField>
35
+ <ResponseField name="product_id" type="string">ID of the parent product.</ResponseField>
36
+ <ResponseField name="manage_inventory" type="boolean">Whether inventory is tracked for the variant.</ResponseField>
37
+ <ResponseField name="allow_backorder" type="boolean">Whether the variant can be ordered when out of stock.</ResponseField>
38
+ <ResponseField name="options" type="object[]">The variant's option values.</ResponseField>
39
+ <ResponseField name="metadata" type="object">Custom key-value data.</ResponseField>
40
+ <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
41
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
42
+ </Expandable>
43
+ </ResponseField>
44
+
45
+ <RequestExample>
46
+ ```bash cURL
47
+ curl 'http://localhost:9000/admin/products/prod_01HXYZABCDEF/variants/variant_01HXYZABCDEF' \
48
+ -H 'Authorization: Bearer <token>'
49
+ ```
50
+
51
+ ```ts JS Client
52
+ const { variant } = await client.admin.products.$id.variants.$variant_id.query({
53
+ $id: "prod_01HXYZABCDEF",
54
+ $variant_id: "variant_01HXYZABCDEF",
55
+ })
56
+ ```
57
+ </RequestExample>
58
+
59
+ <ResponseExample>
60
+ ```json 200
61
+ {
62
+ "variant": {
63
+ "id": "variant_01HXYZABCDEF",
64
+ "title": "M",
65
+ "sku": "LS-M",
66
+ "product_id": "prod_01HXYZABCDEF",
67
+ "manage_inventory": false,
68
+ "allow_backorder": false,
69
+ "variant_rank": 0
70
+ }
71
+ }
72
+ ```
73
+ </ResponseExample>
@@ -0,0 +1,96 @@
1
+ ---
2
+ title: "Retrieve Product"
3
+ api: "GET /admin/products/{id}"
4
+ description: "Retrieve a master catalog product by ID."
5
+ ---
6
+
7
+ Returns a single product with its variants, attribute values, and product-scoped attributes.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>The product's ID.</ParamField>
12
+
13
+ ## Query parameters
14
+
15
+ <ParamField query="fields" type="string">Comma-separated list of fields to include, prefix with `+`/`-` to add or remove from defaults.</ParamField>
16
+ <ParamField query="seller_id" type="string">Scope offer data (when requested via `fields`) to a single seller.</ParamField>
17
+
18
+ ## Response
19
+
20
+ <ResponseField name="product" type="object">
21
+ <Expandable title="properties">
22
+ <ResponseField name="id" type="string">The product's ID.</ResponseField>
23
+ <ResponseField name="title" type="string">Product title.</ResponseField>
24
+ <ResponseField name="subtitle" type="string">Product subtitle.</ResponseField>
25
+ <ResponseField name="status" type="string">One of `draft`, `proposed`, `published`, `rejected`.</ResponseField>
26
+ <ResponseField name="description" type="string">Product description.</ResponseField>
27
+ <ResponseField name="handle" type="string">Unique URL-safe handle.</ResponseField>
28
+ <ResponseField name="is_giftcard" type="boolean">Whether the product is a gift card.</ResponseField>
29
+ <ResponseField name="discountable" type="boolean">Whether discounts can apply to the product.</ResponseField>
30
+ <ResponseField name="thumbnail" type="string">URL of the product thumbnail.</ResponseField>
31
+ <ResponseField name="collection" type="object">The collection with `id`, `title`, and `handle`.</ResponseField>
32
+ <ResponseField name="categories" type="object[]">Categories with `id`, `name`, and `handle`.</ResponseField>
33
+ <ResponseField name="variants" type="object[]">Variants with `id`, `title`, `sku`, `manage_inventory`, `allow_backorder`, and `variant_rank`.</ResponseField>
34
+ <ResponseField name="product_attribute_values" type="object[]">
35
+ Attribute values selected on the product.
36
+ <Expandable title="properties">
37
+ <ResponseField name="id" type="string">The value's ID.</ResponseField>
38
+ <ResponseField name="name" type="string">Value name.</ResponseField>
39
+ <ResponseField name="rank" type="number">Sort rank.</ResponseField>
40
+ <ResponseField name="attribute" type="object">The parent attribute with `id`, `name`, `handle`, `type`, `is_variant_axis`, `is_required`, `rank`, and its full `values` list.</ResponseField>
41
+ </Expandable>
42
+ </ResponseField>
43
+ <ResponseField name="scoped_attributes" type="object[]">
44
+ Product-scoped (inline) attributes.
45
+ <Expandable title="properties">
46
+ <ResponseField name="id" type="string">The attribute's ID.</ResponseField>
47
+ <ResponseField name="name" type="string">Attribute name.</ResponseField>
48
+ <ResponseField name="handle" type="string">Attribute handle.</ResponseField>
49
+ <ResponseField name="type" type="string">One of `single_select`, `multi_select`, `unit`, `toggle`, `text`.</ResponseField>
50
+ <ResponseField name="is_variant_axis" type="boolean">Whether the attribute drives variant generation.</ResponseField>
51
+ <ResponseField name="values" type="object[]">Values with `id`, `name`, and `rank`.</ResponseField>
52
+ </Expandable>
53
+ </ResponseField>
54
+ <ResponseField name="attributes" type="object[]">Computed attribute groups, each with the selected `values` and the attribute's full `all_values`.</ResponseField>
55
+ <ResponseField name="metadata" type="object">Custom key-value data.</ResponseField>
56
+ <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
57
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
58
+ </Expandable>
59
+ </ResponseField>
60
+
61
+ <RequestExample>
62
+ ```bash cURL
63
+ curl 'http://localhost:9000/admin/products/prod_01HXYZABCDEF' \
64
+ -H 'Authorization: Bearer <token>'
65
+ ```
66
+
67
+ ```ts JS Client
68
+ const { product } = await client.admin.products.$id.query({
69
+ $id: "prod_01HXYZABCDEF",
70
+ })
71
+ ```
72
+ </RequestExample>
73
+
74
+ <ResponseExample>
75
+ ```json 200
76
+ {
77
+ "product": {
78
+ "id": "prod_01HXYZABCDEF",
79
+ "title": "Linen Shirt",
80
+ "handle": "linen-shirt",
81
+ "status": "published",
82
+ "variants": [
83
+ { "id": "variant_01HXYZABCDEF", "title": "M", "sku": "LS-M", "variant_rank": 0 }
84
+ ],
85
+ "product_attribute_values": [
86
+ {
87
+ "id": "pattrval_01HXYZABCDEF",
88
+ "name": "Linen",
89
+ "attribute": { "id": "pattr_01HXYZABCDEF", "name": "Material", "type": "single_select" }
90
+ }
91
+ ],
92
+ "scoped_attributes": []
93
+ }
94
+ }
95
+ ```
96
+ </ResponseExample>
@@ -0,0 +1,47 @@
1
+ ---
2
+ title: "Set Product Sellers"
3
+ api: "POST /admin/products/{id}/sellers"
4
+ description: "Manage which sellers are eligible to sell a product."
5
+ ---
6
+
7
+ Links or unlinks sellers from the product to control selling eligibility.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>The product's ID.</ParamField>
12
+
13
+ ## Body parameters
14
+
15
+ <ParamField body="add" type="string[]">IDs of sellers to link to the product.</ParamField>
16
+ <ParamField body="remove" type="string[]">IDs of sellers to unlink from the product.</ParamField>
17
+
18
+ ## Response
19
+
20
+ <ResponseField name="id" type="string">The product's ID.</ResponseField>
21
+ <ResponseField name="object" type="string">Always `product`.</ResponseField>
22
+
23
+ <RequestExample>
24
+ ```bash cURL
25
+ curl -X POST 'http://localhost:9000/admin/products/prod_01HXYZABCDEF/sellers' \
26
+ -H 'Authorization: Bearer <token>' \
27
+ -H 'Content-Type: application/json' \
28
+ -d '{"add": ["sel_01HXYZABCDEF"], "remove": ["sel_01HXYZABCDEG"]}'
29
+ ```
30
+
31
+ ```ts JS Client
32
+ const result = await client.admin.products.$id.sellers.mutate({
33
+ $id: "prod_01HXYZABCDEF",
34
+ add: ["sel_01HXYZABCDEF"],
35
+ remove: ["sel_01HXYZABCDEG"],
36
+ })
37
+ ```
38
+ </RequestExample>
39
+
40
+ <ResponseExample>
41
+ ```json 200
42
+ {
43
+ "id": "prod_01HXYZABCDEF",
44
+ "object": "product"
45
+ }
46
+ ```
47
+ </ResponseExample>
@@ -0,0 +1,89 @@
1
+ ---
2
+ title: "Update Product Variant"
3
+ api: "POST /admin/products/{id}/variants/{variant_id}"
4
+ description: "Update a variant of a product."
5
+ ---
6
+
7
+ Updates the variant and returns the parent product.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>The product's ID.</ParamField>
12
+ <ParamField path="variant_id" type="string" required>The variant's ID.</ParamField>
13
+
14
+ ## Body parameters
15
+
16
+ <ParamField body="title" type="string">Variant title.</ParamField>
17
+ <ParamField body="sku" type="string">Variant SKU.</ParamField>
18
+ <ParamField body="ean" type="string">Variant EAN.</ParamField>
19
+ <ParamField body="upc" type="string">Variant UPC.</ParamField>
20
+ <ParamField body="isbn" type="string">Variant ISBN.</ParamField>
21
+ <ParamField body="asin" type="string">Variant ASIN.</ParamField>
22
+ <ParamField body="gtin" type="string">Variant GTIN.</ParamField>
23
+ <ParamField body="barcode" type="string">Variant barcode.</ParamField>
24
+ <ParamField body="hs_code" type="string">Harmonized System code.</ParamField>
25
+ <ParamField body="mid_code" type="string">Manufacturer identification code.</ParamField>
26
+ <ParamField body="thumbnail" type="string">URL of the variant thumbnail.</ParamField>
27
+ <ParamField body="variant_rank" type="number">Sort rank of the variant.</ParamField>
28
+ <ParamField body="weight" type="number">Variant weight.</ParamField>
29
+ <ParamField body="length" type="number">Variant length.</ParamField>
30
+ <ParamField body="height" type="number">Variant height.</ParamField>
31
+ <ParamField body="width" type="number">Variant width.</ParamField>
32
+ <ParamField body="origin_country" type="string">Country of origin.</ParamField>
33
+ <ParamField body="material" type="string">Variant material.</ParamField>
34
+ <ParamField body="prices" type="object[]">
35
+ Variant prices.
36
+ <Expandable title="properties">
37
+ <ParamField body="id" type="string">Existing price ID to update.</ParamField>
38
+ <ParamField body="currency_code" type="string">Price currency code.</ParamField>
39
+ <ParamField body="amount" type="number">Price amount.</ParamField>
40
+ <ParamField body="min_quantity" type="number">Minimum quantity for the price to apply.</ParamField>
41
+ <ParamField body="max_quantity" type="number">Maximum quantity for the price to apply.</ParamField>
42
+ <ParamField body="rules" type="object">Map of rule attribute to value.</ParamField>
43
+ </Expandable>
44
+ </ParamField>
45
+ <ParamField body="options" type="object">Map of option title to option value.</ParamField>
46
+ <ParamField body="metadata" type="object">Custom key-value data.</ParamField>
47
+ <ParamField body="additional_data" type="object">Custom data passed to workflow hooks.</ParamField>
48
+
49
+ ## Response
50
+
51
+ <ResponseField name="product" type="object">
52
+ <Expandable title="properties">
53
+ <ResponseField name="id" type="string">The product's ID.</ResponseField>
54
+ <ResponseField name="title" type="string">Product title.</ResponseField>
55
+ <ResponseField name="variants" type="object[]">All variants, including the updated one.</ResponseField>
56
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
57
+ </Expandable>
58
+ </ResponseField>
59
+
60
+ <RequestExample>
61
+ ```bash cURL
62
+ curl -X POST 'http://localhost:9000/admin/products/prod_01HXYZABCDEF/variants/variant_01HXYZABCDEF' \
63
+ -H 'Authorization: Bearer <token>' \
64
+ -H 'Content-Type: application/json' \
65
+ -d '{"sku": "LS-M-2026"}'
66
+ ```
67
+
68
+ ```ts JS Client
69
+ const { product } = await client.admin.products.$id.variants.$variant_id.mutate({
70
+ $id: "prod_01HXYZABCDEF",
71
+ $variant_id: "variant_01HXYZABCDEF",
72
+ sku: "LS-M-2026",
73
+ })
74
+ ```
75
+ </RequestExample>
76
+
77
+ <ResponseExample>
78
+ ```json 200
79
+ {
80
+ "product": {
81
+ "id": "prod_01HXYZABCDEF",
82
+ "title": "Linen Shirt",
83
+ "variants": [
84
+ { "id": "variant_01HXYZABCDEF", "title": "M", "sku": "LS-M-2026" }
85
+ ]
86
+ }
87
+ }
88
+ ```
89
+ </ResponseExample>
@@ -0,0 +1,133 @@
1
+ ---
2
+ title: "Update Product"
3
+ api: "POST /admin/products/{id}"
4
+ description: "Update a master catalog product."
5
+ ---
6
+
7
+ Updates the product's details; only the provided fields are changed.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>The product's ID.</ParamField>
12
+
13
+ ## Body parameters
14
+
15
+ <ParamField body="title" type="string">Product title.</ParamField>
16
+ <ParamField body="subtitle" type="string">Product subtitle.</ParamField>
17
+ <ParamField body="description" type="string">Product description.</ParamField>
18
+ <ParamField body="handle" type="string">Unique URL-safe handle.</ParamField>
19
+ <ParamField body="status" type="string">One of `draft`, `proposed`, `published`, `rejected`.</ParamField>
20
+ <ParamField body="is_giftcard" type="boolean">Whether the product is a gift card.</ParamField>
21
+ <ParamField body="discountable" type="boolean">Whether discounts can apply to the product.</ParamField>
22
+ <ParamField body="thumbnail" type="string">URL of the product thumbnail.</ParamField>
23
+ <ParamField body="images" type="object[]">
24
+ Product images; replaces the existing set.
25
+ <Expandable title="properties">
26
+ <ParamField body="id" type="string">Existing image ID to keep.</ParamField>
27
+ <ParamField body="url" type="string" required>Image URL.</ParamField>
28
+ </Expandable>
29
+ </ParamField>
30
+ <ParamField body="external_id" type="string">ID of the product in an external system.</ParamField>
31
+ <ParamField body="type_id" type="string">ID of the product type.</ParamField>
32
+ <ParamField body="collection_id" type="string">ID of the collection to assign the product to.</ParamField>
33
+ <ParamField body="categories" type="object[]">
34
+ Categories to assign; replaces the existing set.
35
+ <Expandable title="properties">
36
+ <ParamField body="id" type="string" required>Category ID.</ParamField>
37
+ </Expandable>
38
+ </ParamField>
39
+ <ParamField body="tags" type="object[]">
40
+ Tags to assign; replaces the existing set.
41
+ <Expandable title="properties">
42
+ <ParamField body="id" type="string" required>Tag ID.</ParamField>
43
+ </Expandable>
44
+ </ParamField>
45
+ <ParamField body="options" type="object[]">
46
+ Product options; replaces the existing set.
47
+ <Expandable title="properties">
48
+ <ParamField body="title" type="string" required>Option title.</ParamField>
49
+ <ParamField body="values" type="string[]" required>Possible option values.</ParamField>
50
+ </Expandable>
51
+ </ParamField>
52
+ <ParamField body="variants" type="object[]">
53
+ Variants to upsert; include `id` to update an existing variant.
54
+ <Expandable title="properties">
55
+ <ParamField body="id" type="string">Existing variant ID.</ParamField>
56
+ <ParamField body="title" type="string">Variant title.</ParamField>
57
+ <ParamField body="sku" type="string">Variant SKU.</ParamField>
58
+ <ParamField body="ean" type="string">Variant EAN.</ParamField>
59
+ <ParamField body="upc" type="string">Variant UPC.</ParamField>
60
+ <ParamField body="isbn" type="string">Variant ISBN.</ParamField>
61
+ <ParamField body="asin" type="string">Variant ASIN.</ParamField>
62
+ <ParamField body="gtin" type="string">Variant GTIN.</ParamField>
63
+ <ParamField body="barcode" type="string">Variant barcode.</ParamField>
64
+ <ParamField body="hs_code" type="string">Harmonized System code.</ParamField>
65
+ <ParamField body="mid_code" type="string">Manufacturer identification code.</ParamField>
66
+ <ParamField body="thumbnail" type="string">URL of the variant thumbnail.</ParamField>
67
+ <ParamField body="variant_rank" type="number">Sort rank of the variant.</ParamField>
68
+ <ParamField body="weight" type="number">Variant weight.</ParamField>
69
+ <ParamField body="length" type="number">Variant length.</ParamField>
70
+ <ParamField body="height" type="number">Variant height.</ParamField>
71
+ <ParamField body="width" type="number">Variant width.</ParamField>
72
+ <ParamField body="origin_country" type="string">Country of origin.</ParamField>
73
+ <ParamField body="material" type="string">Variant material.</ParamField>
74
+ <ParamField body="prices" type="object[]">Prices with `id`, `currency_code`, `amount`, `min_quantity`, `max_quantity`, and `rules`.</ParamField>
75
+ <ParamField body="options" type="object">Map of option title to option value.</ParamField>
76
+ <ParamField body="metadata" type="object">Custom key-value data.</ParamField>
77
+ </Expandable>
78
+ </ParamField>
79
+ <ParamField body="weight" type="number">Product weight.</ParamField>
80
+ <ParamField body="length" type="number">Product length.</ParamField>
81
+ <ParamField body="height" type="number">Product height.</ParamField>
82
+ <ParamField body="width" type="number">Product width.</ParamField>
83
+ <ParamField body="hs_code" type="string">Harmonized System code.</ParamField>
84
+ <ParamField body="mid_code" type="string">Manufacturer identification code.</ParamField>
85
+ <ParamField body="origin_country" type="string">Country of origin.</ParamField>
86
+ <ParamField body="material" type="string">Product material.</ParamField>
87
+ <ParamField body="metadata" type="object">Custom key-value data.</ParamField>
88
+ <ParamField body="additional_data" type="object">Custom data passed to workflow hooks.</ParamField>
89
+
90
+ ## Response
91
+
92
+ <ResponseField name="product" type="object">
93
+ <Expandable title="properties">
94
+ <ResponseField name="id" type="string">The product's ID.</ResponseField>
95
+ <ResponseField name="title" type="string">Product title.</ResponseField>
96
+ <ResponseField name="status" type="string">One of `draft`, `proposed`, `published`, `rejected`.</ResponseField>
97
+ <ResponseField name="variants" type="object[]">Product variants.</ResponseField>
98
+ <ResponseField name="product_attribute_values" type="object[]">Attribute values selected on the product.</ResponseField>
99
+ <ResponseField name="scoped_attributes" type="object[]">Product-scoped (inline) attributes.</ResponseField>
100
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
101
+ </Expandable>
102
+ </ResponseField>
103
+
104
+ <RequestExample>
105
+ ```bash cURL
106
+ curl -X POST 'http://localhost:9000/admin/products/prod_01HXYZABCDEF' \
107
+ -H 'Authorization: Bearer <token>' \
108
+ -H 'Content-Type: application/json' \
109
+ -d '{"title": "Linen Shirt v2", "status": "published"}'
110
+ ```
111
+
112
+ ```ts JS Client
113
+ const { product } = await client.admin.products.$id.mutate({
114
+ $id: "prod_01HXYZABCDEF",
115
+ title: "Linen Shirt v2",
116
+ status: "published",
117
+ })
118
+ ```
119
+ </RequestExample>
120
+
121
+ <ResponseExample>
122
+ ```json 200
123
+ {
124
+ "product": {
125
+ "id": "prod_01HXYZABCDEF",
126
+ "title": "Linen Shirt v2",
127
+ "handle": "linen-shirt",
128
+ "status": "published",
129
+ "updated_at": "2026-06-02T09:00:00.000Z"
130
+ }
131
+ }
132
+ ```
133
+ </ResponseExample>
@@ -0,0 +1,63 @@
1
+ ---
2
+ title: "Add Seller Member"
3
+ api: "POST /admin/sellers/{id}/members"
4
+ description: "Add an existing member to a seller's team."
5
+ ---
6
+
7
+ Links an existing member to the seller with the given role.
8
+
9
+ <Note>
10
+ To add someone who does not have a member record yet, use [Invite Seller Member](/rc/references/api/admin/sellers/invite-seller-member) instead.
11
+ </Note>
12
+
13
+ ## Path parameters
14
+
15
+ <ParamField path="id" type="string" required>The seller's ID.</ParamField>
16
+
17
+ ## Body parameters
18
+
19
+ <ParamField body="member_id" type="string" required>ID of the existing member to add.</ParamField>
20
+ <ParamField body="role_id" type="string" required>ID of the role to assign.</ParamField>
21
+
22
+ ## Response
23
+
24
+ <ResponseField name="seller_member" type="object">
25
+ <Expandable title="properties">
26
+ <ResponseField name="id" type="string">The seller member's ID.</ResponseField>
27
+ <ResponseField name="seller_id" type="string">ID of the seller.</ResponseField>
28
+ <ResponseField name="member_id" type="string">ID of the linked member.</ResponseField>
29
+ <ResponseField name="is_owner" type="boolean">Whether this member owns the seller account.</ResponseField>
30
+ <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
31
+ </Expandable>
32
+ </ResponseField>
33
+
34
+ <RequestExample>
35
+ ```bash cURL
36
+ curl -X POST 'http://localhost:9000/admin/sellers/sel_01HXYZABCDEF/members' \
37
+ -H 'Authorization: Bearer <token>' \
38
+ -H 'Content-Type: application/json' \
39
+ -d '{"member_id": "mem_01HXYZMEMBB", "role_id": "role_01HXYZROLEAA"}'
40
+ ```
41
+
42
+ ```ts JS Client
43
+ const { seller_member } = await client.admin.sellers.$id.members.mutate({
44
+ $id: "sel_01HXYZABCDEF",
45
+ member_id: "mem_01HXYZMEMBB",
46
+ role_id: "role_01HXYZROLEAA",
47
+ })
48
+ ```
49
+ </RequestExample>
50
+
51
+ <ResponseExample>
52
+ ```json 201
53
+ {
54
+ "seller_member": {
55
+ "id": "selmem_01HXYZSMBB",
56
+ "seller_id": "sel_01HXYZABCDEF",
57
+ "member_id": "mem_01HXYZMEMBB",
58
+ "is_owner": false,
59
+ "created_at": "2026-06-15T09:00:00.000Z"
60
+ }
61
+ }
62
+ ```
63
+ </ResponseExample>