v50

latestOpenAPI 3.0.0raw.githubusercontent.com2026-05-29208421.4 MB
Product

Update product

Updates an existing product.

❗ Although some fields are not required to get a response 200 OK, if you don't send a field or send its value as empty or null, all previously configured information will be deleted, and boolean fields will turn to false. So, to update a product, you should get its data using the Get product by ID endpoint and use it as a template for the current request body.

Permissions

Any user or API key must have at least one of the appropriate License Manager resources to be able to successfully run this request. Otherwise they will receive a status code 403 error. These are the applicable resources for this endpoint:

ProductCategoryResource
CatalogContentProduct and SKU Management

There are no applicable predefined roles for this resource list. You must create a custom role and add at least one of the resources above in order to use this endpoint. To learn more about machine authentication at VTEX, see Authentication overview.

❗ To prevent integrations from having excessive permissions, consider the best practices for managing API keys when assigning License Manager roles to integrations.

put/api/catalog/pvt/product/{productId}

Path parameters

productIdinteger required
Example:1

Product's unique numerical identifier.

Headers

Content-Typestring required

Type of the content being sent.

Acceptstring required

HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.

Request body

Namestring required

Product's name. Limited to 150 characters.

DepartmentIdinteger

Department ID according to the product's category.

CategoryIdinteger required

Category ID associated with this product.

BrandIdinteger required

Brand ID associated with this product.

LinkIdstring

Slug that will be used to build the product page URL. If it not informed, it will be generated according to the product's name replacing spaces and special characters by hyphens (-).

RefIdstring

Product Reference Code. The limit for the product RefId is 100 characters.

IsVisibleboolean

Whether the product appears in search results and product listing pages (true) or doesn't (false). Typically used for gift items. Even when set as false, the product can still be added to the shopping cart. Although this isn't a mandatory field, if you don't send it in the request, its value will be automatically set to false.

Descriptionstring

Product description.

DescriptionShortstring

Short product description. This information can be displayed on both the product page and the shelf, using the following controls: Store Framework: $product.DescriptionShort. Legacy CMS Portal: <vtex.cmc:productDescriptionShort/>.

ReleaseDatestring

Used to assist in the ordering of the search result of the site. Using the O=OrderByReleaseDateDESC query string, you can pull this value and show the display order by release date. This attribute is also used as a condition for dynamic collections.

KeyWordsstring

Store Framework: Deprecated. Legacy CMS Portal: Keywords or synonyms related to the product, separated by comma (,). "Television", for example, can have a substitute word like "TV". This field is important to make your searches more comprehensive.

Titlestring

Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.

IsActiveboolean

Activate (true) or inactivate (false) product.

TaxCodestring

Product tax code, used for tax calculation.

MetaTagDescriptionstring

Brief description of the product for SEO. It is recommended not to exceed 150 characters.

SupplierIdinteger nullable

Deprecated field.

ShowWithoutStockboolean

If true, activates the Notify Me option when the product is out of stock.

AdWordsRemarketingCodestring nullable

This is a legacy field. Do not take this information into consideration.

LomadeeCampaignCodestring nullable

This is a legacy field. Do not take this information into consideration.

Scoreinteger

Value used to set the priority on the search result page.

Example request

{
  "Name": "Zoom Stefan Janoski Canvas RM SB Varsity Red",
  "DepartmentId": 2000089,
  "CategoryId": 2000090,
  "BrandId": 12121219,
  "LinkId": "stefan-janoski-canvas-varsity-red",
  "RefId": "sr_1_90",
  "IsVisible": true,
  "Description": "The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.",
  "DescriptionShort": "The Nike Zoom Stefan Janoski is made with a premium leather.",
  "ReleaseDate": "2019-01-01T00:00:00",
  "KeyWords": "Zoom,Stefan,Janoski",
  "Title": "Zoom Stefan Janoski Canvas RM SB Varsity Red",
  "IsActive": true,
  "TaxCode": "12345",
  "MetaTagDescription": "The Nike Zoom Stefan Janoski Men's Shoe is made with a premium leather upper for superior durability and a flexible midsole for all-day comfort. A tacky gum rubber outsole delivers outstanding traction.",
  "ShowWithoutStock": true,
  "Score": 1
}

Response

OK

Idinteger

Product's unique numerical identifier.

Namestring

Product's name. Limited to 150 characters.

DepartmentIdinteger

Department ID according to the product's category.

CategoryIdinteger

Category ID associated with this product.

BrandIdinteger

Brand ID associated with this product.

LinkIdstring

Slug that will be used to build the product page URL. If not informed, it will be generated according to the product's name replacing spaces and special characters by hyphens (-).

RefIdstring

Product reference code.

IsVisibleboolean

Shows (true) or hides (false) the product in search result and product pages, but the product can still be added to the shopping cart. Usually applicable for gifts.

Descriptionstring

Product description.

DescriptionShortstring

Short product description. This information can be displayed on both the product page and the shelf, using the following controls: Store Framework: $product.DescriptionShort. Legacy CMS Portal: <vtex.cmc:productDescriptionShort/>.

ReleaseDatestring

Used to assist in the ordering of the search result of the site. Using the O=OrderByReleaseDateDESC query string, you can pull this value and show the display order by release date. This attribute is also used as a condition for dynamic collections.

KeyWordsstring

Store Framework: Deprecated. Legacy CMS Portal: Keywords or synonyms related to the product, separated by comma (,). "Television", for example, can have a substitute word like "TV". This field is important to make your searches more comprehensive.

Titlestring

Product's Title tag. Limited to 150 characters. It is presented in the browser tab and corresponds to the title of the product page. This field is important for SEO.

IsActiveboolean

Activate (true) or inactivate (false) product.

TaxCodestring

Product tax code, used for tax calculation.

MetaTagDescriptionstring

Brief description of the product for SEO. It's recommended that you don't exceed 150 characters.

SupplierIdinteger nullable

Deprecated field.

ShowWithoutStockboolean

If true, activates the Notify Me option when the product is out of stock.

AdWordsRemarketingCodestring

This is a legacy field. Do not take this information into consideration.

LomadeeCampaignCodestring

This is a legacy field. Do not take this information into consideration.

Scoreinteger

Value used to set the priority on the search result page.