**Update Inventory Info for Single Product**

### Overview

In order to update the shipping metadata of existing products, you must:

- Be an authenticated user.

Information on how you can authenticate: [Authentication](https://developer.sellercloud.com/dev-article/authentication/)

As soon as you do the authentication and receive a valid token, you need to pass it on to each call when updating inventory.

- Have valid IDs of existing products.

### Endpoint

An example of such an endpoint on XX server is [https://xx.api.sellercloud.com/rest/api/Inventory](https://tt.api.sellercloud.com/rest/api/Inventories)

### Request

- Method Type: **HttpPut**  
- Authorization: Use **Bearer Token** \+ token received from token authentication  
- Header info: **Content-Type: application/json**  
- Body data:

|     |     |     |     |
| --- | --- | --- | --- |
| Parameter | Data Type | Description | Is Required |
| ID | string | The ID/SKU of existing product | Yes |
| ProductName | string | Name of the product | No |
| CompanyID | int | The company that this product belongs to | No |
| ProductTypeID | int | Product Type | No |
| Condition | int | Condition | No |
| MasterSku | string | Master SKU | No |
| UPC | string | Universal Product Code | No |
| ShippingWeights | object | {\nint Pounds,\nint Ounces\n}\n**Note**: When ShippingWeights is provided, both Pounds and Ounces should be provided. If either is not provided, it will be set to 0. | No |
| ProductWeights | object | Same as ShippingWeights | No |
| ProductDimensions | object | { int Width; int Height; int Length }\n**Note:** When ProductDimensions is provided, all three parameters (Width, Height, and Length should be provided **.** If any of them is not provided it will be set to 0. | No |
| ShippingDimensions | object | { int Width; int Height; int Length }\n**Note**: When ShippingDimensions is provided, all three parameters (Width, Height, and Length should be provided **.** If any of them is not provided it will be set to 0. | No |
| CaseDimensions | object | { int Width; int Height; int Length }\n**Note**: When CaseDimensions is provided, all three parameters (Width, Height, and Length should be provided **.** If any of them is not provided it will be set to 0. | No |
| ShippingPackageTypeID | integer |  | No |
| LocationNotes | string |  | No |
| QtyPerCase | integer |  | No |
| QtyPerPallet | integer |  | No |
| Replenishable | boolean |  | No |
| CaseWeight | integer |  | No |

### Request Format

```json
{
  "ID": "string",
  "ProductName": "string",
  "CompanyID": 0,
  "ProductTypeID": 0,
  "Condition": 0,
  "MasterSku": "string",
  "UPC": "string",
  "ShippingWeights": {
    "Pounds": 0,
    "Ounces": 0
  },
  "ProductWeights": {
    "Pounds": 0,
    "Ounces": 0
  },
  "ProductDimensions": {
    "Width": 0,
    "Height": 0,
    "Length": 0
  },
  "ShippingDimensions": {
    "Width": 0,
    "Height": 0,
    "Length": 0
  },
  "CaseDimensions": {
    "Width": 0,
    "Height": 0,
    "Length": 0
  },
  "ShippingPackageTypeID": 0,
  "LocationNotes": "string",
  "QtyPerCase": 0,
  "QtyPerPallet": 0,
  "Replenishable": true,
  "CaseWeight": 0
}
```

### Response

- If the user is authenticated and the request is successful, then the response will be **Status Code 200 => OK**  
- If the user is not authenticated, then the response will be **Status Code 401 => Not Valid Token**  
- In case of an error, the response will be **Status Code 500 => Internal Server Error**  
- In case of an incorrect request, the response will be with status code **400 Bad Request**
