Duplicate Product
POST/api/products/:product/duplicate
Duplicate an existing product into a brand-new one with its own SKU.
The new product copies the source's identity-adjacent configuration - name, brand, type, dimensions, unit cost, financial line type, flags, attributes, categories, pricing tiers, suppliers (and their pricing), units of measure, tags, images, and kit/bundle components - but starts with zero inventory: no stock movements, FIFO layers, inventory cache, or channel listings. The barcode and inventory/velocity-derived figures (average cost, quantities sold, ABC/XYZ classification) are reset.
A new unique sku is required. When name is omitted it defaults to the source name suffixed with " (copy)".
Matrix (variation) products and variation children cannot be duplicated and return 422.
Requires a Bearer token with the products.create permission.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.