@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,134 @@
1
+ ---
2
+ title: "List Product Attributes"
3
+ api: "GET /store/product-attributes"
4
+ description: "Retrieve active global product attributes."
5
+ ---
6
+
7
+ Returns a paginated list of active, global product attributes (attributes scoped to a single product are excluded).
8
+
9
+ ## Query parameters
10
+
11
+ <ParamField query="limit" type="number" default="50">
12
+ Maximum number of attributes to return.
13
+ </ParamField>
14
+
15
+ <ParamField query="offset" type="number" default="0">
16
+ Number of attributes to skip before collecting results.
17
+ </ParamField>
18
+
19
+ <ParamField query="order" type="string">
20
+ Field to sort by, prefixed with `-` for descending order.
21
+ </ParamField>
22
+
23
+ <ParamField query="fields" type="string">
24
+ Comma-separated fields and relations to include; prefix with `+`/`-` to add to or remove from the defaults.
25
+ </ParamField>
26
+
27
+ <ParamField query="q" type="string">
28
+ Free-text search term applied to attribute fields.
29
+ </ParamField>
30
+
31
+ <ParamField query="id" type="string | string[]">
32
+ Filter by one or more attribute IDs.
33
+ </ParamField>
34
+
35
+ <ParamField query="handle" type="string | string[]">
36
+ Filter by one or more attribute handles.
37
+ </ParamField>
38
+
39
+ <ParamField query="type" type="string | string[]">
40
+ Filter by attribute type. Values: `single_select`, `multi_select`, `unit`, `toggle`, `text`.
41
+ </ParamField>
42
+
43
+ <ParamField query="is_variant_axis" type="boolean">
44
+ Filter attributes that define variant axes.
45
+ </ParamField>
46
+
47
+ <ParamField query="is_filterable" type="boolean">
48
+ Filter attributes usable as storefront filters.
49
+ </ParamField>
50
+
51
+ <ParamField query="created_at" type="object">
52
+ Filter by creation date using operators like `$gt`, `$gte`, `$lt`, `$lte`.
53
+ </ParamField>
54
+
55
+ <ParamField query="updated_at" type="object">
56
+ Filter by update date using operators like `$gt`, `$gte`, `$lt`, `$lte`.
57
+ </ParamField>
58
+
59
+ <ParamField query="$and" type="object[]">
60
+ Join multiple filter objects with a logical AND.
61
+ </ParamField>
62
+
63
+ <ParamField query="$or" type="object[]">
64
+ Join multiple filter objects with a logical OR.
65
+ </ParamField>
66
+
67
+ ## Response
68
+
69
+ <ResponseField name="product_attributes" type="object[]">
70
+ <Expandable title="properties">
71
+ <ResponseField name="id" type="string">The attribute's ID.</ResponseField>
72
+ <ResponseField name="name" type="string">The attribute's display name.</ResponseField>
73
+ <ResponseField name="handle" type="string">URL-safe handle.</ResponseField>
74
+ <ResponseField name="description" type="string | null">The attribute's description.</ResponseField>
75
+ <ResponseField name="type" type="string">One of `single_select`, `multi_select`, `unit`, `toggle`, `text`.</ResponseField>
76
+ <ResponseField name="is_required" type="boolean">Whether sellers must set a value.</ResponseField>
77
+ <ResponseField name="is_filterable" type="boolean">Whether the attribute can drive storefront filters.</ResponseField>
78
+ <ResponseField name="is_variant_axis" type="boolean">Whether the attribute defines a variant axis.</ResponseField>
79
+ <ResponseField name="product_id" type="null">Always `null` on the store API (global attributes only).</ResponseField>
80
+ <ResponseField name="rank" type="number">Sort rank.</ResponseField>
81
+ <ResponseField name="values" type="object[]">The attribute's predefined values.</ResponseField>
82
+ <ResponseField name="metadata" type="object | null">Custom key-value data.</ResponseField>
83
+ <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
84
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
85
+ </Expandable>
86
+ </ResponseField>
87
+
88
+ <ResponseField name="count" type="number">Total number of matching attributes.</ResponseField>
89
+ <ResponseField name="offset" type="number">Number of skipped attributes.</ResponseField>
90
+ <ResponseField name="limit" type="number">Maximum number of returned attributes.</ResponseField>
91
+
92
+ <RequestExample>
93
+ ```bash cURL
94
+ curl 'http://localhost:9000/store/product-attributes?is_filterable=true' \
95
+ -H 'x-publishable-api-key: pk_01JB2K3XYZ'
96
+ ```
97
+
98
+ ```ts JS Client
99
+ const { product_attributes, count } = await client.store.productAttributes.query({
100
+ is_filterable: true,
101
+ })
102
+ ```
103
+ </RequestExample>
104
+
105
+ <ResponseExample>
106
+ ```json 200
107
+ {
108
+ "product_attributes": [
109
+ {
110
+ "id": "attr_01JB2K7A1B",
111
+ "name": "Material",
112
+ "handle": "material",
113
+ "description": null,
114
+ "type": "single_select",
115
+ "is_required": false,
116
+ "is_filterable": true,
117
+ "is_variant_axis": false,
118
+ "product_id": null,
119
+ "rank": 0,
120
+ "values": [
121
+ { "id": "attrval_01JB2K7C2D", "name": "Linen", "rank": 0 },
122
+ { "id": "attrval_01JB2K7E3F", "name": "Cotton", "rank": 1 }
123
+ ],
124
+ "metadata": null,
125
+ "created_at": "2026-05-01T10:00:00.000Z",
126
+ "updated_at": "2026-05-01T10:00:00.000Z"
127
+ }
128
+ ],
129
+ "count": 5,
130
+ "offset": 0,
131
+ "limit": 50
132
+ }
133
+ ```
134
+ </ResponseExample>
@@ -0,0 +1,78 @@
1
+ ---
2
+ title: "Retrieve Product Attribute"
3
+ api: "GET /store/product-attributes/{id}"
4
+ description: "Retrieve an active global product attribute by ID."
5
+ ---
6
+
7
+ Returns a single active, global product attribute; inactive or product-scoped attributes return a `404`.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>
12
+ The attribute's ID.
13
+ </ParamField>
14
+
15
+ ## Query parameters
16
+
17
+ <ParamField query="fields" type="string">
18
+ Comma-separated fields and relations to include; prefix with `+`/`-` to add to or remove from the defaults.
19
+ </ParamField>
20
+
21
+ ## Response
22
+
23
+ <ResponseField name="product_attribute" type="object">
24
+ <Expandable title="properties">
25
+ <ResponseField name="id" type="string">The attribute's ID.</ResponseField>
26
+ <ResponseField name="name" type="string">The attribute's display name.</ResponseField>
27
+ <ResponseField name="handle" type="string">URL-safe handle.</ResponseField>
28
+ <ResponseField name="description" type="string | null">The attribute's description.</ResponseField>
29
+ <ResponseField name="type" type="string">One of `single_select`, `multi_select`, `unit`, `toggle`, `text`.</ResponseField>
30
+ <ResponseField name="is_required" type="boolean">Whether sellers must set a value.</ResponseField>
31
+ <ResponseField name="is_filterable" type="boolean">Whether the attribute can drive storefront filters.</ResponseField>
32
+ <ResponseField name="is_variant_axis" type="boolean">Whether the attribute defines a variant axis.</ResponseField>
33
+ <ResponseField name="product_id" type="null">Always `null` on the store API (global attributes only).</ResponseField>
34
+ <ResponseField name="rank" type="number">Sort rank.</ResponseField>
35
+ <ResponseField name="values" type="object[]">The attribute's predefined values.</ResponseField>
36
+ <ResponseField name="metadata" type="object | null">Custom key-value data.</ResponseField>
37
+ <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
38
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
39
+ </Expandable>
40
+ </ResponseField>
41
+
42
+ <RequestExample>
43
+ ```bash cURL
44
+ curl 'http://localhost:9000/store/product-attributes/attr_01JB2K7A1B' \
45
+ -H 'x-publishable-api-key: pk_01JB2K3XYZ'
46
+ ```
47
+
48
+ ```ts JS Client
49
+ const { product_attribute } = await client.store.productAttributes.$id.query({
50
+ $id: "attr_01JB2K7A1B",
51
+ })
52
+ ```
53
+ </RequestExample>
54
+
55
+ <ResponseExample>
56
+ ```json 200
57
+ {
58
+ "product_attribute": {
59
+ "id": "attr_01JB2K7A1B",
60
+ "name": "Material",
61
+ "handle": "material",
62
+ "description": null,
63
+ "type": "single_select",
64
+ "is_required": false,
65
+ "is_filterable": true,
66
+ "is_variant_axis": false,
67
+ "product_id": null,
68
+ "rank": 0,
69
+ "values": [
70
+ { "id": "attrval_01JB2K7C2D", "name": "Linen", "rank": 0 }
71
+ ],
72
+ "metadata": null,
73
+ "created_at": "2026-05-01T10:00:00.000Z",
74
+ "updated_at": "2026-05-01T10:00:00.000Z"
75
+ }
76
+ }
77
+ ```
78
+ </ResponseExample>
@@ -0,0 +1,126 @@
1
+ ---
2
+ title: "List Product Categories"
3
+ api: "GET /store/product-categories"
4
+ description: "Retrieve active, public product categories."
5
+ ---
6
+
7
+ Returns a paginated list of product categories; inactive and internal categories are always excluded.
8
+
9
+ ## Query parameters
10
+
11
+ <ParamField query="limit" type="number" default="50">
12
+ Maximum number of categories to return.
13
+ </ParamField>
14
+
15
+ <ParamField query="offset" type="number" default="0">
16
+ Number of categories to skip before collecting results.
17
+ </ParamField>
18
+
19
+ <ParamField query="order" type="string">
20
+ Field to sort by, prefixed with `-` for descending order.
21
+ </ParamField>
22
+
23
+ <ParamField query="fields" type="string">
24
+ Comma-separated fields and relations to include; prefix with `+`/`-` to add to or remove from the defaults.
25
+ </ParamField>
26
+
27
+ <ParamField query="q" type="string">
28
+ Free-text search term applied to category fields.
29
+ </ParamField>
30
+
31
+ <ParamField query="id" type="string | string[]">
32
+ Filter by one or more category IDs.
33
+ </ParamField>
34
+
35
+ <ParamField query="handle" type="string | string[]">
36
+ Filter by one or more category handles.
37
+ </ParamField>
38
+
39
+ <ParamField query="parent_category_id" type="string | string[]">
40
+ Filter by parent category ID; pass `null` to fetch top-level categories.
41
+ </ParamField>
42
+
43
+ <ParamField query="include_ancestors_tree" type="boolean">
44
+ Include each category's ancestors in `parent_category`.
45
+ </ParamField>
46
+
47
+ <ParamField query="include_descendants_tree" type="boolean">
48
+ Include each category's descendants in `category_children`.
49
+ </ParamField>
50
+
51
+ <ParamField query="created_at" type="object">
52
+ Filter by creation date using operators like `$gt`, `$gte`, `$lt`, `$lte`.
53
+ </ParamField>
54
+
55
+ <ParamField query="updated_at" type="object">
56
+ Filter by update date using operators like `$gt`, `$gte`, `$lt`, `$lte`.
57
+ </ParamField>
58
+
59
+ <ParamField query="$and" type="object[]">
60
+ Join multiple filter objects with a logical AND.
61
+ </ParamField>
62
+
63
+ <ParamField query="$or" type="object[]">
64
+ Join multiple filter objects with a logical OR.
65
+ </ParamField>
66
+
67
+ ## Response
68
+
69
+ <ResponseField name="product_categories" type="object[]">
70
+ <Expandable title="properties">
71
+ <ResponseField name="id" type="string">The category's ID.</ResponseField>
72
+ <ResponseField name="name" type="string">The category's name.</ResponseField>
73
+ <ResponseField name="description" type="string">The category's description.</ResponseField>
74
+ <ResponseField name="handle" type="string">URL-safe handle.</ResponseField>
75
+ <ResponseField name="rank" type="number">Sort rank among siblings.</ResponseField>
76
+ <ResponseField name="parent_category_id" type="string | null">ID of the parent category.</ResponseField>
77
+ <ResponseField name="parent_category" type="object | null">The parent category.</ResponseField>
78
+ <ResponseField name="category_children" type="object[]">Direct child categories.</ResponseField>
79
+ <ResponseField name="metadata" type="object | null">Custom key-value data.</ResponseField>
80
+ <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
81
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
82
+ </Expandable>
83
+ </ResponseField>
84
+
85
+ <ResponseField name="count" type="number">Total number of matching categories.</ResponseField>
86
+ <ResponseField name="offset" type="number">Number of skipped categories.</ResponseField>
87
+ <ResponseField name="limit" type="number">Maximum number of returned categories.</ResponseField>
88
+
89
+ <RequestExample>
90
+ ```bash cURL
91
+ curl 'http://localhost:9000/store/product-categories?parent_category_id=null&limit=50' \
92
+ -H 'x-publishable-api-key: pk_01JB2K3XYZ'
93
+ ```
94
+
95
+ ```ts JS Client
96
+ const { product_categories, count } = await client.store.productCategories.query({
97
+ parent_category_id: "null",
98
+ limit: 50,
99
+ })
100
+ ```
101
+ </RequestExample>
102
+
103
+ <ResponseExample>
104
+ ```json 200
105
+ {
106
+ "product_categories": [
107
+ {
108
+ "id": "pcat_01JB2K6A2B",
109
+ "name": "Shirts",
110
+ "description": "",
111
+ "handle": "shirts",
112
+ "rank": 0,
113
+ "parent_category_id": null,
114
+ "parent_category": null,
115
+ "category_children": [{ "id": "pcat_01JB2K6H7J", "name": "Linen Shirts" }],
116
+ "metadata": null,
117
+ "created_at": "2026-05-01T10:00:00.000Z",
118
+ "updated_at": "2026-05-01T10:00:00.000Z"
119
+ }
120
+ ],
121
+ "count": 8,
122
+ "offset": 0,
123
+ "limit": 50
124
+ }
125
+ ```
126
+ </ResponseExample>
@@ -0,0 +1,79 @@
1
+ ---
2
+ title: "Retrieve Product Category"
3
+ api: "GET /store/product-categories/{id}"
4
+ description: "Retrieve an active, public product category by ID."
5
+ ---
6
+
7
+ Returns a single category; inactive or internal categories return a `404`.
8
+
9
+ ## Path parameters
10
+
11
+ <ParamField path="id" type="string" required>
12
+ The category's ID.
13
+ </ParamField>
14
+
15
+ ## Query parameters
16
+
17
+ <ParamField query="fields" type="string">
18
+ Comma-separated fields and relations to include; prefix with `+`/`-` to add to or remove from the defaults.
19
+ </ParamField>
20
+
21
+ <ParamField query="include_ancestors_tree" type="boolean">
22
+ Include the category's ancestors in `parent_category`.
23
+ </ParamField>
24
+
25
+ <ParamField query="include_descendants_tree" type="boolean">
26
+ Include the category's descendants in `category_children`.
27
+ </ParamField>
28
+
29
+ ## Response
30
+
31
+ <ResponseField name="product_category" type="object">
32
+ <Expandable title="properties">
33
+ <ResponseField name="id" type="string">The category's ID.</ResponseField>
34
+ <ResponseField name="name" type="string">The category's name.</ResponseField>
35
+ <ResponseField name="description" type="string">The category's description.</ResponseField>
36
+ <ResponseField name="handle" type="string">URL-safe handle.</ResponseField>
37
+ <ResponseField name="rank" type="number">Sort rank among siblings.</ResponseField>
38
+ <ResponseField name="parent_category_id" type="string | null">ID of the parent category.</ResponseField>
39
+ <ResponseField name="parent_category" type="object | null">The parent category.</ResponseField>
40
+ <ResponseField name="category_children" type="object[]">Direct child categories.</ResponseField>
41
+ <ResponseField name="metadata" type="object | null">Custom key-value data.</ResponseField>
42
+ <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
43
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
44
+ </Expandable>
45
+ </ResponseField>
46
+
47
+ <RequestExample>
48
+ ```bash cURL
49
+ curl 'http://localhost:9000/store/product-categories/pcat_01JB2K6A2B?include_descendants_tree=true' \
50
+ -H 'x-publishable-api-key: pk_01JB2K3XYZ'
51
+ ```
52
+
53
+ ```ts JS Client
54
+ const { product_category } = await client.store.productCategories.$id.query({
55
+ $id: "pcat_01JB2K6A2B",
56
+ include_descendants_tree: true,
57
+ })
58
+ ```
59
+ </RequestExample>
60
+
61
+ <ResponseExample>
62
+ ```json 200
63
+ {
64
+ "product_category": {
65
+ "id": "pcat_01JB2K6A2B",
66
+ "name": "Shirts",
67
+ "description": "",
68
+ "handle": "shirts",
69
+ "rank": 0,
70
+ "parent_category_id": null,
71
+ "parent_category": null,
72
+ "category_children": [{ "id": "pcat_01JB2K6H7J", "name": "Linen Shirts" }],
73
+ "metadata": null,
74
+ "created_at": "2026-05-01T10:00:00.000Z",
75
+ "updated_at": "2026-05-01T10:00:00.000Z"
76
+ }
77
+ }
78
+ ```
79
+ </ResponseExample>
@@ -0,0 +1,184 @@
1
+ ---
2
+ title: "List Products"
3
+ api: "GET /store/products"
4
+ description: "Retrieve published products from visible sellers."
5
+ ---
6
+
7
+ Returns a paginated list of published products belonging to open, visible sellers.
8
+
9
+ <Note>
10
+ Customer authentication is optional. When a customer token is provided, the customer's group memberships are included in the pricing context, which can change `variants.calculated_price` results. Variant prices are only computed when you request `variants.calculated_price` in `fields` (or pass `region_id`); the calculated price reflects the cheapest offer for each variant.
11
+ </Note>
12
+
13
+ ## Query parameters
14
+
15
+ <ParamField query="limit" type="number" default="50">
16
+ Maximum number of products to return.
17
+ </ParamField>
18
+
19
+ <ParamField query="offset" type="number" default="0">
20
+ Number of products to skip before collecting results.
21
+ </ParamField>
22
+
23
+ <ParamField query="order" type="string">
24
+ Field to sort by, prefixed with `-` for descending order (for example `-created_at`).
25
+ </ParamField>
26
+
27
+ <ParamField query="fields" type="string">
28
+ Comma-separated fields and relations to include; prefix with `+`/`-` to add to or remove from the defaults.
29
+ </ParamField>
30
+
31
+ <ParamField query="q" type="string">
32
+ Free-text search term applied to product fields.
33
+ </ParamField>
34
+
35
+ <ParamField query="id" type="string | string[]">
36
+ Filter by one or more product IDs.
37
+ </ParamField>
38
+
39
+ <ParamField query="title" type="string">
40
+ Filter by exact product title.
41
+ </ParamField>
42
+
43
+ <ParamField query="handle" type="string">
44
+ Filter by product handle.
45
+ </ParamField>
46
+
47
+ <ParamField query="collection_id" type="string | string[]">
48
+ Filter by one or more collection IDs.
49
+ </ParamField>
50
+
51
+ <ParamField query="type_id" type="string | string[]">
52
+ Filter by one or more product type IDs.
53
+ </ParamField>
54
+
55
+ <ParamField query="category_id" type="string | string[]">
56
+ Filter by one or more category IDs; only active, non-internal categories match.
57
+ </ParamField>
58
+
59
+ <ParamField query="tag_id" type="string | string[]">
60
+ Filter by one or more tag IDs.
61
+ </ParamField>
62
+
63
+ <ParamField query="is_giftcard" type="boolean">
64
+ Filter by gift-card products.
65
+ </ParamField>
66
+
67
+ <ParamField query="region_id" type="string">
68
+ Region used to build the pricing context for `variants.calculated_price`.
69
+ </ParamField>
70
+
71
+ <ParamField query="currency_code" type="string">
72
+ Currency used in the pricing context.
73
+ </ParamField>
74
+
75
+ <ParamField query="created_at" type="object">
76
+ Filter by creation date using operators like `$gt`, `$gte`, `$lt`, `$lte`.
77
+ </ParamField>
78
+
79
+ <ParamField query="updated_at" type="object">
80
+ Filter by update date using operators like `$gt`, `$gte`, `$lt`, `$lte`.
81
+ </ParamField>
82
+
83
+ <ParamField query="$and" type="object[]">
84
+ Join multiple filter objects with a logical AND.
85
+ </ParamField>
86
+
87
+ <ParamField query="$or" type="object[]">
88
+ Join multiple filter objects with a logical OR.
89
+ </ParamField>
90
+
91
+ ## Response
92
+
93
+ <ResponseField name="products" type="object[]">
94
+ <Expandable title="properties">
95
+ <ResponseField name="id" type="string">The product's ID.</ResponseField>
96
+ <ResponseField name="title" type="string">The product's title.</ResponseField>
97
+ <ResponseField name="subtitle" type="string | null">The product's subtitle.</ResponseField>
98
+ <ResponseField name="status" type="string">Always `published` on the store API.</ResponseField>
99
+ <ResponseField name="description" type="string | null">The product's description.</ResponseField>
100
+ <ResponseField name="handle" type="string">URL-safe handle.</ResponseField>
101
+ <ResponseField name="is_giftcard" type="boolean">Whether the product is a gift card.</ResponseField>
102
+ <ResponseField name="discountable" type="boolean">Whether promotions can apply to the product.</ResponseField>
103
+ <ResponseField name="thumbnail" type="string | null">Thumbnail URL.</ResponseField>
104
+ <ResponseField name="collection" type="object | null">The product's collection.</ResponseField>
105
+ <ResponseField name="type" type="object | null">The product's type.</ResponseField>
106
+ <ResponseField name="tags" type="object[]">The product's tags.</ResponseField>
107
+ <ResponseField name="images" type="object[]">The product's images.</ResponseField>
108
+ <ResponseField name="categories" type="object[]">The product's categories.</ResponseField>
109
+ <ResponseField name="options" type="object[]">Product options with their values.</ResponseField>
110
+ <ResponseField name="variants" type="object[]">
111
+ Product variants with their options; `calculated_price` and `offer_id` are added when requested and reflect the cheapest offer.
112
+ </ResponseField>
113
+ <ResponseField name="product_attribute_values" type="object[]">Attribute values assigned to the product, each with its parent attribute.</ResponseField>
114
+ <ResponseField name="scoped_attributes" type="object[]">Attributes scoped to this product, with their values.</ResponseField>
115
+ <ResponseField name="metadata" type="object | null">Custom key-value data.</ResponseField>
116
+ <ResponseField name="created_at" type="string">Creation timestamp.</ResponseField>
117
+ <ResponseField name="updated_at" type="string">Last update timestamp.</ResponseField>
118
+ </Expandable>
119
+ </ResponseField>
120
+
121
+ <ResponseField name="count" type="number">Total number of matching products.</ResponseField>
122
+ <ResponseField name="offset" type="number">Number of skipped products.</ResponseField>
123
+ <ResponseField name="limit" type="number">Maximum number of returned products.</ResponseField>
124
+
125
+ <RequestExample>
126
+ ```bash cURL
127
+ curl 'http://localhost:9000/store/products?limit=20&region_id=reg_01JB2K4S1T&fields=*variants.calculated_price' \
128
+ -H 'x-publishable-api-key: pk_01JB2K3XYZ'
129
+ ```
130
+
131
+ ```ts JS Client
132
+ const { products, count } = await client.store.products.query({
133
+ limit: 20,
134
+ region_id: "reg_01JB2K4S1T",
135
+ fields: "*variants.calculated_price",
136
+ })
137
+ ```
138
+ </RequestExample>
139
+
140
+ <ResponseExample>
141
+ ```json 200
142
+ {
143
+ "products": [
144
+ {
145
+ "id": "prod_01JB2K5M8N",
146
+ "title": "Linen Shirt",
147
+ "subtitle": null,
148
+ "status": "published",
149
+ "description": "A breathable linen shirt.",
150
+ "handle": "linen-shirt",
151
+ "is_giftcard": false,
152
+ "discountable": true,
153
+ "thumbnail": "https://cdn.example.com/linen-shirt.png",
154
+ "collection": null,
155
+ "type": null,
156
+ "tags": [],
157
+ "images": [],
158
+ "categories": [{ "id": "pcat_01JB2K6A2B", "name": "Shirts" }],
159
+ "options": [{ "id": "opt_01JB2K6C3D", "title": "Size", "values": [{ "value": "M" }] }],
160
+ "variants": [
161
+ {
162
+ "id": "variant_01JB2K6E4F",
163
+ "title": "M",
164
+ "offer_id": "offer_01JB2K6G5H",
165
+ "calculated_price": {
166
+ "calculated_amount": 4500,
167
+ "original_amount": 5000,
168
+ "currency_code": "eur"
169
+ }
170
+ }
171
+ ],
172
+ "product_attribute_values": [],
173
+ "scoped_attributes": [],
174
+ "metadata": null,
175
+ "created_at": "2026-05-01T10:00:00.000Z",
176
+ "updated_at": "2026-05-01T10:00:00.000Z"
177
+ }
178
+ ],
179
+ "count": 42,
180
+ "offset": 0,
181
+ "limit": 20
182
+ }
183
+ ```
184
+ </ResponseExample>