PUT Edit Product
Edit Product Shop Required scope: seller.product.write Edit all properties (e.g. description, brand, images) of an existing product that is not in the FREEZE or DELETED state. After editing the product, the latest product content (referred to as v2) will be resent for audit review. If the audit passes, v2 is published to the shop, otherwise, the existing product stays live and remains unchanged (keeping v1). However, edits to the price or inventory fields do not require a reaudit and will be immediately published on the platform. Use the Product status change
webhook to keep track of the review status. Note:
- This API is applicable only for active sellers/shops that have completed the KYC onboarding process.
- There may be a limit to the number of products you can relist per day. We recommend prioritizing key products first to ensure they get published. You can find your listing limit on the Seller Center homepage.
- All inputs, including blanks, in the request payload will overwrite existing values. To retain an existing value, make sure to include it in your request. Exceptions to this rule are the price and inventory fields, which will remain unchanged if they are omitted from the request. Therefore, it is strongly recommended to retrieve the latest product data using Get Product
and submit the complete data when editing. This ensures accuracy and helps avoid errors or unintentional data loss due to missing fields.
- If you wish to edit only certain properties, you can use the Partial Edit Product API
, Update Inventory API
, or the Update Price API
.
- The language used in the product content must align with the target market's language (e.g. don't use Chinese), otherwise the listing will fail or be rejected. For global sellers: If you're using the local replication listing method, note the following sync rules:
- To sync any changes to other markets, please provide the seller_sku and complete replicated_products data.
- Note that category changes and sales attribute changes (in sales attribute id/name) must be synced to other markets. The API call will fail if you don't provide these details. For Tokopedia sellers: Note that a product can have only one active version across all platforms at any time. If a product is live on both platforms, audit results for the latest version are handled as follows:
- Mixed audit results: If the product passes audit on one platform but fails on another, on the successful platform, the product will stay live and be updated with content from the latest version (v2), while on the failed platform, the product will be deactivated and hidden entirely.
- Audit failure on all platforms: If the product fails audit on all platforms, the existing product stays live and remains unchanged (keeping v1). Version 202509
PUT/product/202509/products/{product_id}
Request
Path
| Properties | Type | Description |
|---|---|---|
| product_id Required | string | The product ID generated by TikTok Shop. |
Header
| Properties | Type | Description |
|---|---|---|
| content-type Required | string | Allowed type: application/json |
| x-tts-access-token Required | string | The seller access_token value from Get Access Token, when user_type = 0. Follow this guide to get seller access_token. |
Query
| Properties | Type | Description |
|---|---|---|
| app_key Required | string | Every single app will have a unique key. Please use the specific key assigned to your app. |
| sign Required | string | Signature generated by gen algorithm. When you send API requests to TTS, you must sign them so that TTS can identify the senders. |
| timestamp Required | int | Unix timestamp GMT (UTC+00:00). This timestamp is used across all API requests. Developers can use this convert to local time. |
| shop_cipher Required | string | Use this property to pass shop information in requesting the API. Failure in passing the correct value when requesting the API for cross-border shops will return incorrect response. Get by API Get Authorization Shop |
Body
| Properties | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| save_mode | string | Indicates how the product should be saved.Possible values:- AS_DRAFT: Save the product as a draft for future editing.- LISTING: Immediately list the product in the shop.Default: LISTINGNote: - Saving as draft is not supported in the following cases: - The product status is DELETED. - The product status is PENDING or FREEZE on any listing platform.- If you are saving a post-live draft with save_mode=AS_DRAFT, inventory and delivery_option_ids fields are not supported and will not be saved. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| description Required | string | The product description in HTML format.Note:- The content must conform to the HTML syntax. All HTML tags are accepted but to optimize display on the TikTok Shop product detail page, the system will automatically convert certain tags into alternative formats, such as rendering tags as images.- Max length: 10,000 characters.- Image guidelines: You must use TikTok Shop image URLs. Max 30
Example CurlGoNode.jsJavaEnable word wrap 1234567891011121314151617181920212223curl-X PUT 'https://open-api.tiktokglobalshop.com/product/202509/products/1729409636071801988?timestamp=1623812664&shop_cipher=GCP_XF90igAAAABh00qsWgtvOiGFNqyubMt3&app_key=38abcd&sign=5361235029d141222525e303d742f9e38aea052d10896d3197ab9d6233730b8c' -H 'x-tts-access-token: TTP_pwSm2AAAAABmmtFz1xlyKMnwg74T2GJ5s0uQbS8jPjb_GkdFVCxPqzQXSyuyfXdQa0AqyDsea2tYFNVf4XeqgZHFfPyv0Vs659QqyLYfsGzanZ5XZAin3_ZkcIxxS0_In6u6XDeU96k' -H 'content-type: application/json' -d '{ "save_mode": "AS_DRAFT", "description": " \u003cp\u003ePlease compare above detailed size with your measurement before purchase.\u003c/p\u003e\u003cul\u003e \u003cli\u003eM-Size\u003c/li\u003e \u003cli\u003eXL-Size\u003c/li\u003e\u003c/ul\u003e \u003cimg src="https://p16-oec-va.ibyteimg.com/tos-maliva-i-o3syd03w52-us/181595ea7d26489284b5667488d708c1~tplv-o3syd03w52-origin-jpeg.jpeg?from=1432613627\" width='100' height='100' /\u003e", "category_id": "600001", "brand_id": "7082427311584347905", "main_images": [ { "uri": "tos-maliva-i-o3syd03w52-us/c668cdf70b7f483c94dbe" } ], "skus": [ { "id": "1729592969712207000", "sales_attributes": [ { "id": "100089", "name": "Specification", "value_id": "1729592969712401100", "value_name": "XL", Response Parameters
Example JSONEnable word wrap Error Code View common error codes | Code | Message | | --- | --- | | 12019006 | product description is invalid | | 12019011 | product package weight is invalid | | 12019012 | product package size is invalid | | 12019013 | brand id is invalid | | 12019019 | sale property is invalid | | 12019022 | SKU must contain a valid warehouse. | | 12019056 | sku not allow add | | 12019057 | sku not allow delete | | 12019061 | Product weight or dimensions unit does not support the imperial units on non-US local products. | | 12019095 | pre_sale.fulfillment_type is missing or empty. | | 12019096 | The value for pre_sale.type is missing. | | 12019097 | pre_sale.fulfillment_type.release_date must be set to a non-zero value. | | 12019098 | pre_sale.fulfillment_type.handling_duration_days must be set to a non-zero value. | | 12019100 | All SKUs of a product must have the same pre_sale.type. Do not assign different values. | | 12019215 | deposit balance is not enough | | 12052002 | Incorrect category format | | 12052003 | Incorrect parcel height format | | 12052004 | Incorrect parcel width format | | 12052005 | Incorrect parcel length format | | 12052013 | The product description cannot exceed maximum characters | | 12052015 | The product description is required | | 12052023 | Category does not exist | | 12052024 | Category is not final category | | 12052025 | The category is invalid | | 12052026 | Brand does not exist | | 12052028 | Main product image is required | | 12052032 | The product does not exist | | 12052034 | This product doesn't belong to this shop | | 12052037 | Couldn't update inventory. Possible causes:- Inventory is automatically allocated and cannot be modified manually- Warehouse IDs provided are incorrect- Missing warehouse IDs (all warehouses that stock the product must be included) | | 12052038 | Product price locked due to ongoing promotion. | | 12052048 | You cannot edit the specified product(s) as it isn't listed in your account or shop. | | 12052050 | A single product cannot have more than 100 different SKUs | | 12052051 | The product name exceed max limit characters | | 12052054 | The seller SKU text length cannot exceed max limit characters | | 12052055 | The SKU inventory quantity for the warehouse must be within allowed limits. | | 12052056 | The num of image in description cannot exceed max limit | | 12052073 | The product price is invalid | | 12052084 | The provided currency is not available for this shop/region. | | 12052092 | product sale price is invalid | | 12052094 | No multiple warehouse permission | | 12052095 | Warehouse information parsing error | | 12052096 | Unable to update the price for SKUs with no warehouse. Assign a warehouse and try again. | | 12052097 | The warehouse does not exist | | 12052104 | property is required | | 12052105 | required qualification miss | | 12052115 | seller has no warehouse | | 12052116 | product package size is invalid | | 12052128 | Size chart not found | | 12052141 | please edit stock from global | | 12052144 | platform warehouse not support to edit | | 12052151 | product property value contain restricted words | | 12052152 | sale property name contains restricted words | | 12052153 | sale property value contains restricted words | | 12052158 | category unable to change | | 12052159 | unique item total quantity must be one | | 12052160 | sku count must be one and disable variables | | 12052162 | unique item sku count must be one and disable varialbes | | 12052163 | The gift product are not allowed to be edited | | 12052181 | The package weight of the product can not be zero. | | 12052182 | The '{{sub_property_name}}' field is required as you've selected '{{parent_property_value}}' for '{{parent_property_name}}'. | | 12052183 | The '{{sub_property_name}}' field should be left empty as you've selected '{{parent_property_value}}' for '{{parent_property_name}}'. | | 12052200 | brand is expired | | 12052201 | You are not authorized to sell this brand in this category. To do so, apply through the Qualification Center in Seller Center. | | 12052207 | receipt brand not support warehouse | | 12052208 | A brand authorization is required to publish this listing. | | 12052217 | All region shops must use V2 categories. Check the documentation for further details. | | 12052220 | This category is prohibited or unsupported on TikTok Shop. Select another category. | | 12052221 | Only whitelisted sellers are permitted to trade under current category | | 12052222 | category do not support cod | | 12052223 | This category is restricted. To sell in this category, apply through the Qualification Center in Seller Center. | | 12052225 | You are not authorized to sell in this category because it does not fall under your shop's main category. Contact your account manager for help or select another category. | | 12052226 | This category is restricted. To sell in this category, apply through the Qualification Center in Seller Center. | | 12052227 | the category is unauthorized or unavailable | | 12052230 | Category version and categoryID are not matched. | | 12052235 | The format of url is invalid | | 12052238 | The length of the url is greater than 200 | | 12052240 | Do not support custom property. | | 12052241 | attribute name or attribute id is empty. | | 12052242 | The attribute name characters cannot exceed max_limit | | 12052243 | The product attribute or sale attribute name characters contain Chinese. | | 12052244 | The attribute name duplicate. | | 12052245 | The product attributes contained invalid characters. Please modify and re-submit. | | 12052246 | The {{property_type}} not support multi selected, attribute id is :{{property_id}}. | | 12052247 | Do not support custom product attribute. | | 12052248 | The {{property_type}} value name or attribute value id is empty. | | 12052249 | The {{property_type}} value name characters cannot exceed {{max_limit}}, attribute value name is :{{property_value_name}}. | | 12052250 | The {{property_type}} value name characters contain Chinese. | | 12052251 | Duplicated attribute values found for an attribute. Remove or modify the duplicated value. | | 12052253 | Duplicate attribute value id | | 12052254 | Duplicate attribute id | | 12052256 | The {{property_name}} value need to be positive integers or positive decimals . | | 12052260 | The product ID does not exist | | 12052261 | product name is empty | | 12052262 | Chinese characters are not supported in product name | | 12052263 | product name prefix illegal | | 12052273 | After the pre-sale product has been onlive product, the pre-sale info cannot be modified. | | 12052275 | sku's mto day is invalid | | 12052278 | seller does not support make to order | | 12052282 | Product manufacturer is required. | | 12052284 | Manufacturer ID {{manufacturer_id}} is not found | | 12052285 | Manufacturer ID {{manufacturer_id}} is not associated with the seller | | 12052287 | Product responsible person is required | | 12052289 | Responsible person ID {{rp_id}} is not found | | 12052294 | The format of the extra identification code is incorrect. | | 12052300 | product main image uri illegal | | 12052301 | Width and length of main image must be at least {{min_limit}}, check uri {{uri}} | | 12052302 | The main images size exceed limit. | | 12052304 | Main product image format not support. | | 12052305 | The main images aspect ratio cannot exceed max limit. | | 12052306 | main product images count exceed limit | | 12052307 | skus in the lottery cannot be deleted | | 12052308 | There's an ongoing appeal. If you wish to edit product details, please revoke the appeal first. | | 12052310 | The futures information filled in by the seller does not meet the requirements. | | 12052311 | The number of backorder product exceeds the limit max_num, or the proportion of backorder product exceeds the limit max_ratio | | 12052314 | Standard product cannot be converted to MTO product | | 12052315 | Standard product cannot be converted to preorder product | | 12052316 | product second hand not applicable in this sale platform | | 12052317 | purchase order quantity not support | | 12052319 | maximum order quantity smaller than minimum order quantity | | 12052324 | Product description image file format is not supported | | 12052329 | A pre-order product can't be changed to a regular product | | 12052330 | product is not supported to list in designated sale platform | | 12052332 | The seller center is locked during shop integration, only editing stock and price is allowed | | 12052340 | product description image uri illegal | | 12052341 | The description images size cannot exceed limit. | | 12052342 | The description images space cannot exceed limit. | | 12052343 | Product description image format not support. | | 12052344 | The product description html syntax with error | | 12052345 | The product description html tag not support. | | 12052346 | The product description has Chinese characters | | 12052348 | The product description html tag required attribute is miss. | | 12052349 | The product description html tag not support nest. | | 12052350 | The product description html tag contain illegal attribute. | | 12052352 | The product description nest exceeding limit | | 12052357 | 'supplementary_sku_images' is only allowed when 'sku_img' is specified. Add an image to 'sku_img' and try again. | | 12052359 | save subscribe not support | | 12052360 | The video id is not exist. | | 12052361 | This base unit value count is not supported. The supported base unit values can be obtained from the Get Attribute API. | | 12052362 | SKU unit count is required. | | 12052364 | The warehouse is unavailable because this product cannot be shipped to the target market from this warehouse. | | 12052365 | The manufacturer lacks language version information for this market. | | 12052371 | Auction product is bidding when it is not supported to change product info | | 12052372 | Generate EU energy label image failed | | 12052375 | product list price is invalid | | 12052376 | list price not support | | 12052382 | Can't edit Dilayani Tokopedia warehouse quantity | | 12052383 | product list price exceed limit | | 12052385 | Please enter valid certificate expiration date | | 12052393 | Product locked for Promotion and stock can't be updated below current stock | | 12052402 | seller shipping template is empty | | 12052403 | The warehouse does not support fulfillment for the current shop. | | 12052404 | multi-warehouse not support customize logistics service | | 12052405 | The warehouse has not opened the subscribed logistics service | | 12052420 | warehouse didn't set logistics service | | 12052424 | Missing 'sale price' value | | 12052446 | Category is not open in this market | | 12052465 | warehouse is unavailable for eu gpr product | | 12052490 | The handling time must be within the allowed limits. | | 12052503 | If the inventory allocation mode is SHARED, the inventory quantity must be the same across all SKUs. | | 12052508 | The SKU ID in replicated_products is invalid and cannot be found. | | 12052509 | Missing seller_sku in replicated_products. You must indicate the seller_sku for all new SKUs. | | 12052510 | No matching seller_sku found in the source product. Ensure you indicate the seller_sku in both skus.seller_sku and replicated_products.skus.seller_sku. | | 12052511 | Missing SKU details in replicated_products. You must complete the SKU details. | | 12052512 | No replicas exist for this product. You can replicate the product first by using the Replicate Product endpoint. | | 12052513 | No replicas exist for this product in the stated region. You can replicate the product first by using the Replicate Product endpoint. | | 12052514 | Missing regions in replicated_products. The category was changed, therefore you must sync the product to all other markets where replicas exist. | | 12052515 | Missing regions in replicated_products. The sales attributes were changed, therefore you must sync the product to all other markets where replicas exist. | | 12052516 | Missing inventory details. You must include all warehouse IDs assigned to the SKU, along with the respective quantity. Do not omit any or add unrelated warehouses. | | 12052520 | product sale property image uri illegal | | 12052521 | The sale property images size over limit. | | 12052522 | Product sale property image is required | | 12052523 | Product sale property image format not support. | | 12052524 | The sale property image aspect ratio invalid | | 12052525 | The attribute max num cannot exceed 3. | | 12052526 | The attribute value max num over limit. | | 12052527 | The sale attribute id not exist. | | 12052528 | You can add images to only 1 product variation, which will serve as the primary variation for display in the product options gallery. | | 12052529 | The property value id not exist. | | 12052530 | The warehouse ' {{warehouse ID}} ' does not belong to this shop/seller. | | 12052531 | The warehouse is disabled. | | 12052532 | the warehouse not delivery warehouse | | 12052533 | Removal, addition, and change of warehouses are not permitted. Please specify the original warehouses for the SKUs. | | 12052534 | warehouse unable to delete | | 12052535 | Couldn't publish this product as you haven't set the return warehouse for your shop. Add the return warehouse information on TikTok Shop Seller Center first and try again. | | 12052550 | SKU property must contain all properties | | 12052553 | Sku id duplicate | | 12052554 | sku name contain Chinese characters | | 12052557 | The SKU ID does not belong to the product. | | 12052558 | Number of product skus exceed limit. | | 12052559 | The product with duplicate default sku. | | 12052560 | The SKU contains duplicate sales attribute. | | 12052570 | product price exceed limit | | 12052571 | Missing price for SKU(s) | | 12052572 | the sale price is invalid | | 12052574 | unit price config is invalid | | 12052592 | Identifier code already entered, cannot enter the same code twice | | 12052593 | The identifier code cannot be changed once be submitted | | 12052650 | product qualification image uri illegal | | 12052651 | The qualification images size over limit. | | 12052655 | qualification id not exist | | 12052656 | qualification id duplicate | | 12052657 | qualification image and pdf file is out of limit. | | 12052658 | product qualification file uri illegal | | 12052670 | The size chart image URI is invalid. Note: API users must use the URI generated by the Upload Product Image API. | | 12052671 | The sizechart images size over limit. | | 12052673 | Product sizechart image is required | | 12052700 | The seller is inactive. | | 12052701 | do not support cross-boarder seller create local product directly | | 12052702 | seller does not support pre-order | | 12052703 | Invalid seller tax number | | 12052704 | seller id not exist | | 12052706 | The minimum sales quantity should not be exceed limit | | 12052707 | Setting minimum sales quantity is not supported | | 12052712 | sku's pre_order is invalid | | 12052805 | Bundle does not support adding this product type | | 12052815 | product in bundle deal cannot set minimum sale quantity | | 12052832 | The sub-SKU coefficient associated with each combo SKU cannot exceed {{max_limit}}, and cannot less {{min_limit}}. | | 12052834 | The number of combo sku associated with a sku cannot exceed limit. | | 12052835 | Sub product ID not exist | | 12052836 | The category of the combo is inconsistent with the category of the main sub-product. | | 12052838 | The first-level categories of the sub-products in the combo are inconsistent | | 12052841 | The sub-sku relationship corresponding to different combo sku cannot be duplicated. | | 12052843 | The main sub-product in the combo cannot be changed | | 12052844 | The sub-sku is not in the sub-product | | 12052846 | combo does not support adding this product type | | 12052847 | The combo sku relationship cannot be changed | | 12052850 | The stock of combo does not support being edited. | | 12052853 | The sale property of combo mismatch. | | 12052857 | Combined products and normal products cannot be converted to each other. | | 12052859 | When the combined SKU is only associated with one sub-SKU, the coefficient of this sub-SKU cannot be less than 2. | | 12052863 | All SKU of a combined product need to be the combined SKU. | | 12052864 | Unable to add deactivated SKUs to the combined product. | | 12052881 | identity internal error | | 36009003 | Internal error. Please try again. If the issue persists after multiple attempts, please contact platform support. | | 12052901 | The product in its current status is not available for this operation. Change the product status and try again. | | 12052902 | The SKU list is empty. Either omit the list entirely, or provide all required details. | | 12052910 | Invalid input parameters. Refer to the API documentation for details. | | 12052915 | package weight unit and dimension unit miss match. | | 12052921 | Couldn't edit the inventory quantity because this product shares the inventory with the source shop | | 12052922 | edit fields limit | | 12052931 | The title must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052932 | The description must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052933 | Sales attribute names must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052934 | Sales attribute value names must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052935 | Product attribute value names must follow these formatting rules: it cannot contain HTML escape characters (e.g., ), emojis, or ASCII control characters (e.g., \u007F). It also cannot consist solely of symbols (e.g., //// or !@#$$$&), nor can it have more than 9 consecutive repeated characters (e.g., aaaaaaaaa or 111111111). | | 12052994 | seller is not toko seller | Is this content helpful?Helpful Not Helpful PreviousNext |