# Update Advanced Catalog Info

## Overview

This endpoint can be used to update advanced catalog data of a single existing product. To update advanced catalog data for multiple products in bulk, please utilize [this endpoint](https://developer.sellercloud.com/dev-article/import-catalog-info/#1_Bulk_Update_Products) instead.

To consume this endpoint you must be an **authenticated user**. For information on how you can authenticate, see: [Authentication](https://developer.sellercloud.com/dev-article/authentication/). The token you receive when authenticating needs to be passed to this call.

## Endpoint

For the TT server the endpoint is: [https://tt.api.sellercloud.com/rest/api/Catalog/AdvancedInfo](https://tt.api.sellercloud.com/rest/api/Catalog/AdvancedInfo)

For your server the endpoint will be: https://{your_server_id}.api.sellercloud.com/rest/api/Catalog/AdvancedInfo

## Request

**Method Type**: HttpPut

**Authorization**: Use Bearer Token + token received from token authentication

**Header info**: Content-Type: application/json

**Body**:

|     |     |     |     |
| --- | --- | --- | --- |
| **Parameter** | **Data Type** | **Description** | **Required** |
| ProductID | string | ID of **existing** Product | Yes |
| Fields | List | List of product fields to update | Yes |
| Field.Name | string | Field Name. The supported fields are the same fields that are supported in the Delta ‘Catalog -> Import Product Info -> Bulk Product Update’ functionality (See screenshot below). A list of fields is also accessible [here](https://help.sellercloud.com/omnichannel-ecommerce/bulk-update-and-custom-export-column-headers-2/). | Yes |
| Field.Value | string | Field Value. This is the value that the field should be set to. | Yes |

## Response

- If user is authenticated and the request is successful, then response will be Status Code 200 => OK with a json body similar to the **Response Body** below.
- If user is not authenticated, then response will be Status Code 401 => Not Valid Token
- In case of error, response will be Status Code 500 => Internal Server Error

## Response Body:

```
{
  "ProductID": "string",
  "UpdatedSucessfully": bool,
  "ErrorMessage": "string",
  "Fields": [
    {
      "Name": "string",
      "OriginalValue": "string",
      "NewValue": "string",
      "ErrorMessage": ""
    }
  ]
}
```

**ProductID** – ID of the updated product

**UpdatedSucessfully** – Boolean indicating if the product update was successfully processed by the system

**ErrorMessage** – Error message, in case of unsuccessfully updated product

**Field.Name** – Field name of the updated field

**Field.OriginalValue** – Field value before the update

**Field.NewValue** – Field value after the update

**Field.ErrorMessage** – Error message, in the case when the field was not successfully updated
