@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.
- package/README.md +24 -0
- package/content/blocks.mdx +209 -0
- package/content/learn/architecture.mdx +215 -0
- package/content/learn/attributes.mdx +89 -0
- package/content/learn/blocks.mdx +99 -0
- package/content/learn/commissions.mdx +175 -0
- package/content/learn/concepts.mdx +84 -0
- package/content/learn/installation.mdx +117 -0
- package/content/learn/introduction.mdx +71 -0
- package/content/learn/offers.mdx +78 -0
- package/content/learn/order-groups.mdx +114 -0
- package/content/learn/payouts.mdx +175 -0
- package/content/learn/product-requests.mdx +82 -0
- package/content/learn/products.mdx +79 -0
- package/content/learn/registry.mdx +155 -0
- package/content/learn/seller-members.mdx +62 -0
- package/content/learn/sellers.mdx +118 -0
- package/content/migration/from-1-x-to-2-0.mdx +152 -0
- package/content/migration/from-2-0-to-2-1.mdx +105 -0
- package/content/migration/overview.mdx +58 -0
- package/content/references/api/admin/commission-rates/batch-commission-rules.mdx +70 -0
- package/content/references/api/admin/commission-rates/create-commission-rate.mdx +95 -0
- package/content/references/api/admin/commission-rates/delete-commission-rate.mdx +40 -0
- package/content/references/api/admin/commission-rates/list-commission-rates.mdx +92 -0
- package/content/references/api/admin/commission-rates/retrieve-commission-rate.mdx +70 -0
- package/content/references/api/admin/commission-rates/update-commission-rate.mdx +84 -0
- package/content/references/api/admin/members/list-members.mdx +61 -0
- package/content/references/api/admin/offers/batch-create-offers.mdx +130 -0
- package/content/references/api/admin/offers/delete-offer.mdx +40 -0
- package/content/references/api/admin/offers/list-offers.mdx +106 -0
- package/content/references/api/admin/offers/retrieve-offer.mdx +82 -0
- package/content/references/api/admin/order-groups/list-order-groups.mdx +77 -0
- package/content/references/api/admin/order-groups/retrieve-order-group.mdx +56 -0
- package/content/references/api/admin/orders/get-order-commission-lines.mdx +65 -0
- package/content/references/api/admin/orders/get-order-order-group.mdx +56 -0
- package/content/references/api/admin/orders/list-orders.mdx +79 -0
- package/content/references/api/admin/payouts/list-payouts.mdx +75 -0
- package/content/references/api/admin/payouts/retrieve-payout.mdx +62 -0
- package/content/references/api/admin/product-attributes/create-attribute-value.mdx +76 -0
- package/content/references/api/admin/product-attributes/create-product-attribute.mdx +99 -0
- package/content/references/api/admin/product-attributes/delete-attribute-value.mdx +52 -0
- package/content/references/api/admin/product-attributes/delete-product-attribute.mdx +40 -0
- package/content/references/api/admin/product-attributes/list-product-attributes.mdx +91 -0
- package/content/references/api/admin/product-attributes/retrieve-product-attribute.mdx +81 -0
- package/content/references/api/admin/product-attributes/update-attribute-value.mdx +66 -0
- package/content/references/api/admin/product-attributes/update-product-attribute.mdx +76 -0
- package/content/references/api/admin/product-changes/cancel-product-change.mdx +68 -0
- package/content/references/api/admin/product-changes/confirm-product-change.mdx +47 -0
- package/content/references/api/admin/products/batch-product-attributes.mdx +96 -0
- package/content/references/api/admin/products/confirm-product.mdx +59 -0
- package/content/references/api/admin/products/create-product-variant.mdx +78 -0
- package/content/references/api/admin/products/create-product.mdx +169 -0
- package/content/references/api/admin/products/delete-product-variant.mdx +48 -0
- package/content/references/api/admin/products/delete-product.mdx +40 -0
- package/content/references/api/admin/products/list-product-variants.mdx +91 -0
- package/content/references/api/admin/products/list-products.mdx +109 -0
- package/content/references/api/admin/products/preview-product.mdx +78 -0
- package/content/references/api/admin/products/reject-product.mdx +59 -0
- package/content/references/api/admin/products/request-product-changes.mdx +59 -0
- package/content/references/api/admin/products/retrieve-product-variant.mdx +73 -0
- package/content/references/api/admin/products/retrieve-product.mdx +96 -0
- package/content/references/api/admin/products/set-product-sellers.mdx +47 -0
- package/content/references/api/admin/products/update-product-variant.mdx +89 -0
- package/content/references/api/admin/products/update-product.mdx +133 -0
- package/content/references/api/admin/sellers/add-seller-member.mdx +63 -0
- package/content/references/api/admin/sellers/approve-seller.mdx +54 -0
- package/content/references/api/admin/sellers/create-seller.mdx +100 -0
- package/content/references/api/admin/sellers/delete-member-invite.mdx +42 -0
- package/content/references/api/admin/sellers/delete-professional-details.mdx +52 -0
- package/content/references/api/admin/sellers/invite-seller-member.mdx +63 -0
- package/content/references/api/admin/sellers/list-member-invites.mdx +71 -0
- package/content/references/api/admin/sellers/list-seller-members.mdx +71 -0
- package/content/references/api/admin/sellers/list-seller-products.mdx +85 -0
- package/content/references/api/admin/sellers/list-sellers.mdx +96 -0
- package/content/references/api/admin/sellers/remove-seller-member.mdx +42 -0
- package/content/references/api/admin/sellers/resend-member-invite.mdx +55 -0
- package/content/references/api/admin/sellers/retrieve-seller.mdx +81 -0
- package/content/references/api/admin/sellers/suspend-seller.mdx +60 -0
- package/content/references/api/admin/sellers/terminate-seller.mdx +60 -0
- package/content/references/api/admin/sellers/unsuspend-seller.mdx +52 -0
- package/content/references/api/admin/sellers/unterminate-seller.mdx +52 -0
- package/content/references/api/admin/sellers/update-seller.mdx +83 -0
- package/content/references/api/admin/sellers/upsert-payment-details.mdx +88 -0
- package/content/references/api/admin/sellers/upsert-professional-details.mdx +78 -0
- package/content/references/api/admin/sellers/upsert-seller-address.mdx +91 -0
- package/content/references/api/admin.mdx +134 -0
- package/content/references/api/conventions.mdx +109 -0
- package/content/references/api/store/carts/add-line-item.mdx +115 -0
- package/content/references/api/store/carts/add-shipping-methods.mdx +84 -0
- package/content/references/api/store/carts/apply-promotions.mdx +83 -0
- package/content/references/api/store/carts/complete-cart.mdx +98 -0
- package/content/references/api/store/offers/list-offers.mdx +161 -0
- package/content/references/api/store/offers/retrieve-offer.mdx +112 -0
- package/content/references/api/store/order-groups/list-order-groups.mdx +105 -0
- package/content/references/api/store/order-groups/retrieve-order-group.mdx +78 -0
- package/content/references/api/store/product-attributes/list-product-attributes.mdx +134 -0
- package/content/references/api/store/product-attributes/retrieve-product-attribute.mdx +78 -0
- package/content/references/api/store/product-categories/list-product-categories.mdx +126 -0
- package/content/references/api/store/product-categories/retrieve-product-category.mdx +79 -0
- package/content/references/api/store/products/list-products.mdx +184 -0
- package/content/references/api/store/products/retrieve-product.mdx +107 -0
- package/content/references/api/store/search/search.mdx +136 -0
- package/content/references/api/store/sellers/list-sellers.mdx +105 -0
- package/content/references/api/store/sellers/retrieve-seller.mdx +62 -0
- package/content/references/api/store/shipping-options/list-shipping-options.mdx +74 -0
- package/content/references/api/store.mdx +67 -0
- package/content/references/api/vendor/members/accept-member-invite.mdx +65 -0
- package/content/references/api/vendor/members/retrieve-current-member.mdx +51 -0
- package/content/references/api/vendor/members/update-current-member.mdx +70 -0
- package/content/references/api/vendor/offers/batch-create-offers.mdx +123 -0
- package/content/references/api/vendor/offers/batch-offer-inventory-items.mdx +103 -0
- package/content/references/api/vendor/offers/create-offer.mdx +141 -0
- package/content/references/api/vendor/offers/delete-offer.mdx +51 -0
- package/content/references/api/vendor/offers/list-offers.mdx +125 -0
- package/content/references/api/vendor/offers/retrieve-offer.mdx +74 -0
- package/content/references/api/vendor/offers/update-offer.mdx +82 -0
- package/content/references/api/vendor/orders/cancel-fulfillment.mdx +63 -0
- package/content/references/api/vendor/orders/cancel-order.mdx +56 -0
- package/content/references/api/vendor/orders/complete-order.mdx +55 -0
- package/content/references/api/vendor/orders/create-fulfillment.mdx +76 -0
- package/content/references/api/vendor/orders/create-shipment.mdx +99 -0
- package/content/references/api/vendor/orders/get-order-commission-lines.mdx +66 -0
- package/content/references/api/vendor/orders/list-order-changes.mdx +75 -0
- package/content/references/api/vendor/orders/list-orders.mdx +103 -0
- package/content/references/api/vendor/orders/mark-fulfillment-delivered.mdx +62 -0
- package/content/references/api/vendor/orders/preview-order.mdx +65 -0
- package/content/references/api/vendor/orders/retrieve-order.mdx +84 -0
- package/content/references/api/vendor/payout-accounts/create-onboarding.mdx +68 -0
- package/content/references/api/vendor/payout-accounts/create-payout-account.mdx +59 -0
- package/content/references/api/vendor/payout-accounts/retrieve-payout-account-by-id.mdx +60 -0
- package/content/references/api/vendor/payout-accounts/retrieve-payout-account.mdx +77 -0
- package/content/references/api/vendor/payouts/list-payouts.mdx +90 -0
- package/content/references/api/vendor/payouts/retrieve-payout.mdx +63 -0
- package/content/references/api/vendor/product-attributes/list-product-attributes.mdx +135 -0
- package/content/references/api/vendor/product-attributes/retrieve-product-attribute.mdx +71 -0
- package/content/references/api/vendor/product-variants/list-variants.mdx +136 -0
- package/content/references/api/vendor/products/batch-product-attributes.mdx +104 -0
- package/content/references/api/vendor/products/cancel-product-change.mdx +62 -0
- package/content/references/api/vendor/products/create-product-variant.mdx +92 -0
- package/content/references/api/vendor/products/create-product.mdx +197 -0
- package/content/references/api/vendor/products/delete-product-variant.mdx +68 -0
- package/content/references/api/vendor/products/delete-product.mdx +62 -0
- package/content/references/api/vendor/products/list-product-variants.mdx +114 -0
- package/content/references/api/vendor/products/list-products.mdx +163 -0
- package/content/references/api/vendor/products/preview-product.mdx +61 -0
- package/content/references/api/vendor/products/retrieve-product-variant.mdx +76 -0
- package/content/references/api/vendor/products/retrieve-product.mdx +69 -0
- package/content/references/api/vendor/products/update-product-variant.mdx +104 -0
- package/content/references/api/vendor/products/update-product.mdx +148 -0
- package/content/references/api/vendor/sellers/create-seller.mdx +150 -0
- package/content/references/api/vendor/sellers/delete-professional-details.mdx +54 -0
- package/content/references/api/vendor/sellers/invite-seller-member.mdx +67 -0
- package/content/references/api/vendor/sellers/list-member-invites.mdx +82 -0
- package/content/references/api/vendor/sellers/list-seller-members.mdx +80 -0
- package/content/references/api/vendor/sellers/list-sellers.mdx +71 -0
- package/content/references/api/vendor/sellers/remove-seller-member.mdx +48 -0
- package/content/references/api/vendor/sellers/retrieve-current-seller-member.mdx +59 -0
- package/content/references/api/vendor/sellers/retrieve-current-seller.mdx +69 -0
- package/content/references/api/vendor/sellers/select-seller.mdx +44 -0
- package/content/references/api/vendor/sellers/update-current-seller.mdx +108 -0
- package/content/references/api/vendor/sellers/update-member-role.mdx +51 -0
- package/content/references/api/vendor/sellers/upsert-payment-details.mdx +74 -0
- package/content/references/api/vendor/sellers/upsert-professional-details.mdx +70 -0
- package/content/references/api/vendor/sellers/upsert-seller-address.mdx +81 -0
- package/content/references/api/vendor.mdx +150 -0
- package/content/references/configuration.mdx +155 -0
- package/content/references/modules/commission.mdx +106 -0
- package/content/references/modules/custom-fields.mdx +45 -0
- package/content/references/modules/media.mdx +55 -0
- package/content/references/modules/offer.mdx +64 -0
- package/content/references/modules/payout.mdx +121 -0
- package/content/references/modules/product-attribute.mdx +111 -0
- package/content/references/modules/product-edit.mdx +80 -0
- package/content/references/modules/search.mdx +112 -0
- package/content/references/modules/seller.mdx +175 -0
- package/content/references/overview.mdx +70 -0
- package/content/references/workflows/cart/add-seller-shipping-method-to-cart.mdx +44 -0
- package/content/references/workflows/cart/complete-cart-with-split-orders.mdx +36 -0
- package/content/references/workflows/cart/list-seller-shipping-options-for-cart.mdx +39 -0
- package/content/references/workflows/cart/update-cart-seller-promotions.mdx +42 -0
- package/content/references/workflows/commission/batch-commission-rules.mdx +45 -0
- package/content/references/workflows/commission/create-commission-rates.mdx +41 -0
- package/content/references/workflows/commission/delete-commission-rates.mdx +34 -0
- package/content/references/workflows/commission/refresh-order-commission-lines.mdx +30 -0
- package/content/references/workflows/commission/update-commission-rates.mdx +35 -0
- package/content/references/workflows/media/set-category-images.mdx +41 -0
- package/content/references/workflows/media/set-collection-images.mdx +41 -0
- package/content/references/workflows/member/accept-member-invite.mdx +33 -0
- package/content/references/workflows/member/add-seller-member.mdx +30 -0
- package/content/references/workflows/member/create-member-invites.mdx +34 -0
- package/content/references/workflows/member/delete-member-invite.mdx +24 -0
- package/content/references/workflows/member/remove-seller-member.mdx +28 -0
- package/content/references/workflows/member/resend-member-invite.mdx +28 -0
- package/content/references/workflows/member/update-member-role.mdx +28 -0
- package/content/references/workflows/member/update-member.mdx +35 -0
- package/content/references/workflows/offer/batch-offer-inventory-items.mdx +58 -0
- package/content/references/workflows/offer/create-offers.mdx +63 -0
- package/content/references/workflows/offer/delete-offers.mdx +35 -0
- package/content/references/workflows/offer/update-offers.mdx +51 -0
- package/content/references/workflows/order/cancel-order-fulfillment.mdx +34 -0
- package/content/references/workflows/order/confirm-claim-request.mdx +25 -0
- package/content/references/workflows/order/confirm-exchange-request.mdx +25 -0
- package/content/references/workflows/order/confirm-order-edit-request.mdx +25 -0
- package/content/references/workflows/order/confirm-return-receive.mdx +25 -0
- package/content/references/workflows/order/create-order-fulfillment.mdx +45 -0
- package/content/references/workflows/order-group/get-order-group-detail.mdx +29 -0
- package/content/references/workflows/order-group/get-order-groups-list.mdx +36 -0
- package/content/references/workflows/overview.mdx +72 -0
- package/content/references/workflows/payout/create-onboarding.mdx +36 -0
- package/content/references/workflows/payout/create-payout-account.mdx +33 -0
- package/content/references/workflows/payout/create-payout.mdx +30 -0
- package/content/references/workflows/payout/process-payout-for-webhook.mdx +32 -0
- package/content/references/workflows/product/confirm-products.mdx +46 -0
- package/content/references/workflows/product/create-products.mdx +63 -0
- package/content/references/workflows/product/link-sellers-to-product-category.mdx +40 -0
- package/content/references/workflows/product/link-sellers-to-product.mdx +40 -0
- package/content/references/workflows/product/reject-product.mdx +46 -0
- package/content/references/workflows/product/request-product-change.mdx +46 -0
- package/content/references/workflows/product-attribute/add-product-attributes-to-product.mdx +49 -0
- package/content/references/workflows/product-attribute/create-and-link-product-attributes-to-product.mdx +46 -0
- package/content/references/workflows/product-attribute/create-product-attribute-values.mdx +43 -0
- package/content/references/workflows/product-attribute/create-product-attributes.mdx +56 -0
- package/content/references/workflows/product-attribute/delete-product-attribute-values.mdx +30 -0
- package/content/references/workflows/product-attribute/delete-product-attributes.mdx +30 -0
- package/content/references/workflows/product-attribute/remove-product-attributes-from-product.mdx +29 -0
- package/content/references/workflows/product-attribute/update-product-attribute-values.mdx +44 -0
- package/content/references/workflows/product-attribute/update-product-attributes-on-product.mdx +41 -0
- package/content/references/workflows/product-attribute/update-product-attributes.mdx +48 -0
- package/content/references/workflows/product-attribute/upsert-product-attribute-values.mdx +43 -0
- package/content/references/workflows/product-edit/auto-confirm-product-change.mdx +39 -0
- package/content/references/workflows/product-edit/cancel-product-change.mdx +49 -0
- package/content/references/workflows/product-edit/confirm-product-change.mdx +57 -0
- package/content/references/workflows/product-edit/create-product-change.mdx +72 -0
- package/content/references/workflows/product-edit/reject-product-change.mdx +54 -0
- package/content/references/workflows/product-edit/stage-product-change.mdx +75 -0
- package/content/references/workflows/seller/approve-seller.mdx +34 -0
- package/content/references/workflows/seller/create-seller-account.mdx +59 -0
- package/content/references/workflows/seller/create-seller-defaults.mdx +22 -0
- package/content/references/workflows/seller/create-sellers.mdx +65 -0
- package/content/references/workflows/seller/delete-seller-professional-details.mdx +37 -0
- package/content/references/workflows/seller/delete-sellers.mdx +24 -0
- package/content/references/workflows/seller/invite-seller.mdx +28 -0
- package/content/references/workflows/seller/suspend-seller.mdx +35 -0
- package/content/references/workflows/seller/terminate-seller.mdx +35 -0
- package/content/references/workflows/seller/unsuspend-seller.mdx +34 -0
- package/content/references/workflows/seller/unterminate-seller.mdx +34 -0
- package/content/references/workflows/seller/update-seller-address.mdx +55 -0
- package/content/references/workflows/seller/update-seller-payment-details.mdx +52 -0
- package/content/references/workflows/seller/update-seller-professional-details.mdx +48 -0
- package/content/references/workflows/seller/update-sellers.mdx +57 -0
- package/content/resources/ai/llms.mdx +74 -0
- package/content/resources/ai/mcp.mdx +152 -0
- package/content/resources/ai/overview.mdx +97 -0
- package/content/resources/customization/custom-fields.mdx +182 -0
- package/content/resources/customization/extend-a-workflow.mdx +39 -0
- package/content/resources/customization/extending-panels.mdx +309 -0
- package/content/resources/deployment/medusa-cloud.mdx +167 -0
- package/content/resources/integrations/notifications.mdx +39 -0
- package/content/resources/integrations/search.mdx +122 -0
- package/content/resources/integrations/stripe-connect.mdx +395 -0
- package/content/resources/tutorials/add-a-block.mdx +74 -0
- package/content/resources/tutorials/attributes-and-variant-axes.mdx +111 -0
- package/content/resources/tutorials/build-a-block.mdx +134 -0
- package/content/resources/tutorials/configure-commissions.mdx +127 -0
- package/content/resources/tutorials/custom-api-route.mdx +142 -0
- package/content/resources/tutorials/custom-panel-page.mdx +78 -0
- package/content/resources/tutorials/first-marketplace.mdx +45 -0
- package/content/resources/tutorials/handle-product-requests.mdx +80 -0
- package/content/resources/tutorials/import-export-products.mdx +96 -0
- package/content/resources/tutorials/master-products-and-offers.mdx +89 -0
- package/content/resources/tutorials/recompose-a-page.mdx +129 -0
- package/content/resources/tutorials/replace-panel-components.mdx +116 -0
- package/content/resources/tutorials/seller-payouts-stripe.mdx +89 -0
- package/content/telemetry.mdx +67 -0
- package/content/tools/api-client.mdx +155 -0
- package/content/tools/cli.mdx +196 -0
- package/content/tools/dashboard-sdk.mdx +35 -0
- package/content/user-guide/admin/overview.mdx +23 -0
- package/content/user-guide/admin/stores.mdx +193 -0
- package/content/user-guide/vendor/overview.mdx +23 -0
- package/content/user-guide/vendor/stores.mdx +209 -0
- package/llms.txt +307 -0
- 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>
|