Printago API
POST /v1/skus/{id}/duplicate

Duplicate a SKU

Creates a copy of an existing SKU under a new, unique SKU code. The copy carries the linked parts, variant options, cost entries and description of the original.

Requires: sku.createsku.view

Path Parameters

id required
string
The unique identifier of the SKU to copy

Request Body

The new SKU code, and optionally a title, folder and which parts of the original to carry over

SkuDuplicateRequest
folderIdoptional
string
includeCostEntriesoptional
boolean
includeDescriptionoptional
boolean
includeLinkedPartsoptional
boolean
includeVariantOptionsoptional
boolean
skurequired
string
titleoptional
string

Example Request

application/json
{
  "sku": "string",
  "title": "string",
  "includeLinkedParts": true,
  "includeVariantOptions": true,
  "includeCostEntries": true,
  "includeDescription": true
}

Response Schema

SkuLinkedPartsRelation
createdAtrequired
string
format: date-time
customMetadataoptional
Record<string, any>
Construct a type with a set of properties K of type T
descriptionrequired
string
externalIdrequired
string
externalProviderrequired
any
folderIdoptional
string
idrequired
string
pattern: ^[a-z0-9]{24}$
linkedPartsrequired
object[]
createdAtrequired
string
format: date-time
exposedParametersrequired
string[]
extensionsoptional
object
idrequired
string
pattern: ^[a-z0-9]{24}$
labelrequired
string
materialAssignmentsoptional
Record<string, object[]>
parameterBindingsoptional
Record<string, string>
parametersrequired
object[]
namerequired
string
typerequired
any
valueoptional
number | string | boolean
partIdrequired
string
pattern: ^[a-z0-9]{24}$
plateQuantitiesBindingoptional
string
quantityrequired
number
min: 0max: 500
sequenceBindingsoptional
Record<string, string>
Text-parameter name → sequence id: each queued unit consumes the next serial.
skuIdrequired
string
pattern: ^[a-z0-9]{24}$
storeIdrequired
string
pattern: ^[a-z0-9]{24}$
updatedAtrequired
string
format: date-time
skurequired
string
storeIdrequired
string
pattern: ^[a-z0-9]{24}$
titlerequired
string
totalCogsrequired
number
updatedAtrequired
string
format: date-time

Example Response

201 OK — application/json
{
  "sku": "string",
  "title": "string",
  "description": "string",
  "totalCogs": 1,
  "customMetadata": {},
  "id": "string",
  "storeId": "string",
  "createdAt": "2026-09-13T00:32:50.131Z",
  "updatedAt": "2026-09-13T00:32:50.131Z",
  "linkedParts": [
    {
      "skuId": "string",
      "partId": "string",
      "parameters": [
        {
          "name": "string"
        }
      ],
      "quantity": 0,
      "label": "string",
      "exposedParameters": [
        "string"
      ],
      "id": "string",
      "storeId": "string",
      "createdAt": "2026-09-13T00:32:50.131Z",
      "updatedAt": "2026-09-13T00:32:50.131Z"
    }
  ]
}