Skip to content

Replicate Product

POST
/product/202507/products/{product_id}/global_replicate

Description of [POST]/product/:version/Replicate_Product

product_id
required
string

The product ID in TikTok Shop.

shop_cipher
required
string

Identifies the shop. Obtain it from the Get Authorized Shops API.

Media typeapplication/json
object
inventory_mode

The inventory mode for the source product in the source shop. This field is applicable only to EU markets. Possible values:

  • SHARED: Inventory for interconnected products must remain consistent; otherwise, an error is returned.
  • EXCLUSIVE: Inventory for each product can be set independently without affecting the others.

If omitted, the inventory mode defaults to EXCLUSIVE.

string
Allowed values: SHARED EXCLUSIVE
replicate_target

Target markets for replicating the local product.

Array<object>
object
certifications

The list of certifications for your product. Max count: 10

As per TikTok Shop guidelines, certifications are required for certain restricted product categories. Retrieve the certification requirements for your product from the Get Category Rules API. Refer to TikTok Shop Restricted Products Policy for information on product category restrictions.

Array<object>
<= 10 items
object
expiration_date

The expiration date of this certification expressed in unix timestamp (seconds) UTC+0. This field may be required for certain certifications. Use the Get Category Rules API to find out the requirements.

integer format: int64
files

A list of certification related files.

Array<object>
object
format

The format of the certification file. Only PDF is supported.

string
id
required

The ID of the certification file. Use the Upload Product File API to upload the files first and obtain the corresponding file ID.

string
name
required

The name of the certification file, including the file extension.

string
id
required

The ID to identify the type of certification required for the product category. Retrieve this value from the Get Category Rules API.

string
images

A list of certification related images.

Array<object>
object
uri
required

The URI of the image. Obtain this URI by uploading the images through the Upload Product Image API with use_case=CERTIFICATION_IMAGE.

string
inventory_mode

The inventory mode for the replicated product in this target market. This field is applicable only to EU markets. Possible values:

  • SHARED: Inventory for interconnected products must remain consistent; otherwise, an error is returned.
  • EXCLUSIVE: Inventory for each product can be set independently without affecting the others.

If omitted, the inventory mode defaults to EXCLUSIVE.

string
Allowed values: SHARED EXCLUSIVE
manufacturer_ids

A comma-delimited list of manufacturer IDs. Retrieve the IDs from the Search Manufacturers API.

Note: Applicable only for the EU market in certain categories. Use the Get Category Rules API to check the requirements.

Array<string>
product_attributes

A list of general attributes (e.g. manufacturer, country of origin, materials used) that describe the product as a whole, regardless of variant.

Important: The attributes available for use are determined by the system based on the product’s assigned category, with some being mandatory. You must provide the product attributes marked as is_required in the response of the Get Attributes API to avoid listing failure.

Array<object>
object
id
required

The ID of the product attribute, retrieved from the Get Attributes API.

string
values
required

A list of selectable values for the product attribute.

Note: Provide either a built-in ID or a custom name; if both are provided, the ID takes priority.

Array<object>
object
id

The ID of a built-in product attribute value, retrieved from the Get Attributes API.

string
name

A self-defined custom product attribute value if the built-in values do not satisfy your needs. The system will auto-generate an ID after listing.

Note:

  • No duplicates allowed under the same attribute.
  • Max length: 2000 characters
string
<= 2000 characters
region

The new market where you want to replicate the product.

string
responsible_person_ids

A comma-delimited list of responsible person IDs. Retrieve the IDs from the Search Responsible Persons API.

Note: Applicable only for the EU market in certain categories. Use the Get Category Rules API to check the requirements.

Array<string>
skus

The SKUs to be published in the specified market.

  • Max SKUs for EU, JP, UK, US: 300
  • Max SKUs for other regions: 100 Note: SKUs of all source country must be included.
Array<object>
object
inventory

SKU inventory information per warehouse. This field is only required if the inventory allocation mode for the warehouse is MANUAL. Otherwise, it is optional.

Array<object>
object
quantity

The SKU quantity available in the warehouse. Valid range: [1, 999,999]. This field is mandatory for other regions. But when syncing products from the US to MX, the MX product inventory field is optional.

integer format: int64
>= 1 <= 999999
warehouse_id

The warehouse ID. Retrieve this value from the Get Warehouse List API or Get Inventory Rules API. This field is mandatory for other regions. But when syncing products from the US to MX, the MX product inventory field is optional.

string
price

The SKU’s local display price shown on the product page before any discounts.

object
currency

The currency. You must specify the local currency in the target market.

string
sale_price
required

The SKU’s local display price shown on the product page before any discounts. Refer to Product Pricing for the allowed price ranges in each market.

string
source_sku_id

The ID of the SKU being replicated

string
seller_sku

An internal code/name for managing SKUs, not visible to buyers.
Valid length:

  • DE, ES, FR, IT, PL, NL, BE, CZ, AT, GR, PT, HU: 6-50 characters
  • Other regions: 1-50 characters Format:
  • DE, ES, FR, IT, PL, NL, BE, CZ, AT, GR, PT, HU: Use alphabets, numbers, hyphens (-), or underscores (_) only
  • Other regions: Text without spaces
string
Example
{
"inventory_mode": "SHARED",
"replicate_target": [
{
"certifications": [
{
"expiration_date": 1741234626,
"files": [
{
"format": "PDF",
"id": "v09ea0g40000cj91373c77u3mid3g1s0",
"name": "brand_cert.PDF"
}
],
"id": "7182427311584347905",
"images": [
{
"uri": "tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe"
}
]
}
],
"inventory_mode": "SHARED",
"manufacturer_ids": [
"172959296971220002"
],
"product_attributes": [
{
"id": "100392",
"values": [
{
"id": "1001533",
"name": "Birthday"
}
]
}
],
"region": "US",
"responsible_person_ids": [
"172959296971220003"
],
"skus": [
{
"inventory": [
{
"quantity": 100,
"warehouse_id": "1732057700058170433"
}
],
"price": {
"currency": "EUR",
"sale_price": "100"
},
"source_sku_id": "1732057700058170433",
"seller_sku": "Color-Red-XM01"
}
]
}
]
}

Success

Media typeapplication/json
object
code

Status code; 0 means success.

integer format: int64
message

Success or failure message.

string
request_id

Request log ID.

string
data
object
errors

The pre-submission validation errors for target markets. When this list is non-empty, asynchronous replication is not submitted. Use each item’s detail.region to identify the affected target market.

Array<object>
object
code

The error code.

integer format: int64
detail

The details of the error.

object
region

The target region where the error occurred.

string
message

The error message.

string
Example
{
"code": 0,
"data": {
"errors": [
{
"code": 12052223,
"detail": {
"region": "US"
},
"message": "the category is unauthorized."
}
]
},
"message": "Success",
"request_id": "202203070749000101890810281E8C70B7"
}