integrations.sh
← all integrations

vtex.local – Catalog-API

OpenAPI apis-guru

Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

Methods for collecting product/SKU catalog data, categories, brands and other information. All content that comes between {{}} keys must be replaced with the correct data before performing the request.

Index

  • - Here you can consult, create, or update a Product. For more information, check .
  • - You can consult, create, or update additional information of a Product. For more information, check .
  • - Here you can consult, create, or update an SKU. For more information, check .
  • - You can consult, create, or update an SKU Complement. An SKU Complement is a new SKU that has a Parent SKU.
  • - Here you can consult, create, or update an SKU unique identification code (barcode).
  • - You can consult, create, or update an SKU Attachment. An attachment is used to add custom information about the item. For more information, check .
  • - Here you can consult, create, or update an SKU File. An SKU File is an image associated with an SKU.
  • - You can consult, create, or update an SKU Kit. A kit is an SKU composed of one or more SKUs. For more information, check .
  • - Here you can consult and delete an SKU Seller. An SKU Seller is a seller associated with an SKU. For more information, check .
  • - You can create, update, or delete an SKU Service. A service is an item that may come with a product, optionally, and with a cost. For more information, check .
  • - Here you can associate or disassociate an Attachment to an SKU Service.
  • - You can create, update, or delete an SKU Service Type. A service type is the behavior configuration of a service.
  • - Here you can create, update, or delete an SKU Service Value. Service value is how much the customer will be charged for the service.
  • - You can consult, create, or delete an SKU Specification. SKU Specification is used to create site browsing filters and to differentiate SKUs within the product page. For more information, check .
  • - Here you can can consult, create, or delete an SKU, Brand or Category from a Subcollection, as well as create, delete and update subcollections. A subcollection is a group type associated with a collection. For more information, check .
  • - You consult, create, or update a Category. A category is a hierarchical level of product classification. For more information, check .
  • - Here you can create and delete a Similar Category to a Product. This way the Product will be shown in both categories (main and similar).
  • - You can consult all Specifications by Category. For more information about Specification, check .
  • - You can consult, create, update, or delete a Brand. A brand is a product property. For more information, check .
  • - You can consult, create, or update an Attachment. An attachment is used to add custom information about the item. For more information, check .
  • - The new launch allowed us to engineer new endpoints that create and manage Collections. For more information, check .
  • - Here you can consult, create, update, or delete a Collection. A collection is a group of items. For more information, check .
  • - Here you can consult, create, or delete a Specification. A specification is used to create site browsing filters and to differentiate SKUs and Products within the product page. For more information, check .
  • - You can consult, create, or update a Specification Field. A specification field allows you to present more detailed items.
  • - Here you can consult, create, or update a Specification Field Value.
  • - You can consult, create, or update a Specification Value.
  • - Here you can consult, create, or update a Specification Group.
  • - You can consult or delete a Non Structured Specification.
  • - Here you can consult Sales Channel.
  • - You can consult, create, or update a Seller. A seller is the product owner. For more information, check .
  • - Here you can consult, create, or update a Supplier.
  • - You can create, update, or delete a Trade Policy. Trade policy is required when one of the above factors is different among the sale channel. For more information, check .
  • - Here you can consult Product Indexed information.
  • - Here you can consult commercial conditions registered in the store.

Common parameters

Parameter nameDescription
{{accountName}}Store account name
{{environment}The environment that will be called. Change for vtexcommercestable or vtexcommmercebeta
{{X-VTEX-API-AppKey}}Located in the headers of the requests, user authentication key
{{X-VTEX-API-AppToken}}Located in the headers of the requests, authentication password
Homepage
https://api.apis.guru/v2/specs/vtex.local:Catalog-API/1.0.json
Provider
vtex.local:Catalog-API / Catalog-API
OpenAPI version
3.0.0
Spec (JSON)
https://api.apis.guru/v2/specs/vtex.local/Catalog-API/1.0/openapi.json
Spec (YAML)
https://api.apis.guru/v2/specs/vtex.local/Catalog-API/1.0/openapi.yaml

Tools (164)

Extracted live via the executor SDK.

  • attachment.deleteApiCatalogPvtAttachmentAttachmentid

    Deletes a previously existing SKU attachment.

  • attachment.getApiCatalogPvtAttachmentAttachmentid

    Gets information about a registered attachment.

    ⚠️ To understand the specific syntax for Assembly Options attachments, read the documentation.

    Response body example

    json
    {  "Id": 8,  "Name": "Test",  "IsRequired": true,  "IsActive": true,  "Domains": [    {      "FieldName": "Basic test",      "MaxCaracters": "",      "DomainValues": "[1-2]#9[1-1][1]basic;#11[0-1][1]basic"    },    {      "FieldName": "teste",      "MaxCaracters": "",      "DomainValues": "[0-10]#8[0-3][0]medium;#9[0-3][0]medium;#10[0-3][0]medium;#11[0-3][0]medium;#36[0-3][0]medium;#37[0-3][0]medium;#38[0-3][0]medium"    }  ]}
  • attachment.getApiCatalogPvtAttachments

    Retrieves information about all registered attachments.

    ⚠️ To understand the specific syntax for Assembly Options attachments, read the documentation.

    Response body example

    json
    {    "Page": 1,    "Size": 11,    "TotalRows": 11,    "TotalPage": 1,    "Data": [        {            "Id": 1,            "Name": "Acessórios do bicho",            "IsRequired": true,            "IsActive": true,            "Domains": [                {                    "FieldName": "extra",                    "MaxCaracters": "",                    "DomainValues": "[0-3]#1[1-2][1]pricetable1;#3[0-2][0]pricetable2;#5[0-2][0]pricetable3"                }            ]        },        {            "Id": 2,            "Name": "Sobrenome",            "IsRequired": false,            "IsActive": true,            "Domains": []        },        {            "Id": 3,            "Name": "Assinatura Teste",            "IsRequired": false,            "IsActive": true,            "Domains": [                {                    "FieldName": " vtex.subscription.key.frequency",                    "MaxCaracters": "",                    "DomainValues": "1 day, 7 day, 1 month, 6 month"                },                {                    "FieldName": "vtex.subscription.key.validity.begin",                    "MaxCaracters": "",                    "DomainValues": "1"                },                {                    "FieldName": "vtex.subscription.key.validity.end",                    "MaxCaracters": "",                    "DomainValues": "31"                },                {                    "FieldName": "vtex.subscription.key.purchaseday",                    "MaxCaracters": "",                    "DomainValues": "1, 2, 20, 31"                }            ]        },        {            "Id": 5,            "Name": "teste",            "IsRequired": false,            "IsActive": true,            "Domains": []        },        {            "Id": 6,            "Name": "teste2",            "IsRequired": false,            "IsActive": true,            "Domains": []        },        {            "Id": 7,            "Name": "vtex.subscription.teste3",            "IsRequired": false,            "IsActive": true,            "Domains": []        },        {            "Id": 8,            "Name": "teste api nova",            "IsRequired": true,            "IsActive": true,            "Domains": [                {                    "FieldName": "Basic teste",                    "MaxCaracters": "",                    "DomainValues": "[1-2]#9[1-1][1]basic;#11[0-1][1]basic"                },                {                    "FieldName": "teste",                    "MaxCaracters": "",                    "DomainValues": "[0-10]#8[0-3][0]medium;#9[0-3][0]medium;#10[0-3][0]medium;#11[0-3][0]medium;#36[0-3][0]medium;#37[0-3][0]medium;#38[0-3][0]medium"                }            ]        },        {            "Id": 9,            "Name": "vtex.subscription.teste",            "IsRequired": false,            "IsActive": true,            "Domains": []        },        {            "Id": 10,            "Name": "Montagens",            "IsRequired": false,            "IsActive": true,            "Domains": []        },        {            "Id": 11,            "Name": "vtex.subscription.subscription",            "IsRequired": false,            "IsActive": true,            "Domains": [                {                    "FieldName": "vtex.subscription.key.frequency",                    "MaxCaracters": "15",                    "DomainValues": "1 month"                },                {                    "FieldName": "vtex.subscription.key.purchaseday",                    "MaxCaracters": "15",                    "DomainValues": "1,15,28"                }            ]        },        {            "Id": 12,            "Name": "T-Shirt Customization",            "IsRequired": false,            "IsActive": true,            "Domains": [                {                    "FieldName": "T-Shirt Name",                    "MaxCaracters": "15",                    "DomainValues": "[]"                }            ]        }    ]}
  • attachment.postApiCatalogPvtAttachment

    Creates a new SKU attachment.

    ⚠️ To understand the specific syntax for Assembly Options attachments, read the documentation.

    Request body example

    json
    {  "Name": "Test",  "IsRequired": true,  "IsActive": true,  "Domains": [    {      "FieldName": "Basic test",      "MaxCaracters": "",      "DomainValues": "[1-2]#9[1-1][1]basic;#11[0-1][1]basic"    },    {      "FieldName": "teste",      "MaxCaracters": "",      "DomainValues": "[0-10]#8[0-3][0]medium;#9[0-3][0]medium;#10[0-3][0]medium;#11[0-3][0]medium;#36[0-3][0]medium;#37[0-3][0]medium;#38[0-3][0]medium"    }  ]}

    Response body example

    json
    {  "Id": 8,  "Name": "Test",  "IsRequired": true,  "IsActive": true,  "Domains": [    {      "FieldName": "Basic test",      "MaxCaracters": "",      "DomainValues": "[1-2]#9[1-1][1]basic;#11[0-1][1]basic"    },    {      "FieldName": "teste",      "MaxCaracters": "",      "DomainValues": "[0-10]#8[0-3][0]medium;#9[0-3][0]medium;#10[0-3][0]medium;#11[0-3][0]medium;#36[0-3][0]medium;#37[0-3][0]medium;#38[0-3][0]medium"    }  ]}
  • attachment.putApiCatalogPvtAttachmentAttachmentid

    Updates a previously existing SKU attachment with new information.

    ⚠️ To understand the specific syntax for Assembly Options attachments, read the documentation.

    Request body example

    json
    {  "Name": "Test",  "IsRequired": true,  "IsActive": true,  "Domains": [    {      "FieldName": "Basic test",      "MaxCaracters": "",      "DomainValues": "[1-2]#9[1-1][1]basic;#11[0-1][1]basic"    },    {      "FieldName": "teste",      "MaxCaracters": "",      "DomainValues": "[0-10]#8[0-3][0]medium;#9[0-3][0]medium;#10[0-3][0]medium;#11[0-3][0]medium;#36[0-3][0]medium;#37[0-3][0]medium;#38[0-3][0]medium"    }  ]}

    Response body example

    json
    {  "Id": 8,  "Name": "Test",  "IsRequired": true,  "IsActive": true,  "Domains": [    {      "FieldName": "Basic test",      "MaxCaracters": "",      "DomainValues": "[1-2]#9[1-1][1]basic;#11[0-1][1]basic"    },    {      "FieldName": "teste",      "MaxCaracters": "",      "DomainValues": "[0-10]#8[0-3][0]medium;#9[0-3][0]medium;#10[0-3][0]medium;#11[0-3][0]medium;#36[0-3][0]medium;#37[0-3][0]medium;#38[0-3][0]medium"    }  ]}
  • brand.brandList

    Retrieves all Brands registered in the store's Catalog.

    ⚠️ This route's response is limited to 20k results. If you need to obtain more results, please use the endpoint instead to get a paginated response.

    Response body example

    json
    [  {    "id": 9280,    "name": "Brand",    "isActive": true,    "title": "Brand",    "metaTagDescription": "Brand",    "imageUrl": null  },  {    "id": 2000000,    "name": "Orma Carbon",    "isActive": true,    "title": "Orma Carbon",    "metaTagDescription": "Orma Carbon",    "imageUrl": null  },  {    "id": 2000001,    "name": "Pedigree",    "isActive": true,    "title": "Pedigree",    "metaTagDescription": "",    "imageUrl": null  }]
  • brand.brandListPerPage

    Retrieves all Brands registered in the store's Catalog by page number.

    Response body example

    json
    {  "items": [    {      "id": 2000000,      "name": "Farm",      "isActive": true,      "title": "Farm",      "metaTagDescription": "Farm",      "imageUrl": null    },    {      "id": 2000001,      "name": "Adidas",      "isActive": true,      "title": "",      "metaTagDescription": "",      "imageUrl": null    },    {      "id": 2000002,      "name": "Brastemp",      "isActive": true,      "title": "Brastemp",      "metaTagDescription": "Brastemp",      "imageUrl": null    }  ],    "paging": {      "page": 1,        "perPage": 3,          "total": 6,            "pages": 2    }}
  • brand.deleteApiCatalogPvtBrandBrandId

    Deletes an existing Brand.

  • brand.getApiCatalogPvtBrandBrandId

    Retrieves information about a specific Brand and its context.

    Response body example

    json
    {  "Id": 2000013,  "Name": "Orma Carbon",  "Text": "Orma Carbon",  "Keywords": "orma",  "SiteTitle": "Orma Carbon",  "Active": true,  "MenuHome": true,  "AdWordsRemarketingCode": "",  "LomadeeCampaignCode": "",  "Score": null,  "LinkId": "orma-carbon"}
  • brand.getCatalogSystemPvt

    Retrieves a specific Brand by its ID.

    Response body example

    json
    {  "id": 7000000,  "name": "Pedigree",  "isActive": true,  "title": "Pedigree",  "metaTagDescription": "Pedigree",  "imageUrl": null}
  • brand.postApiCatalogPvtBrand

    Creates a new Brand.

    Request and response body example

    json
    {  "Id": 2000013,  "Name": "Orma Carbon",  "Text": "Orma Carbon",  "Keywords": "orma",  "SiteTitle": "Orma Carbon",  "Active": true,  "MenuHome": true,  "AdWordsRemarketingCode": "",  "LomadeeCampaignCode": "",  "Score": null,  "LinkId": "orma-carbon"}
  • brand.putApiCatalogPvtBrandBrandId

    Updates a previously existing Brand.

    Request and response body example

    json
    {  "Id": 2000013,  "Name": "Orma Carbon",  "Text": "Orma Carbon",  "Keywords": "orma",  "SiteTitle": "Orma Carbon",  "Active": true,  "MenuHome": true,  "AdWordsRemarketingCode": "",  "LomadeeCampaignCode": "",  "Score": null,  "LinkId": "orma-carbon"}
  • category.categoryTree

    Retrieves the Category Tree of your store. Get all the category levels registered in the Catalog or define the level up to which you want to get.

    📘 Onboarding guide

    Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

    Response body example

    json
    [    {        "id": 1,        "name": "Alimentação",        "hasChildren": true,        "url": "https://lojadobreno.vtexcommercestable.com.br/alimentacao",        "children": [            {                "id": 6,                "name": "Bebedouro",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/alimentacao/bebedouro",                "children": [],                "Title": "Bebedouro para Gatos",                "MetaTagDescription": ""            },            {                "id": 7,                "name": "Comedouro",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/alimentacao/comedouro",                "children": [],                "Title": "Comedouro para Gatos",                "MetaTagDescription": ""            },            {                "id": 8,                "name": "Biscoitos",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/alimentacao/biscoitos",                "children": [],                "Title": "Biscoitos para Gatos",                "MetaTagDescription": ""            },            {                "id": 9,                "name": "Petiscos",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/alimentacao/petiscos",                "children": [],                "Title": "Petiscos para Gatos",                "MetaTagDescription": ""            },            {                "id": 10,                "name": "Ração Seca",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/alimentacao/racao-seca",                "children": [],                "Title": "Ração Seca para Gatos",                "MetaTagDescription": ""            },            {                "id": 11,                "name": "Ração Úmida",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/alimentacao/racao-umida",                "children": [],                "Title": "Ração Úmida para Gatos",                "MetaTagDescription": ""            }        ],        "Title": "Alimentação para Gatos",        "MetaTagDescription": ""    },    {        "id": 2,        "name": "Brinquedos",        "hasChildren": true,        "url": "https://lojadobreno.vtexcommercestable.com.br/brinquedos",        "children": [            {                "id": 12,                "name": "Bolinhas",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/brinquedos/bolinhas",                "children": [],                "Title": "Bolinhas para Gatos",                "MetaTagDescription": ""            },            {                "id": 13,                "name": "Ratinhos",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/brinquedos/ratinhos",                "children": [],                "Title": "Ratinhos",                "MetaTagDescription": ""            },            {                "id": 19,                "name": "Arranhador para gato",                "hasChildren": false,                "url": "https://lojadobreno.vtexcommercestable.com.br/brinquedos/arranhador-para-gato",                "children": [],                "Title": "Brinquedo Arranhador para gatos",                "MetaTagDescription": "Arranhador gatos é indispensável no lar com felinos. Ideais para afiar as unhas e garantir a diversão"            }        ],        "Title": "Brinquedos para Gatos",        "MetaTagDescription": ""    }]
  • category.getApiCatalogPvtCategoryCategoryId

    Retrieves general information about a Category.

    Response body example

    json
    {    "Id": 1,    "Name": "Home Appliances",    "FatherCategoryId": null,    "Title": "Home Appliances",    "Description": "Discover our range of home appliances. Find smart vacuums, kitchen and laundry appliances to suit your needs. Order online now.",    "Keywords": "Kitchen, Laundry, Appliances",    "IsActive": true,    "LomadeeCampaignCode": "",    "AdWordsRemarketingCode": "",    "ShowInStoreFront": true,    "ShowBrandFilter": true,    "ActiveStoreFrontLink": true,    "GlobalCategoryId": 3367,    "StockKeepingUnitSelectionMode": "LIST",    "Score": null,    "LinkId": "Alimentacao",    "HasChildren": true}
  • category.postApiCatalogPvtCategory

    Creates a new Category.

    If there is a need to create a new category with a specific custom ID, specify the Id (integer) in the request. Otherwise, VTEX will generate the ID automatically.

    Request body example (automatically generated ID)

    json
    {    "Name": "Home Appliances",    "FatherCategoryId": null,    "Title": "Home Appliances",    "Description": "Discover our range of home appliances. Find smart vacuums, kitchen and laundry appliances to suit your needs. Order online now.",    "Keywords": "Kitchen, Laundry, Appliances",    "IsActive": true,    "LomadeeCampaignCode": null,    "AdWordsRemarketingCode": null,    "ShowInStoreFront": true,    "ShowBrandFilter": true,    "ActiveStoreFrontLink": true,    "GlobalCategoryId": 604,    "StockKeepingUnitSelectionMode": "SPECIFICATION",    "Score": null}

    Request body example (custom ID)

    json
    {    "Id": 1,    "Name": "Home Appliances",    "FatherCategoryId": null,    "Title": "Home Appliances",    "Description": "Discover our range of home appliances. Find smart vacuums, kitchen and laundry appliances to suit your needs. Order online now.",    "Keywords": "Kitchen, Laundry, Appliances",    "IsActive": true,    "LomadeeCampaignCode": null,    "AdWordsRemarketingCode": null,    "ShowInStoreFront": true,    "ShowBrandFilter": true,    "ActiveStoreFrontLink": true,    "GlobalCategoryId": 604,    "StockKeepingUnitSelectionMode": "SPECIFICATION",    "Score": null}

    Response body example

    json
    {    "Id": 1,    "Name": "Home Appliances",    "FatherCategoryId": null,    "Title": "Home Appliances",    "Description": "Discover our range of home appliances. Find smart vacuums, kitchen and laundry appliances to suit your needs. Order online now.",    "Keywords": "Kitchen, Laundry, Appliances",    "IsActive": true,    "LomadeeCampaignCode": "",    "AdWordsRemarketingCode": "",    "ShowInStoreFront": true,    "ShowBrandFilter": true,    "ActiveStoreFrontLink": true,    "GlobalCategoryId": 604,    "StockKeepingUnitSelectionMode": "LIST",    "Score": null,    "LinkId": "Alimentacao",    "HasChildren": true}
  • category.putApiCatalogPvtCategoryCategoryId

    Updates a previously existing Category.

    Request body example

    json
    {    "Name": "Home Appliances",    "FatherCategoryId": null,    "Title": "Home Appliances",    "Description": "Discover our range of home appliances. Find smart vacuums, kitchen and laundry appliances to suit your needs. Order online now.",    "Keywords": "Kitchen, Laundry, Appliances",    "IsActive": true,    "LomadeeCampaignCode": null,    "AdWordsRemarketingCode": null,    "ShowInStoreFront": true,    "ShowBrandFilter": true,    "ActiveStoreFrontLink": true,    "GlobalCategoryId": 604,    "StockKeepingUnitSelectionMode": "SPECIFICATION",    "Score": null}

    Response body example

    json
    {    "Id": 1,    "Name": "Home Appliances",    "FatherCategoryId": null,    "Title": "Home Appliances",    "Description": "Discover our range of home appliances. Find smart vacuums, kitchen and laundry appliances to suit your needs. Order online now.",    "Keywords": "Kitchen, Laundry, Appliances",    "IsActive": true,    "LomadeeCampaignCode": "",    "AdWordsRemarketingCode": "",    "ShowInStoreFront": true,    "ShowBrandFilter": true,    "ActiveStoreFrontLink": true,    "GlobalCategoryId": 604,    "StockKeepingUnitSelectionMode": "LIST",    "Score": null,    "LinkId": "Alimentacao",    "HasChildren": true}
  • categorySpecification.specificationsByCategoryId

    Retrieves all specifications from a category by its ID.

    Response body example

    json
    [    {        "Name": "Specification A",        "CategoryId": 1,        "FieldId": 33,        "IsActive": true,        "IsStockKeepingUnit": false    },    {        "Name": "Specification B",        "CategoryId": 1,        "FieldId": 34,        "IsActive": true,        "IsStockKeepingUnit": false    },    {        "Name": "Specification C",        "CategoryId": 1,        "FieldId": 35,        "IsActive": false,        "IsStockKeepingUnit": false    }]
  • categorySpecification.specificationsTreeByCategoryId

    Lists all specifications including the current category and the level zero specifications from a category by its ID.

    Response body example

    json
    [    {        "Name": "Specification A",        "CategoryId": 1,        "FieldId": 33,        "IsActive": true,        "IsStockKeepingUnit": false    },    {        "Name": "Specification B",        "CategoryId": 1,        "FieldId": 34,        "IsActive": true,        "IsStockKeepingUnit": false    },    {        "Name": "Specification C",        "CategoryId": 1,        "FieldId": 35,        "IsActive": false,        "IsStockKeepingUnit": false    }]
  • collectionBeta.getAllCollections

    Retrieves a list of all collections matching a filter.

  • collectionBeta.getAllInactiveCollections

    Retrieves a list of Collection IDs of the inactive Collections.

  • collectionBeta.getCollectionsbyseachterms

    Retrieves a list of collections matching a filter.

  • collectionBeta.getImportfileexample

    Imports a sample of the imported XLS file. You need to save the response file to your device.

  • collectionBeta.getProductsfromacollection

    Retrieves information about the products from a collection.

  • collectionBeta.postAddproductsbyimportfile

    Adds products to a collection from the request body file. The file must be an imported template.

  • collectionBeta.postCreateCollection

    Creates a new collection.

  • collectionBeta.postRemoveproductsbyimportfile

    Removes products from a collection from the request body file. The file must be an imported template.

  • commercialConditions.getAllCommercialConditions

    Lists all commercial conditions on the store.

    Response body example

    json
    [    {        "Id": 1,        "Name": "Padrão",        "IsDefault": true    },    {        "Id": 2,        "Name": "Teste Fast",        "IsDefault": false    }]
  • commercialConditions.getCommercialConditions

    Retrieves information of a commercial condition by its ID.

    Response body example

    json
    {    "Id": 1,    "Name": "Padrão",    "IsDefault": true}
  • giftList.getGiftList

    Retrieves information about a Gift List by its ID.

  • legacyCollection.deleteApiCatalogPvtCollectionCollectionId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Deletes a previously existing Collection.

  • legacyCollection.getApiCatalogPvtCollectionCollectionId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Retrieves general information of a Collection.

    Response body example

    json
    {    "Id": 159,    "Name": "Winter",    "Description": null,    "Searchable": false,    "Highlight": false,    "DateFrom": "2021-09-27T10:47:00",    "DateTo": "2027-09-27T10:47:00",    "TotalProducts": 0,    "Type": "Manual"}
  • legacyCollection.postApiCatalogPvtCollection

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Creates a new Collection.

    Request body example

    json
    {    "Name": "Winter",    "Searchable": false,    "Highlight": false,    "DateFrom": "2021-09-27T10:47:00",    "DateTo": "2027-09-27T10:47:00"}

    Response body example

    json
    {    "Id": 159,    "Name": "Winter",    "Description": null,    "Searchable": false,    "Highlight": false,    "DateFrom": "2021-09-27T10:47:00",    "DateTo": "2027-09-27T10:47:00",    "TotalProducts": 0,    "Type": "Manual"}
  • legacyCollection.putApiCatalogPvtCollectionCollectionId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Updates a previously created Collection.

    Request body example

    json
    {    "Name": "Winter",    "Searchable": false,    "Highlight": false,    "DateFrom": "2021-09-27T10:47:00",    "DateTo": "2027-09-27T10:47:00"}

    Response body example

    json
    {    "Id": 159,    "Name": "Winter",    "Description": null,    "Searchable": false,    "Highlight": false,    "DateFrom": "2021-09-27T10:47:00",    "DateTo": "2027-09-27T10:47:00",    "TotalProducts": 0,    "Type": "Manual"}
  • legacySubcollection.deleteApiCatalogPvtSubcollectionSubCollectionId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Deletes a previously created Subcollection, which is a within a Collection.

  • legacySubcollection.deleteApiCatalogPvtSubcollectionSubCollectionIdBrandBrandId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Deletes a Brand from a Subcollection, which is a within a Collection.

  • legacySubcollection.deleteApiCatalogPvtSubcollectionSubCollectionIdBrandCategoryId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Deletes a Category from a Subcollection, which is a within a Collection.

  • legacySubcollection.deleteApiCatalogPvtSubcollectionSubCollectionIdStockkeepingunitSkuId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Deletes an SKU from a Subcollection, which is a within a Collection.

  • legacySubcollection.getApiCatalogPvtCollectionCollectionIdSubcollection

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Retrieves all Subcollections given a Collection ID. A Subcollection is a within a Collection.

    Response body example

    json
    [    {        "Id": 12,        "CollectionId": 149,        "Name": "Subcollection",        "Type": "Inclusive",        "PreSale": false,        "Release": true    },    {        "Id": 13,        "CollectionId": 149,        "Name": "Test",        "Type": "Exclusive",        "PreSale": true,        "Release": false    },    {        "Id": 14,        "CollectionId": 149,        "Name": "asdfghj",        "Type": "Inclusive",        "PreSale": false,        "Release": false    }]
  • legacySubcollection.getApiCatalogPvtSubcollectionSubCollectionId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Retrieves information about a Subcollection, which is a within a Collection.

    Response body example

    json
    {    "Id": 13,    "CollectionId": 149,    "Name": "Test",    "Type": "Exclusive",    "PreSale": true,    "Release": false}
  • legacySubcollection.postApiCatalogPvtCollectionCollectionIdPosition

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Edits the position of an SKU that already exists in the Subcollection, which is a within a Collection.

    Request body example

    json
    {     "skuId": 1,     "position": 1,     "subCollectionId": 17}
  • legacySubcollection.postApiCatalogPvtSubcollection

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Creates a new Subcollection, which is a within a Collection. A Subcollection can be either “Exclusive” (all the products contained in it will not be used) or “Inclusive” (all the products contained in it will be used).

    Request body example

    json
    {    "CollectionId": 149,    "Name": "Test",    "Type": "Exclusive",    "PreSale": true,    "Release": false}

    Response body example

    json
    {    "Id": 13,    "CollectionId": 149,    "Name": "Test",    "Type": "Exclusive",    "PreSale": true,    "Release": false}
  • legacySubcollection.postApiCatalogPvtSubcollectionSubCollectionIdBrand

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Associates a single Brand to a Subcollection, which is a within a Collection.

    Request body example

    json
    {    "BrandId": 2000000}

    Response body example

    json
    {    "SubCollectionId": 17,    "BrandId": 2000000}
  • legacySubcollection.postApiCatalogPvtSubcollectionSubCollectionIdCategory

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Associates a single Category to a Subcollection, which is a within a Collection.

    Request body example

    json
    {    "CategoryId": 1}

    Response body example

    json
    {    "SubCollectionId": 17,    "CategoryId": 1}
  • legacySubcollection.postApiCatalogPvtSubcollectionSubCollectionIdStockkeepingunit

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Associates a single SKU to a Subcollection, which is a within a Collection.

    Request body example

    json
    {    "SkuId": 1}

    Response body example

    json
    {    "SubCollectionId": 17,    "SkuId": 1}
  • legacySubcollection.putApiCatalogPvtSubcollectionSubCollectionId

    ⚠️ There are two ways to configure collections, through Legacy CMS Portal or using the Beta Collection module. This endpoint is compatible with .

    Updates a previously created Subcollection, which is a within a Collection.

    Request or response body example

    json
    {    "CollectionId": 149,    "Name": "Test",    "Type": "Exclusive",    "PreSale": true,    "Release": false}
  • nonStructuredSpecification.deleteApiCatalogPvtSpecificationNonstructured

    Deletes unmapped Specifications of a Seller'S SKU in a Marketplace by SKU ID.

  • nonStructuredSpecification.deleteApiCatalogPvtSpecificationNonstructuredId

    Deletes unmapped Specifications of a Seller'S SKU in a Marketplace by its unique ID.

  • nonStructuredSpecification.getApiCatalogPvtSpecificationNonstructured

    Gets general information about unmapped Specifications of a Seller's SKU in a Marketplace by SKU ID.

    Response body example

    json
    [{    "Id": 1010,    "SkuId": 310119072,    "SpecificationName": "size",    "SpecificationValue": "Small"}]
  • nonStructuredSpecification.getApiCatalogPvtSpecificationNonstructuredId

    Retrieves general information about unmapped Specifications of a Seller's SKU in a Marketplace.

    Response body example

    json
    {    "Id": 1010,    "SkuId": 310119072,    "SpecificationName": "size",    "SpecificationValue": "Small"}
  • product.getProductbyid

    Retrieves a specific Product by its ID. This information is exactly what is needed to create a new Product.

    📘 Onboarding guide

    Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

  • product.postApiCatalogPvtProduct

    This endpoint allows two types of request:

    Type 1: Creating a new Product as well as a new Category path (including subcategories) and a new Brand by using CategoryPath and BrandName parameters.

    Type 2: Creating a new Product given an existing BrandId and an existing CategoryId.

    When creating a product, regardless of the type of request, if there is a need to create a new product with a specific custom product ID, specify the Id (integer) in the request body. Otherwise, VTEX will generate the ID automatically.

    Request body examples

    Type 1

    Request to create a product, associating it to a new Category and a new Brand by using CategoryPath and BrandName:

    json
    {    "Name": "Black T-Shirt",    "CategoryPath": "Mens/Clothing/T-Shirts",    "BrandName": "Nike",    "RefId": "31011706925",    "Title": "Black T-Shirt",    "LinkId": "tshirt-black",    "Description": "This is a cool Tshirt",    "ReleaseDate": "2022-01-01T00:00:00",    "IsVisible": true,    "IsActive": true,    "TaxCode": "",    "MetaTagDescription": "tshirt black",    "ShowWithoutStock": true,    "Score": 1}

    Type 2

    Request to create a product, associating it to an existing CategoryId and BrandId:

    json
    {   "Name": "insert product test",   "DepartmentId": 1,   "CategoryId": 2,   "BrandId": 2000000,   "LinkId": "insert-product-test",   "RefId": "310117869",   "IsVisible": true,   "Description": "texto de descrição",   "DescriptionShort": "Utilize o CEP 04548-005 para frete grátis",   "ReleaseDate": "2019-01-01T00:00:00",   "KeyWords": "teste,teste2",   "Title": "product de teste",   "IsActive": true,   "TaxCode": "",   "MetaTagDescription": "tag test",   "SupplierId": 1,   "ShowWithoutStock": true,   "AdWordsRemarketingCode": null,   "LomadeeCampaignCode": null,   "Score": 1}

    Response body example

    json
    {   "Id": 52,   "Name": "insert product test",   "DepartmentId": 1,   "CategoryId": 2,   "BrandId": 2000000,   "LinkId": "insert-product-test",   "RefId": "310117869",   "IsVisible": true,   "Description": "texto de descrição",   "DescriptionShort": "Utilize o CEP 04548-005 para frete grátis",   "ReleaseDate": "2019-01-01T00:00:00",   "KeyWords": "teste,teste2",   "Title": "product de teste",   "IsActive": true,   "TaxCode": "",   "MetaTagDescription": "tag test",   "SupplierId": 1,   "ShowWithoutStock": true,   "AdWordsRemarketingCode": null,   "LomadeeCampaignCode": null,   "Score": 1}

    📘 Onboarding guide

    Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

  • product.productAndSkuIds

    Retrieves the IDs of products and SKUs.

    📘 Onboarding guide

    Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

  • product.productandTradePolicy

    Retrieves a specific product's general information as name, description and the trade policies that it is included.

  • product.productbyRefId

    Retrieves a specific product by its Reference ID.

  • product.productVariations

    Retrieves data about the product and all SKUs related to it by the product's ID.

    Response body example

    json
    {    "productId": 9,    "name": "Camisa Masculina",    "salesChannel": "2",    "available": true,    "displayMode": "lista",    "dimensions": [        "Cores",        "Tamanho",        "País de origem",        "Gênero"    ],    "dimensionsInputType": {        "Cores": "Combo",        "Tamanho": "Combo",        "País de origem": "Combo",        "Gênero": "Combo"    },    "dimensionsMap": {        "Cores": [            "Amarelo",            "Azul",            "Vermelho"        ],        "Tamanho": [            "P",            "M",            "G"        ],        "País de origem": [            "Brasil"        ],        "Gênero": [            "Masculino"        ]    },    "skus": [        {            "sku": 310118454,            "skuname": "Amarela - G",            "dimensions": {                "Cores": "Amarelo",                "Tamanho": "G",                "País de origem": "Brasil",                "Gênero": "Masculino"            },            "available": false,            "availablequantity": 0,            "cacheVersionUsedToCallCheckout": null,            "listPriceFormated": "R$ 0,00",            "listPrice": 0,            "taxFormated": "R$ 0,00",            "taxAsInt": 0,            "bestPriceFormated": "R$ 9.999.876,00",            "bestPrice": 999987600,            "spotPrice": 999987600,            "installments": 0,            "installmentsValue": 0,            "installmentsInsterestRate": null,            "image": "https://lojadobreno.vteximg.com.br/arquivos/ids/155467-292-292/image-5d7ad76ad1954c53adecab4138319034.jpg?v=637321899584500000",            "sellerId": "1",            "seller": "lojadobreno",            "measures": {                "cubicweight": 1.0000,                "height": 5.0000,                "length": 20.0000,                "weight": 200.0000,                "width": 20.0000            },            "unitMultiplier": 1.0000,            "rewardValue": 0        },        {            "sku": 310118455,            "skuname": "Vermelha - M",            "dimensions": {                "Cores": "Vermelho",                "Tamanho": "M",                "País de origem": "Brasil",                "Gênero": "Masculino"            },            "available": true,            "availablequantity": 99999,            "cacheVersionUsedToCallCheckout": "38395F1AEF59DF5CEAEDE472328145CD_",            "listPriceFormated": "R$ 0,00",            "listPrice": 0,            "taxFormated": "R$ 0,00",            "taxAsInt": 0,            "bestPriceFormated": "R$ 20,00",            "bestPrice": 2000,            "spotPrice": 2000,            "installments": 1,            "installmentsValue": 2000,            "installmentsInsterestRate": 0,            "image": "https://lojadobreno.vteximg.com.br/arquivos/ids/155468-292-292/image-601a6099aace48b89d26fc9f22e8e611.jpg?v=637321906602470000",            "sellerId": "pedrostore",            "seller": "pedrostore",            "measures": {                "cubicweight": 0.4167,                "height": 5.0000,                "length": 20.0000,                "weight": 200.0000,                "width": 20.0000            },            "unitMultiplier": 1.0000,            "rewardValue": 0        }    ]}
  • product.putApiCatalogPvtProductProductId

    Updates an existing Product.

  • product.reviewRateProduct

    Retrieves the review rate of a product by this product's ID.

  • productIndexing.indexedInfo

    Retrieve details of a Product's Indexed Information in XML format.

    Response body example

    xml
    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response>\n    <lst name=\"responseHeader\">        <bool name=\"zkConnected\">true</bool>        <int name=\"status\">0</int>        <int name=\"QTime\">2</int>        <lst name=\"params\">            <str name=\"fl\">*</str>            <arr name=\"fq\">                <str>instanceId:394dbdc8-b1f4-4dea-adfa-1ec104f3bfe1</str>                <str>productId:1</str>            </arr>        </lst>    </lst>    <result name=\"response\" numFound=\"0\" start=\"0\" maxScore=\"0.0\"></result>    <lst name=\"facet_counts\">        <lst name=\"facet_queries\"/>        <lst name=\"facet_fields\"/>        <lst name=\"facet_ranges\"/>        <lst name=\"facet_intervals\"/>        <lst name=\"facet_heatmaps\"/></lst>\n</response>\n"
  • productSpecification.deleteAllProductSpecifications

    Deletes all Product Specifications given a specific Product ID.

  • productSpecification.deleteaProductSpecification

    Deletes a specific Product Specification given a Product ID and a Specification ID.

  • productSpecification.getProductSpecification

    Retrieves all specifications of a product by the product's ID.

    📘 Onboarding guide

    Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

    Response body example

    json
    [    {        "Value": [            "Iron",            "Plastic"        ],        "Id": 30,        "Name": "Material"    }]
  • productSpecification.getProductSpecificationbyProductId

    Retrieves information of all specifications of a product by the product's ID.

    Response body example

    json
    [    {        "Id": 227,        "ProductId": 1,        "FieldId": 33,        "FieldValueId": 135,        "Text": "ValueA"    },    {        "Id": 228,        "ProductId": 1,        "FieldId": 34,        "FieldValueId": 1,        "Text": "Giant"    }]
  • productSpecification.postApiCatalogPvtProductProductIdSpecification

    Associates a previously defined Specification to a Product.

    Request body example

    json
    {    "FieldId": 19,    "FieldValueId": 1,    "Text": "test"}

    Response body example

    json
    {    "Id": 41,    "FieldId": 19,    "FieldValueId": 1,    "Text": "test"}
  • productSpecification.putApiCatalogPvtProductProductIdSpecificationvalue

    Associates a specification to a product using specification name and group name. Automatically creates the informed group, specification and values if they had not been created before.

    Request body example

    json
    {    "FieldName": "Material",    "GroupName": "Additional Information",    "RootLevelSpecification": false,    "FieldValues": [        "Cotton",       "Polyester"        ]}

    Response body example

    json
    [    {        "Id": 53,        "ProductId": 3,        "FieldId": 21,        "FieldValueId": 60,        "Text": "Cotton"    },    {        "Id": 54,        "ProductId": 3,        "FieldId": 21,        "FieldValueId": 61,        "Text": "Polyester"    }]
  • productSpecification.updateProductSpecification

    Updates the value of a product specification by the product's ID. The ID or name can be used to identify what product specification will be updated. Specification fields must be previously created in your Catalog.

    Request body example

    json
    [    {        "Value": [            "Iron",            "Plastic"        ],        "Id": 30,        "Name": "Material"    }]
  • salesChannel.salesChannelbyId

    Retrieves a specific sales channel by its ID.

    Response body example

    json
    {    "Id": 1,    "Name": "Loja Principal",    "IsActive": true,    "ProductClusterId": null,    "CountryCode": "BRA",    "CultureInfo": "pt-BR",    "TimeZone": "E. South America Standard Time",    "CurrencyCode": "BRL",    "CurrencySymbol": "R$",    "CurrencyLocale": 1046,    "CurrencyFormatInfo": {        "CurrencyDecimalDigits": 1,        "CurrencyDecimalSeparator": ",",        "CurrencyGroupSeparator": ".",        "CurrencyGroupSize": 3,        "StartsWithCurrencySymbol": true    },    "Origin": null,    "Position": 2,    "ConditionRule": null,    "CurrencyDecimalDigits": 1}
  • salesChannel.salesChannelList

    Retrieves a list with details about the store's sales channels.

    Response body example

    json
    [    {        "Id": 1,        "Name": "Loja Principal",        "IsActive": true,        "ProductClusterId": null,        "CountryCode": "BRA",        "CultureInfo": "pt-BR",        "TimeZone": "E. South America Standard Time",        "CurrencyCode": "BRL",        "CurrencySymbol": "R$",        "CurrencyLocale": 1046,        "CurrencyFormatInfo": {            "CurrencyDecimalDigits": 1,            "CurrencyDecimalSeparator": ",",            "CurrencyGroupSeparator": ".",            "CurrencyGroupSize": 3,            "StartsWithCurrencySymbol": true        },        "Origin": null,        "Position": 2,        "ConditionRule": null,        "CurrencyDecimalDigits": 1    }]
  • seller.createSeller

    Creates a new seller.

  • seller.getSellerbyId

    Retrieves the seller's details by its ID.

  • seller.getSellersbyId

    Retrieves the seller's details by its ID.

  • seller.sellerList

    Retrieves the seller's details by its ID.

  • seller.updateSeller

    Updates a seller.

  • similarCategory.deleteApiCatalogPvtProductProductIdSimilarcategoryCategoryId

    Deletes a Similar Category from a Product.

  • similarCategory.getApiCatalogPvtProductProductIdSimilarcategory

    Retrieves Similar Categories from a Product.

    Response body example

    json
    [    {        "ProductId": 1,        "CategoryId": 1    },    {        "ProductId": 1,        "CategoryId": 20    }]
  • similarCategory.postApiCatalogPvtProductProductIdSimilarcategoryCategoryId

    Adds a Similar Category to a Product.

    Response body example

    json
    {    "ProductId": 1,    "StoreId": 1}
  • sku.getApiCatalogPvtStockkeepingunit

    Retrieves information about a specific SKU by its RefId.

    Response body example

    json
    {    "Id": 1,    "ProductId": 1,    "IsActive": true,    "Name": "Royal Canin Feline Urinary 500g",    "RefId": "0001",    "PackagedHeight": 6.0000,    "PackagedLength": 24.0000,    "PackagedWidth": 14.0000,    "PackagedWeightKg": 550.0000,    "Height": null,    "Length": null,    "Width": null,    "WeightKg": null,    "CubicWeight": 1.0000,    "IsKit": false,    "CreationDate": "2020-03-12T15:42:00",    "RewardValue": null,    "EstimatedDateArrival": null,    "ManufacturerCode": "",    "CommercialConditionId": 1,    "MeasurementUnit": "un",    "UnitMultiplier": 1.0000,    "ModalType": null,    "KitItensSellApart": false,    "Videos": null}
  • sku.getCatalogPvtStockkeepingunit

    Retrieves a specific SKU by its ID.

    Response body example

    json
    {    "Id": 1,    "ProductId": 1,    "IsActive": true,    "ActivateIfPossible": true,    "Name": "Ração Royal Canin Feline Urinary 500g",    "RefId": "0001",    "PackagedHeight": 6.5000,    "PackagedLength": 24.0000,    "PackagedWidth": 14.0000,    "PackagedWeightKg": 550.0000,    "Height": 2.2000,    "Length": 4.4000,    "Width": 3.3000,    "WeightKg": 1.1000,    "CubicWeight": 0.4550,    "IsKit": false,    "CreationDate": "2021-06-08T15:25:00",    "RewardValue": null,    "EstimatedDateArrival": null,    "ManufacturerCode": "",    "CommercialConditionId": 1,    "MeasurementUnit": "un",    "UnitMultiplier": 300.0000,    "ModalType": null,    "KitItensSellApart": false,    "Videos": [        "www.google.com"    ]}

    📘 Onboarding guide

    Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

  • sku.listallSkuiDs

    Retrieves the IDs of all SKUs in your store. Presents the results with page size and pagination.

    📘 Onboarding guide

    Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

    Response body example

    json
    [  1,  2,  3,  4,  5,  6,  7,  8,  9,  10]
  • sku.postApiCatalogPvtStockkeepingunit

    Creates a new SKU.

    If there is a need to create a new SKU with a specific custom ID, specify the Id (integer) in the request. Otherwise, VTEX will generate the ID automatically.

    Request body example (custom ID)

    json
    {   "Id": 1,    "ProductId": 310117069,   "IsActive": true,   "ActivateIfPossible": true,   "Name": "sku test",   "RefId": "125478",   "Ean": "8949461894984",   "PackagedHeight": 10,   "PackagedLength": 10,   "PackagedWidth": 10,   "PackagedWeightKg": 10,   "Height": null,   "Length": null,   "Width": null,   "WeightKg": null,   "CubicWeight": 0.1667,   "IsKit": false,   "CreationDate": null,   "RewardValue": null,   "EstimatedDateArrival": null,   "ManufacturerCode": "123",   "CommercialConditionId": 1,   "MeasurementUnit": "un",   "UnitMultiplier": 2.0000,   "ModalType": null,   "KitItensSellApart": false,   "Videos": [ "https://www.youtube.com/" ]}

    Request body example (automatically generated ID)

    json
    {   "ProductId": 310117069,   "IsActive": true,   "ActivateIfPossible": true,   "Name": "sku test",   "RefId": "125478",   "Ean": "8949461894984",   "PackagedHeight": 10,   "PackagedLength": 10,   "PackagedWidth": 10,   "PackagedWeightKg": 10,   "Height": null,   "Length": null,   "Width": null,   "WeightKg": null,   "CubicWeight": 0.1667,   "IsKit": false,   "CreationDate": null,   "RewardValue": null,   "EstimatedDateArrival": null,   "ManufacturerCode": "123",   "CommercialConditionId": 1,   "MeasurementUnit": "un",   "UnitMultiplier": 2.0000,   "ModalType": null,   "KitItensSellApart": false,   "Videos": [ "https://www.youtube.com/" ]}

    Response body example

    json
    {   "Id":1,   "ProductId": 310117069,   "IsActive": true,   "ActivateIfPossible": true,   "Name": "sku test",   "RefId": "125478",   "Ean": "8949461894984",   "PackagedHeight": 10,   "PackagedLength": 10,   "PackagedWidth": 10,   "PackagedWeightKg": 10,   "Height": null,   "Length": null,   "Width": null,   "WeightKg": null,   "CubicWeight": 0.1667,   "IsKit": false,   "CreationDate": null,   "RewardValue": null,   "EstimatedDateArrival": null,   "ManufacturerCode": "123",   "CommercialConditionId": 1,   "MeasurementUnit": "un",   "UnitMultiplier": 2.0000,   "ModalType": null,   "KitItensSellApart": false,   "Videos": [ "https://www.youtube.com/" ]}
  • sku.putApiCatalogPvtStockkeepingunitSkuId

    Updates an existing SKU.

    Request body example

    json
    {   "Id": 310118448,   "ProductId": 310117069,   "IsActive": true,   "ActivateIfPossible": true,   "Name": "sku test",   "RefId": "125478",   "PackagedHeight": 10,   "PackagedLength": 10,   "PackagedWidth": 10,   "PackagedWeightKg": 10,   "Height": null,   "Length": null,   "Width": null,   "WeightKg": null,   "CubicWeight": 0.1667,   "IsKit": false,   "CreationDate": null,   "RewardValue": null,   "EstimatedDateArrival": null,   "ManufacturerCode": "123",   "CommercialConditionId": 1,   "MeasurementUnit": "un",   "UnitMultiplier": 2.0000,   "ModalType": null,   "KitItensSellApart": false,   "Videos": [ "https://www.youtube.com/" ]}

    Response body example

    json
    {    "Id": 310118449,    "ProductId": 1,    "IsActive": true,    "ActivateIfPossible": true,    "Name": "sku test",    "RefId": "1254789",    "PackagedHeight": 10.0,    "PackagedLength": 10.0,    "PackagedWidth": 10.0,    "PackagedWeightKg": 10.0,    "Height": null,    "Length": null,    "Width": null,    "WeightKg": null,    "CubicWeight": 0.1667,    "IsKit": false,    "CreationDate": "2020-04-22T12:12:47.5219561",    "RewardValue": null,    "EstimatedDateArrival": null,    "ManufacturerCode": "123",    "CommercialConditionId": 1,    "MeasurementUnit": "un",    "UnitMultiplier": 2.0000,    "ModalType": null,    "KitItensSellApart": false,    "Videos": [ "https://www.youtube.com/" ]}
  • sku.skubyAlternateId

    Retrieves an SKU by its Alternate ID.

    Response body example

    json
    {    "Id": 310118450,    "ProductId": 2,    "NameComplete": "Caixa de Areia Azul Petmate sku test",    "ComplementName": "",    "ProductName": "Caixa de Areia Azul Petmate",    "ProductDescription": "",    "ProductRefId": "",    "TaxCode": "",    "SkuName": "sku test",    "IsActive": true,    "IsTransported": true,    "IsInventoried": true,    "IsGiftCardRecharge": false,    "ImageUrl": "https://lojadobreno.vteximg.com.br/arquivos/ids/155451-55-55/caixa-areia-azul-petmate.jpg?v=637139451191670000",    "DetailUrl": "/caixa-de-areia-azul-petmate/p",    "CSCIdentification": null,    "BrandId": "2000005",    "BrandName": "Petmate",    "IsBrandActive": true,    "Dimension": {        "cubicweight": 0.2083,        "height": 10.0000,        "length": 10.0000,        "weight": 10.0000,        "width": 10.0000    },    "RealDimension": {        "realCubicWeight": 0.000,        "realHeight": 0.0,        "realLength": 0.0,        "realWeight": 0.0,        "realWidth": 0.0    },    "ManufacturerCode": "123",    "IsKit": false,    "KitItems": [],    "Services": [],    "Categories": [],    "CategoriesFullPath": [        "/3/15/",        "/3/",        "/1/"    ],    "Attachments": [],    "Collections": [],    "SkuSellers": [        {            "SellerId": "1",            "StockKeepingUnitId": 310118450,            "SellerStockKeepingUnitId": "310118450",            "IsActive": true,            "FreightCommissionPercentage": 0.0,            "ProductCommissionPercentage": 0.0        }    ],    "SalesChannels": [        1,        3    ],    "Images": [        {            "ImageUrl": "https://lojadobreno.vteximg.com.br/arquivos/ids/155451/caixa-areia-azul-petmate.jpg?v=637139451191670000",            "ImageName": null,            "FileId": 155451        }    ],    "Videos": [],    "SkuSpecifications": [],    "ProductSpecifications": [],    "ProductClustersIds": "151,158",    "PositionsInClusters": {        "151": 1,        "158": 2    },    "ProductClusterNames": {        "151": "asdfghj",        "158": "Coleção halloween"    },    "ProductClusterHighlights": {        "151": "asdfghj"    },    "ProductCategoryIds": "/3/15/",    "IsDirectCategoryActive": true,    "ProductGlobalCategoryId": 5000,    "ProductCategories": {        "15": "Caixa de Areia",        "3": "Higiene",        "1": "Alimentação"    },    "CommercialConditionId": 1,    "RewardValue": 0.0,    "AlternateIds": {        "RefId": "1"    },    "AlternateIdValues": [        "1"    ],    "EstimatedDateArrival": null,    "MeasurementUnit": "un",    "UnitMultiplier": 1.0000,    "InformationSource": null,    "ModalType": null,    "KeyWords": "",    "ReleaseDate": "2020-01-06T00:00:00Z",    "ProductIsVisible": true,    "ShowIfNotAvailable": true,    "IsProductActive": true,    "ProductFinalScore": 0}
  • sku.skuContext

    Retrieves context of an SKU.

    📘 Onboarding guide

    Check the new . We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Catalog and is organized by focusing on the developer's journey.

    Response body example

    json
    {    "Id": 2001773,    "ProductId": 2001426,    "NameComplete": "Tabela de Basquete",    "ComplementName": "",    "ProductName": "Tabela de Basquete",    "ProductDescription": "Tabela de Basquete",    "SkuName": "Tabela de Basquete",    "ProductRefId": "0987",    "TaxCode": "",    "IsActive": true,    "IsTransported": true,    "IsInventoried": true,    "IsGiftCardRecharge": false,    "ImageUrl": "http://ambienteqa.vteximg.com.br/arquivos/ids/168952-55-55/7508800GG.jpg",    "DetailUrl": "/tabela-de-basquete/p",    "CSCIdentification": null,    "BrandId": "2000018",    "BrandName": "MARCA ARGOLO TESTE",    "IsBrandActive": true,    "Dimension": {        "cubicweight": 81.6833,        "height": 65,        "length": 58,        "weight": 10000,        "width": 130    },    "RealDimension": {        "realCubicWeight": 274.1375,        "realHeight": 241,        "realLength": 65,        "realWeight": 9800,        "realWidth": 105    },    "ManufacturerCode": "",    "IsKit": false,    "KitItems": [],    "Services": [],    "Categories": [],    "CategoriesFullPath": [        "/1/10/",        "/1/",        "/20/"    ],    "Attachments": [        {            "Id": 3,            "Name": "Mensagem",            "Keys": [                "nome;20",                "foto;40"            ],            "Fields": [                {                    "FieldName": "nome",                    "MaxCaracters": "20",                    "DomainValues": "Adalberto,Pedro,João"                },                {                    "FieldName": "foto",                    "MaxCaracters": "40",                    "DomainValues": null                }            ],            "IsActive": true,            "IsRequired": false        }    ],    "Collections": [],    "SkuSellers": [        {            "SellerId": "1",            "StockKeepingUnitId": 2001773,            "SellerStockKeepingUnitId": "2001773",            "IsActive": true,            "FreightCommissionPercentage": 0,            "ProductCommissionPercentage": 0        }    ],    "SalesChannels": [        1,        2,        3,        10    ],    "Images": [        {            "ImageUrl": "http://ambienteqa.vteximg.com.br/arquivos/ids/168952/7508800GG.jpg",            "ImageName": "",            "FileId": 168952        },        {            "ImageUrl": "http://ambienteqa.vteximg.com.br/arquivos/ids/168953/7508800_1GG.jpg",            "ImageName": "",            "FileId": 168953        },        {            "ImageUrl": "http://ambienteqa.vteximg.com.br/arquivos/ids/168954/7508800_2GG.jpg",            "ImageName": "",            "FileId": 168954        }    ],    "Videos": [        "www.google.com"    ],    "SkuSpecifications": [        {            "FieldId": 102,            "FieldName": "Cor",            "FieldValueIds": [                266            ],            "FieldValues": [                "Padrão"            ],            "IsFilter": false,            "FieldGroupId": 11,            "FieldGroupName": "Especificações"        }    ],    "ProductSpecifications": [        {            "FieldId": 7,            "FieldName": "Faixa Etária",            "FieldValueIds": [                58,                56,                55,                52            ],            "FieldValues": [                "5 a 6 anos",                "7 a 8 anos",                "9 a 10 anos",                "Acima de 10 anos"            ],            "IsFilter": true,            "FieldGroupId": 17,            "FieldGroupName": "NewGroupName 2"        },        {            "FieldId": 23,            "FieldName": "Fabricante",            "FieldValueIds": [],            "FieldValues": [                "Xalingo"            ],            "IsFilter": false,            "FieldGroupId": 17,            "FieldGroupName": "NewGroupName 2"        }    ],    "ProductClustersIds": "176,187,192,194,211,217,235,242",    "PositionsInClusters": {        "151": 3,        "152": 0,        "158": 1    },    "ProductClusterNames": {        "151": "asdfghj",        "152": "George",        "158": "Coleção halloween"    },    "ProductClusterHighlights": {        "151": "asdfghj",        "152": "George"    },    "ProductCategoryIds": "/59/",    "IsDirectCategoryActive": false,    "ProductGlobalCategoryId": null,    "ProductCategories": {        "59": "Brinquedos"    },    "CommercialConditionId": 1,    "RewardValue": 100.0,    "AlternateIds": {        "Ean": "8781",        "RefId": "878181"    },    "AlternateIdValues": [        "8781",        "878181"    ],    "EstimatedDateArrival": "",    "MeasurementUnit": "un",    "UnitMultiplier": 2.0000,    "InformationSource": "Indexer",    "ModalType": "",    "KeyWords": "basquete, tabela",    "ReleaseDate": "2020-01-06T00:00:00",    "ProductIsVisible": true,    "ShowIfNotAvailable": true,    "IsProductActive": true,    "ProductFinalScore": 0}
  • sku.skuIdbyRefId

    Retrieves an SKU ID by the SKU's Reference ID.

    Response body example

    json
    "310118450"
  • sku.skuIdlistbyRefIdlist

    Receives a list of Reference IDs and returns a list with the corresponding SKU IDs.

    ⚠️ The list of Reference IDs in the request body cannot have repeated Reference IDs, or the API will return an error 500.

    Request body example

    json
    [    "123",    "D25133K-B2",    "14-556",    "DCF880L2-BR"]

    Response body example

    json
    {    "123": "435",    "D25133K-B2": "4351",    "14-556": "3155",    "DCF880L2-BR": "4500"}
  • sku.skulistbyProductId

    Retrieves a list with the SKUs related to a product by the product's ID.

    Response body example

    json
    [    {        "IsPersisted": true,        "IsRemoved": false,        "Id": 2000035,        "ProductId": 2000024,        "IsActive": true,        "Name": "33 - Preto",        "Height": 8,        "RealHeight": null,        "Width": 15,        "RealWidth": null,        "Length": 8,        "RealLength": null,        "WeightKg": 340,        "RealWeightKg": null,        "ModalId": 1,        "RefId": "",        "CubicWeight": 0.2,        "IsKit": false,        "IsDynamicKit": null,        "InternalNote": null,        "DateUpdated": "2015-11-06T19:10:00",        "RewardValue": 0.01,        "CommercialConditionId": 1,        "EstimatedDateArrival": "",        "FlagKitItensSellApart": false,        "ManufacturerCode": "",        "ReferenceStockKeepingUnitId": null,        "Position": 0,        "EditionSkuId": null,        "ApprovedAdminId": 123,        "EditionAdminId": 123,        "ActivateIfPossible": true,        "SupplierCode": null,        "MeasurementUnit": "un",        "UnitMultiplier": 2.0000,        "IsInventoried": null,        "IsTransported": null,        "IsGiftCardRecharge": null,        "ModalType": ""    }]
  • skuAttachment.associateattachmentstoSku

    Associates attachments to an SKU based on a given SKU ID and attachment names.

    This request removes existing SKU attachment associations and recreates the associations with the attachments being sent.

    Request body example

    json
    {    "SkuId": 1,    "AttachmentNames": [        "T-Shirt Customization"    ]}
  • skuAttachment.deleteApiCatalogPvtSkuattachment

    Dissociates attachments and SKUs based on an SKU ID or an attachment ID.

  • skuAttachment.deleteApiCatalogPvtSkuattachmentSkuAttachmentAssociationId

    Deletes the association of an SKU to an Attachment.

  • skuAttachment.getApiCatalogPvtStockkeepingunitSkuIdAttachment

    Retrieves existing SKU Attachments by SKU ID.

    Response body example

    json
    [    {        "Id": 97,        "AttachmentId": 1,        "SkuId": 1    }]
  • skuAttachment.postApiCatalogPvtSkuattachment

    Associates an existing SKU to an existing Attachment.

    Request body example

    json
    {    "AttachmentId": 1,    "SkuId": 7}

    Response body example

    json
    {    "Id": 31,    "AttachmentId": 1,    "SkuId": 7}
  • skuComplement.createSkuComplement

    Creates a new SKU Complement on a Parent SKU.

    Request body example

    json
    {    "SkuId": 2,    "ParentSkuId": 1,    "ComplementTypeId": 2}

    Response body example

    json
    {    "Id": 62,    "SkuId": 2,    "ParentSkuId": 1,    "ComplementTypeId": 2}
  • skuComplement.deleteSkuComplementbySkuComplementId

    Deletes a previously existing SKU Complement by SKU Complement ID.

  • skuComplement.getSkuComplementbySkuComplementId

    Retrieves an existing SKU Complement by its SKU Complement ID.

    Response body example

    json
    {    "Id": 62,    "SkuId": 2,    "ParentSkuId": 1,    "ComplementTypeId": 2}
  • skuComplement.getSkuComplementbySkuid

    Retrieves an existing SKU Complement by its SKU ID.

    Response body example

    json
    [    {        "Id": 61,        "SkuId": 7,        "ParentSkuId": 1,        "ComplementTypeId": 1    }]
  • skuComplement.getSkuComplementsbyComplementTypeId

    Retrieves all the existing SKU Complements with the same Complement Type ID of a specific SKU.

    Response body example

    json
    [    {        "Id": 61,        "SkuId": 7,        "ParentSkuId": 1,        "ComplementTypeId": 1    }]
  • skuComplement.getSkUcomplementsbytype

    Retrieves all the existing SKU complements with the same complement type ID of a specific SKU.

    Response body example

    json
    {    "ParentSkuId": 1,    "ComplementSkuIds": [        7    ],    "Type": "1"}
  • skuEan.deleteApiCatalogPvtStockkeepingunitSkuIdEan

    Deletes all EAN values of an SKU.

  • skuEan.deleteApiCatalogPvtStockkeepingunitSkuIdEanEan

    Deletes the EAN value of an SKU.

  • skuEan.getApiCatalogPvtStockkeepingunitSkuIdEan

    Retrieves the EAN of the SKU.

    Response body example

    json
    [    "1234567890123"]
  • skuEan.postApiCatalogPvtStockkeepingunitSkuIdEanEan

    Creates or updates the EAN value of an SKU.

  • skuEan.skubyEan

    Retrieves an SKU by its EAN ID.

    Response body example

    json
    {    "Id": 2001773,    "ProductId": 2001426,    "NameComplete": "Tabela de Basquete",    "ProductName": "Tabela de Basquete",    "ProductDescription": "Tabela de Basquete",    "SkuName": "Tabela de Basquete",    "IsActive": true,    "IsTransported": true,    "IsInventoried": true,    "IsGiftCardRecharge": false,    "ImageUrl": "http://ambienteqa.vteximg.com.br/arquivos/ids/168952-55-55/7508800GG.jpg",    "DetailUrl": "/tabela-de-basquete/p",    "CSCIdentification": null,    "BrandId": "2000018",    "BrandName": "MARCA ARGOLO TESTE",    "Dimension": {        "cubicweight": 81.6833,        "height": 65,        "length": 58,        "weight": 10000,        "width": 130    },    "RealDimension": {        "realCubicWeight": 274.1375,        "realHeight": 241,        "realLength": 65,        "realWeight": 9800,        "realWidth": 105    },    "ManufacturerCode": "",    "IsKit": false,    "KitItems": [],    "Services": [],    "Categories": [],    "Attachments": [        {            "Id": 3,            "Name": "Mensagem",            "Keys": [                "nome;20",                "foto;40"            ],            "Fields": [                {                    "FieldName": "nome",                    "MaxCaracters": "20",                    "DomainValues": "Adalberto,Pedro,João"                },                {                    "FieldName": "foto",                    "MaxCaracters": "40",                    "DomainValues": null                }            ],            "IsActive": true,            "IsRequired": false        }    ],    "Collections": [],    "SkuSellers": [        {            "SellerId": "1",            "StockKeepingUnitId": 2001773,            "SellerStockKeepingUnitId": "2001773",            "IsActive": true,            "FreightCommissionPercentage": 0,            "ProductCommissionPercentage": 0        }    ],    "SalesChannels": [        1,        2,        3,        10    ],    "Images": [        {            "ImageUrl": "http://ambienteqa.vteximg.com.br/arquivos/ids/168952/7508800GG.jpg",            "ImageName": "",            "FileId": 168952        },        {            "ImageUrl": "http://ambienteqa.vteximg.com.br/arquivos/ids/168953/7508800_1GG.jpg",            "ImageName": "",            "FileId": 168953        },        {            "ImageUrl": "http://ambienteqa.vteximg.com.br/arquivos/ids/168954/7508800_2GG.jpg",            "ImageName": "",            "FileId": 168954        }    ],    "SkuSpecifications": [        {            "FieldId": 102,            "FieldName": "Cor",            "FieldValueIds": [                266            ],            "FieldValues": [                "Padrão"            ]        }    ],    "ProductSpecifications": [        {            "FieldId": 7,            "FieldName": "Faixa Etária",            "FieldValueIds": [                58,                56,                55,                52            ],            "FieldValues": [                "5 a 6 anos",                "7 a 8 anos",                "9 a 10 anos",                "Acima de 10 anos"            ]        },        {            "FieldId": 23,            "FieldName": "Fabricante",            "FieldValueIds": [],            "FieldValues": [                "Xalingo"            ]        }    ],    "ProductClustersIds": "176,187,192,194,211,217,235,242",    "ProductCategoryIds": "/59/",    "ProductGlobalCategoryId": null,    "ProductCategories": {        "59": "Brinquedos"    },    "CommercialConditionId": 1,    "RewardValue": 100.0,    "AlternateIds": {        "Ean": "8781",        "RefId": "878181"    },    "AlternateIdValues": [        "8781",        "878181"    ],    "EstimatedDateArrival": "",    "MeasurementUnit": "un",    "UnitMultiplier": 2.0000,    "InformationSource": null,    "ModalType": ""}
  • skuFile.deleteApiCatalogPvtStockkeepingunitDisassociateSkuIdFileSkuFileId

    Disassociates an SKU File from an SKU.

  • skuFile.deleteApiCatalogPvtStockkeepingunitSkuIdFile

    Deletes all SKU Image Files.

  • skuFile.deleteApiCatalogPvtStockkeepingunitSkuIdFileSkuFileId

    Deletes a specific SKU Image File.

  • skuFile.getApiCatalogPvtStockkeepingunitSkuIdFile

    Gets general information about all Files in the SKU.

    Response body example

    json
    [    {        "Id": 549,        "ArchiveId": 155485,        "SkuId": 310118490,        "Name": "chimera-cat-quimera-5",        "IsMain": true,        "Label": "miau"    },    {        "Id": 550,        "ArchiveId": 155486,        "SkuId": 310118490,        "Name": "Gato-siames",        "IsMain": false,        "Label": "Gato siames"    },    {        "Id": 555,        "ArchiveId": 155491,        "SkuId": 310118490,        "Name": "Cat-Sleeping-Pics",        "IsMain": false,        "Label": null    }]
  • skuFile.postApiCatalogPvtStockkeepingunitSkuIdFile

    Creates a new Image for an SKU based on its URL or on a form-data request body.

    Request body example

    json
    {      "IsMain": true,      "Label": "",      "Name": "Royal-Canin-Feline-Urinary-SO",      "Text": null,      "Url": "https://1.bp.blogspot.com/_SLQk9aAv9-o/S7NNbJPv7NI/AAAAAAAAAN8/V1LcO0ViDc4/s1600/waterbottle.jpg"      }

    Response body example

    json
    {      "Id": 503,      "ArchiveId": 155491,      "SkuId": 1,      "Name": "Royal-Canin-Feline-Urinary-SO",      "IsMain": true,      "Label": ""}
  • skuFile.putApiCatalogPvtStockkeepingunitCopySkuIdfromSkuIdtoFile

    Copy all existing files from an SKU to another SKU.

    Response body example

    json
    [    {        "Id": 1964,        "ArchiveId": 155404,        "SkuId": 1,        "IsMain": true,        "Label": ""    },    {        "Id": 1965,        "ArchiveId": 155429,        "SkuId": 1,        "IsMain": false,        "Label": ""    }]
  • skuFile.putApiCatalogPvtStockkeepingunitSkuIdFileSkuFileId

    Updates a new Image on an SKU based on its URL or on a form-data request body.

    Request body example

    json
    {    "IsMain": true,    "Label": null,    "Name": "toilet-paper",    "Text": null,    "Url": "https://images-na.ssl-images-amazon.com/images/I/81DLLXaGI7L._SL1500_.jpg"}

    Response body example

    json
    {    "Id": 508,    "ArchiveId": 155491,    "SkuId": 7,    "IsMain": true,    "Label": null}
  • skuKit.deleteApiCatalogPvtStockkeepingunitkit

    Deletes all Kit’s components based on the Parent SKU ID or deletes a specific Kit’s component based on the SKU ID.

  • skuKit.deleteApiCatalogPvtStockkeepingunitkitKitId

    Deletes a specific Kit’s component based on its Kit ID.

  • skuKit.getApiCatalogPvtStockkeepingunitkit

    Retrieves general information about the components of an SKU Kit by SKU ID or Parent SKU ID.

    Response body example

    json
    {    "Id": 7,    "StockKeepingUnitParent": 7,    "StockKeepingUnitId": 1,    "Quantity": 1,    "UnitPrice": 50.0000}
  • skuKit.getApiCatalogPvtStockkeepingunitkitKitId

    Retrieves general information about a component of a Kit.

  • skuKit.postApiCatalogPvtStockkeepingunitkit

    Adds a component to a specific Kit.

    Request body example

    json
    {    "StockKeepingUnitParent": 7,    "StockKeepingUnitId": 1,    "Quantity": 1,    "UnitPrice": 50.0000}

    Response body example

    json
    {    "Id": 7,    "StockKeepingUnitParent": 7,    "StockKeepingUnitId": 1,    "Quantity": 1,    "UnitPrice": 50.0000}
  • skuSeller.changeNotification

    ⚠️ Check out the updated version of the SKU Seller endpoints in our . If you are doing this integration for the first time, we recommend that you follow the updated documentation.

    The seller is responsible for suggesting new SKUs to be sold in the VTEX marketplace and also for informing the marketplace about changes in their SKUs that already exist in the marketplace. Both actions start with a catalog notification, which is made by this request.

    With this notification, the seller is telling the marketplace that something has changed about a specific SKU, like price or inventory, or that this is a new SKU that the seller would like to offer to the marketplace.

    The body of the request should be empty.

    Example

    Let's say your seller has the ID 123 in the marketplace and you want to inform the marketplace that has been a change in the SKU with ID 700.

    In this case, you would have to replace the sellerId parameter with the value 123 and the skuId parameter with the value 700. The URL of the request would be the following.

    https://{{accountName}}.vtexcommercestable.com.br/api/catalog_system/pvt/skuseller/changenotification/123/700

    Response codes

    The following response codes are possible for this request.

    • 404: the SKU was not found in the marketplace. The body of the response, in this case, should follow this format: "Seller StockKeepingUnit {{skuId}} not found for this seller id {{sellerId}}". This means that the seller can now proceed with sending an offer to the marketplace in order to suggest that this SKU is sold there.
    • 200: the SKU whose ID was informed in the URL already exists in the marketplace and was found. The marketplace can now proceed with a fulfillment simulation in order to get updated information about this SKU's inventory and price.
    • 429 - Failure due to too many requests.
    • 403 - Failure in the authentication.
  • skuSeller.deleteSkUsellerassociation

    ⚠️ Check out the updated version of the SKU Seller endpoints in our . If you are doing this integration for the first time, we recommend that you follow the updated documentation.

    Remove a seller's SKU binding, given the seller ID and the SKU ID in the seller's store.

  • skuSeller.getSkUseller

    ⚠️ Check out the updated version of the SKU Seller endpoints in our . If you are doing this integration for the first time, we recommend that you follow the updated documentation.

    Retrieves the details of a seller's SKU given a seller ID and the SKU ID in the seller's store.

    Response body example

    json
    {    "IsPersisted": true,    "IsRemoved": false,    "SkuSellerId": 799,    "SellerId": "myseller",    "StockKeepingUnitId": 50,    "SellerStockKeepingUnitId": "502",    "IsActive": true,    "UpdateDate": "2018-10-11T04:52:42.1",    "RequestedUpdateDate": null}
  • skuSeller.postApiCatalogSystemPvtSkusellerChangenotificationSellerIdSellerSkuId

    ⚠️ Check out the updated version of the SKU Seller endpoints in our . If you are doing this integration for the first time, we recommend that you follow the updated documentation.

    The seller is responsible for suggesting new SKUs to be sold in the VTEX marketplace and also for informing the marketplace about changes in their SKUs that already exist in the marketplace. Both actions start with a catalog notification, which is made by this request.

    With this notification, the seller is telling the marketplace that something has changed about a specific SKU, like price or inventory, or that this is a new SKU that the seller would like to offer to the marketplace.

    There are two information expected by the marketplace in this request: the sellerId, which identifies the seller, and the sellerSkuId, which identifies the binding of the seller with the SKU.

    Both information are passed through the request URL. The body of the request should be empty.

  • skuService.deleteApiCatalogPvtSkuserviceSkuServiceId

    Dissociates an SKU Service from an SKU.

  • skuService.getApiCatalogPvtSkuserviceSkuServiceId

    Retrieves an SKU Service.

    Response body example

    json
    {    "Id": 1,    "SkuServiceTypeId": 1,    "SkuServiceValueId": 1,    "SkuId": 1,    "Name": "name",    "Text": "text",    "IsActive": false}
  • skuService.postApiCatalogPvtSkuservice

    Associates an SKU Service to an SKU.

  • skuService.putApiCatalogPvtSkuserviceSkuServiceId

    Updates an SKU Service.

    Request body example

    json
    {    "Name": "name",    "Text": "text",    "IsActive": false}

    Response body example

    json
    {    "Id": 1,    "SkuServiceTypeId": 1,    "SkuServiceValueId": 1,    "SkuId": 1,    "Name": "name",    "Text": "text",    "IsActive": false}
  • skuServiceAttachment.deleteApiCatalogPvtSkuservicetypeattachment

    Dissociates an Attachment by its Attachment ID or SKU Service Type ID from an SKU Service Type.

  • skuServiceAttachment.deleteApiCatalogPvtSkuservicetypeattachmentSkuServiceTypeAttachmentId

    Dissociates an Attachment from an SKU Service Type

  • skuServiceAttachment.postApiCatalogPvtSkuservicetypeattachment

    Associates an Attachment for an existing SKU Service Type.

    Request body example

    json
    {    "AttachmentId": 1,    "SkuServiceTypeId": 1}

    Response body example

    json
    {    "Id": 1,    "AttachmentId": 1,    "SkuServiceTypeId": 1}
  • skuServiceType.deleteApiCatalogPvtSkuservicetypeSkuServiceTypeId

    Deletes an existing SKU Service Type.

  • skuServiceType.getApiCatalogPvtSkuservicetypeSkuServiceTypeId

    Retrieves information about an existing SKU Service Type.

    Response body example:

    json
    {    "Id": 2,    "Name": "Test API SKU Services",    "IsActive": true,    "ShowOnProductFront": true,    "ShowOnCartFront": true,    "ShowOnAttachmentFront": true,    "ShowOnFileUpload": true,    "IsGiftCard": true,    "IsRequired": true}
  • skuServiceType.postApiCatalogPvtSkuservicetype

    Creates a new SKU Service Type.

    Request body example

    json
    {    "Name": "Test API Sku Services",    "IsActive": true,    "ShowOnProductFront": true,    "ShowOnCartFront": true,    "ShowOnAttachmentFront": true,    "ShowOnFileUpload": true,    "IsGiftCard": true,    "IsRequired": true}

    Response body example

    json
    {    "Id": 2,    "Name": "Teste API Sku Services",    "IsActive": true,    "ShowOnProductFront": true,    "ShowOnCartFront": true,    "ShowOnAttachmentFront": true,    "ShowOnFileUpload": true,    "IsGiftCard": true,    "IsRequired": true}
  • skuServiceType.putApiCatalogPvtSkuservicetypeSkuServiceTypeId

    Updates an existing SKU Service Type.

    Request body example

    json
    {    "Name": "Test API Sku Services",    "IsActive": true,    "ShowOnProductFront": true,    "ShowOnCartFront": true,    "ShowOnAttachmentFront": true,    "ShowOnFileUpload": true,    "IsGiftCard": true,    "IsRequired": true}

    Response body example

    json
    {    "Id": 2,    "Name": "Teste API Sku Services",    "IsActive": true,    "ShowOnProductFront": true,    "ShowOnCartFront": true,    "ShowOnAttachmentFront": true,    "ShowOnFileUpload": true,    "IsGiftCard": true,    "IsRequired": true}
  • skuServiceValue.deleteApiCatalogPvtSkuservicevalueSkuServiceValueId

    Deletes an existing SKU Service Value.

  • skuServiceValue.getApiCatalogPvtSkuservicevalueSkuServiceValueId

    Retrieves an existing SKU Service Value.

    Response body example

    json
    {    "Id": 2,    "SkuServiceTypeId": 2,    "Name": "Test ServiceValue API",    "Value": 10.5,    "Cost": 10.5}
  • skuServiceValue.postApiCatalogPvtSkuservicevalue

    Creates an SKU Service Value for an existing SKU Service Type.

    Request body example

    json
    {    "SkuServiceTypeId": 2,    "Name": "Test ServiceValue API",    "Value": 10.5,    "Cost": 10.5}

    Response body example

    json
    {    "Id": 2,    "SkuServiceTypeId": 2,    "Name": "Test ServiceValue API",    "Value": 10.5,    "Cost": 10.5}
  • skuServiceValue.putApiCatalogPvtSkuservicevalueSkuServiceValueId

    Updates an existing SKU Service Value.

    Request body example

    json
    {    "SkuServiceTypeId": 2,    "Name": "Test ServiceValue API",    "Value": 10.5,    "Cost": 10.5}

    Response body example

    json
    {    "Id": 2,    "SkuServiceTypeId": 2,    "Name": "Test ServiceValue API",    "Value": 10.5,    "Cost": 10.5}
  • skuSpecification.deleteApiCatalogPvtStockkeepingunitSkuIdSpecification

    Deletes all SKU Specifications.

  • skuSpecification.deleteApiCatalogPvtStockkeepingunitSkuIdSpecificationSpecificationId

    Deletes a specific SKU Specification.

  • skuSpecification.getApiCatalogPvtStockkeepingunitSkuIdSpecification

    Retrieves information about an SKU's Specifications.

    Response body example

    json
    [    {        "Id": 427,        "SkuId": 7,        "FieldId": 32,        "FieldValueId": 131,        "Text": "500g"    },    {        "Id": 428,        "SkuId": 7,        "FieldId": 40,        "FieldValueId": 133,        "Text": "A"    }]
  • skuSpecification.postApiCatalogPvtStockkeepingunitSkuIdSpecification

    Associates a previously created Specification to an SKU.

    Request body example

    json
    {    "FieldId": 65,    "FieldValueId": 138}

    Response body example

    json
    {    "Id": 730,    "SkuId": 31,    "FieldId": 65,    "FieldValueId": 138,    "Text": "Size"}
  • skuSpecification.putApiCatalogPvtStockkeepingunitSkuIdSpecification

    Updates an existing Specification on an existing SKU. This endpoint only updates the FieldValueId.

    Request body example

    json
    {  "Id": 65,  "SkuId": 21,  "FieldId": 32,  "FieldValueId": 131,  "Text": "Red"}

    Response body example

    json
    {  "Id": 65,  "SkuId": 21,  "FieldId": 32,  "FieldValueId": 131,  "Text": "Red"}
  • skuSpecification.putApiCatalogPvtStockkeepingunitSkuIdSpecificationvalue

    Associates a specification to an SKU using specification name and group name. Automatically creates the informed group, specification and values if they had not been created before.

    Request body example

    json
    {    "FieldName": "Size",    "GroupName": "Sizes",    "RootLevelSpecification": false,    "FieldValues": [        "M"        ]}

    Response body example

    json
    [    {        "Id": 419,        "SkuId": 5,        "FieldId": 22,        "FieldValueId": 62,        "Text": "M"    }]
  • specification.getApiCatalogPvtSpecificationSpecificationId

    Retrieves information of a Product or SKU Specification.

    Response body example

    json
    {    "Id": 88,    "FieldTypeId": 1,    "CategoryId": 4,    "FieldGroupId": 20,    "Name": "Material",    "Description": "Composition of the product.",    "Position": 1,    "IsFilter": true,    "IsRequired": true,    "IsOnProductDetails": false,    "IsStockKeepingUnit": false,    "IsWizard": false,    "IsActive": true,    "IsTopMenuLinkActive": false,    "IsSideMenuLinkActive": true,    "DefaultValue": "Cotton"}
  • specification.postApiCatalogPvtSpecification

    Creates a new Product or SKU Specification.

    Request body example

    json
    {    "FieldTypeId": 1,    "CategoryId": 4,    "FieldGroupId": 20,    "Name": "Material",    "Description": "Composition of the product.",    "Position": 1,    "IsFilter": true,    "IsRequired": true,    "IsOnProductDetails": false,    "IsStockKeepingUnit": false,    "IsActive": true,    "IsTopMenuLinkActive": false,    "IsSideMenuLinkActive": true,    "DefaultValue": "Cotton"}

    Response body example

    json
    {    "Id": 88,    "FieldTypeId": 1,    "CategoryId": 4,    "FieldGroupId": 20,    "Name": "Material",    "Description": "Composition of the product.",    "Position": 1,    "IsFilter": true,    "IsRequired": true,    "IsOnProductDetails": false,    "IsStockKeepingUnit": false,    "IsWizard": false,    "IsActive": true,    "IsTopMenuLinkActive": false,    "IsSideMenuLinkActive": true,    "DefaultValue": "Cotton"}
  • specification.putApiCatalogPvtSpecificationSpecificationId

    Updates a Product or SKU Specification.

    Request body example

    json
    {    "FieldTypeId": 1,    "CategoryId": 4,    "FieldGroupId": 20,    "Name": "Material",    "Description": "Composition of the product.",    "Position": 1,    "IsFilter": true,    "IsRequired": true,    "IsOnProductDetails": false,    "IsStockKeepingUnit": false,    "IsActive": true,    "IsTopMenuLinkActive": false,    "IsSideMenuLinkActive": true,    "DefaultValue": "Leather"}

    Response body example

    json
    {    "Id": 88,    "FieldTypeId": 1,    "CategoryId": 4,    "FieldGroupId": 20,    "Name": "Material",    "Description": "Composition of the product.",    "Position": 1,    "IsFilter": true,    "IsRequired": true,    "IsOnProductDetails": false,    "IsStockKeepingUnit": false,    "IsWizard": false,    "IsActive": true,    "IsTopMenuLinkActive": false,    "IsSideMenuLinkActive": true,    "DefaultValue": "Leather"}
  • specificationField.specificationsField

    Retrieves details from a specification field by this field's ID.

    ⚠️ This is a legacy endpoint. We recommend using instead.

    Response body example

    json
    {    "Name": "Material",    "CategoryId": 4,    "FieldId": 88,    "IsActive": true,    "IsRequired": true,    "FieldTypeId": 1,    "FieldTypeName": "Texto",    "FieldValueId": null,    "Description": "Composition of the product.",    "IsStockKeepingUnit": false,    "IsFilter": true,    "IsOnProductDetails": false,    "Position": 1,    "IsWizard": false,    "IsTopMenuLinkActive": false,    "IsSideMenuLinkActive": true,    "DefaultValue": null,    "FieldGroupId": 20,    "FieldGroupName": "Clothes specifications"}
  • specificationField.specificationsInsertField

    Creates a specification field in a category.

    ⚠️ This is a legacy endpoint. We recommend using instead.

    Request body example

    json
    {    "Name": "Material",    "CategoryId": 4,    "FieldId": 88,    "IsActive": true,    "IsRequired": true,    "FieldTypeId": 1,    "FieldValueId": 1,    "IsStockKeepingUnit": false,    "Description": "Composition of the product.",    "IsFilter": true,    "IsOnProductDetails": false,    "Position": 1,    "IsWizard": false,    "IsTopMenuLinkActive": true,    "IsSideMenuLinkActive": true,    "DefaultValue": null,    "FieldGroupId": 20,    "FieldGroupName": "Clothes specifications"}

    Response body example

    json
    89
  • specificationField.specificationsInsertFieldUpdate

    Updates a specification field in a category.

    ⚠️ This is a legacy endpoint. We recommend using instead.

    Request body example

    json
    {    "FieldId": 89,    "Name": "Material",    "CategoryId": 4,    "IsActive": true,    "IsRequired": true,    "FieldTypeId": 1,    "Description": "Composition of the product.",    "IsStockKeepingUnit": false,    "IsFilter": true,    "IsOnProductDetails": true,    "Position": 1,    "IsWizard": false,    "IsTopMenuLinkActive": false,    "IsSideMenuLinkActive": false,    "DefaultValue": "Cotton",    "FieldGroupId": 20,    "FieldGroupName": "Clothes specifications"}

    Response body example

    json
    89
  • specificationFieldValue.specificationsGetFieldValue

    Retrieves details from a specification field's value by this value's ID.

    ⚠️ This is a legacy endpoint. We recommend using instead.

    Response body example

    json
    {    "FieldValueId": 143,    "FieldId": 34,    "Name": "TesteInsert",    "Text": "Value Description",    "IsActive": true,    "Position": 100}
  • specificationFieldValue.specificationsInsertFieldValue

    Creates a specification field value by the specification field's ID.

    ⚠️ This is a legacy endpoint. We recommend using instead.

    Request body example

    json
    {    "FieldId": 34,    "Name": "Cotton",    "Text": "Cotton fibers",    "IsActive": true,    "Position": 100}

    Response body example

    json
    {    "FieldValueId": 143,    "FieldId": 34,    "Name": "Cotton",    "Text": "Cotton fibers",    "IsActive": true,    "Position": 100}
  • specificationFieldValue.specificationsUpdateFieldValue

    Updates a specification field value by the specification field's ID.

    ⚠️ This is a legacy endpoint. We recommend using instead.

    Request body example

    json
    {    "FieldId": 1,    "FieldValueId": 143,    "Name": "Cotton",    "Text": "Cotton fibers",    "IsActive": true,    "Position": 100}

    Response body example (200 OK)

    json
    "Field Value Updated"
  • specificationFieldValue.specificationsValuesByFieldId

    Gets a list of all specification values from a Specification Field by this field's ID.

    Response body example

    json
    [    {        "FieldValueId": 52,        "Value": "0 a 6 meses",        "IsActive": true,        "Position": 1    },    {        "FieldValueId": 53,        "Value": "1 a 2 anos",        "IsActive": true,        "Position": 4    },    {        "FieldValueId": 54,        "Value": "3 a 4 anos",        "IsActive": true,        "Position": 3    },    {        "FieldValueId": 55,        "Value": "5 a 6 anos",        "IsActive": true,        "Position": 2    },    {        "FieldValueId": 56,        "Value": "7 a 8 anos",        "IsActive": true,        "Position": 5    },    {        "FieldValueId": 57,        "Value": "9 a 10 anos",        "IsActive": true,        "Position": 6    },    {        "FieldValueId": 58,        "Value": "Acima de 10 anos",        "IsActive": true,        "Position": 7    }]
  • specificationGroup.putApiCatalogPvtSpecificationgroupGroupId

    Update a specification group.

    ⚠️ It is also possible to update a Specification Group by using an alternative legacy route: /api/catalog_system/pvt/specification/group.

    Request and response body example

    json
    {    "CategoryId": 1,    "Id": 17,    "Name": "NewGroupName",    "Position": 1}
  • specificationGroup.specificationGroupInsert2

    Create a specification group.

    ⚠️ It is also possible to create a Specification Group by using an alternative legacy route: /api/catalog_system/pvt/specification/group.

    Request body example

    json
    {    "CategoryId": 1,    "Name": "Sizes"}

    Response body example

    json
    {  "Id": 6,  "CategoryId": 1,  "Name": "Sizes",  "Position": 3}
  • specificationGroup.specificationsGroupGet

    Retrieves details from a specification group by the ID of the group.

    Response body example

    json
    {  "CategoryId": 1,  "Id": 6,  "Name": "Sizes",  "Position": 3}
  • specificationGroup.specificationsGroupListbyCategory

    Retrieves a list of specification groups by the category ID.

    Response body example

    json
    [    {      "CategoryId": 1,      "Id": 5,      "Name": "Materials",      "Position": 2    },    {      "CategoryId": 1,      "Id": 6,      "Name": "Sizes",      "Position": 3    }  ]
  • specificationValue.getApiCatalogPvtSpecificationvalueSpecificationValueId

    Retrieves general information about a Specification Value.

    Response body example

    json
    {    "FieldValueId": 143,    "FieldId": 34,    "Name": "Cotton",    "Text": "Cotton fibers",    "IsActive": true,    "Position": 100}
  • specificationValue.postApiCatalogPvtSpecificationvalue

    Creates a new Specification Value for a Category.

    Request body example

    json
    {    "FieldId": 193,    "Name": "Metal",    "IsActive": true,    "Position": 1  }

    Response body example

    json
    {  "FieldValueId": 360,  "FieldId": 193,  "Name": "Metal",  "Text": null,  "IsActive": true,  "Position": 1}
  • specificationValue.putApiCatalogPvtSpecificationvalueSpecificationValueId

    Updates a new Specification Value for a Category.

    Request body example

    json
    {    "FieldId": 193,    "Name": "Metal",    "Text": null,    "IsActive": true,    "Position": 1  }

    Response body example

    json
    {  "FieldValueId": 360,  "FieldId": 193,  "Name": "Metal",  "Text": null,  "IsActive": true,  "Position": 1}
  • supplier.deleteApiCatalogPvtSupplierSupplierId

    Deletes an existing Supplier.

  • supplier.postApiCatalogPvtSupplier

    Creates a new Supplier.

    Request body example

    json
    {    "Name": "Supplier",    "CorporateName": "TopStore",    "StateInscription": "",    "Cnpj": "33304981001272",    "Phone": "3333333333",    "CellPhone": "4444444444",    "CorportePhone": "5555555555",    "Email": "email@email.com",    "IsActive": true}

    Response body example

    json
    {    "Id": 1,    "Name": "Supplier",    "CorporateName": "TopStore",    "StateInscription": "",    "Cnpj": "33304981001272",    "Phone": "3333333333",    "CellPhone": "4444444444",    "CorportePhone": "5555555555",    "Email": "email@email.com",    "IsActive": true}
  • supplier.putApiCatalogPvtSupplierSupplierId

    Updates general information of an existing Supplier.

    Request body example

    json
    {    "Name": "Supplier",    "CorporateName": "TopStore",    "StateInscription": "",    "Cnpj": "33304981001272",    "Phone": "3333333333",    "CellPhone": "4444444444",    "CorportePhone": "5555555555",    "Email": "email@email.com",    "IsActive": true}

    Response body example

    json
    {    "Id": 1,    "Name": "Supplier",    "CorporateName": "TopStore",    "StateInscription": "",    "Cnpj": "33304981001272",    "Phone": "3333333333",    "CellPhone": "4444444444",    "CorportePhone": "5555555555",    "Email": "email@email.com",    "IsActive": true}
  • tradePolicy.deleteApiCatalogPvtProductProductIdSalespolicyTradepolicyId

    Disassociates a Trade Policy of a Product.

  • tradePolicy.getApiCatalogPvtProductProductIdSalespolicy

    Retrieves a list of Trade Policies associated to a Product based on the Product's ID.

    Response body example

    json
    [    {        "ProductId": 1,        "StoreId": 1    },    {        "ProductId": 1,        "StoreId": 2    },    {        "ProductId": 1,        "StoreId": 3    },    {        "ProductId": 1,        "StoreId": 4    }]
  • tradePolicy.getApiCatalogSystemPvtSkuStockkeepingunitidsbysaleschannel

    Retrieves a list of SKU IDs of a Trade Policy.

    Response body example

    json
    [    405380,    405381,    405382,    405383,    405384,    405385,    405386,    405387,    405388,    405389,    405390,    405391,    405392,    405393,    405394,    405395,    405396,    405397,    405398,    405399,    405400,    405556]
  • tradePolicy.postApiCatalogPvtProductProductIdSalespolicyTradepolicyId

    Associates an existing Trade Policy with a Product.

  • openapi.previewSpec

    Preview an OpenAPI document before adding it as a source

  • openapi.addSource

    Add an OpenAPI source and register its operations as tools