# info.description
List stores, categories, and items configured in the Direct Scale Commission Engine.

# paths./store/{storeId}/categories.get.description
Get a list of categories to a specific store.

You can get the **Request Parameter** at this call:

**storeId**
- Get Stores

# paths./store/{storeId}/categories.get.parameters[].description
The ID of the Store whose Categories are to be retrieved.

# paths./store/{storeId}/categories.get.responses.200.description
Returns an array of valid Category objects.

# paths./store/{storeId}/categories.get.responses.404.description
A Store with the given Store ID was not found.

# paths./store/{storeId}/categories.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./item/{itemId}.get.description
Retrieves an Item based on a valid Item ID.

You can get the **Request Parameter** at these calls:

**itemId**
- Get Items by Filter
- Get Item by SKU
- Get Items
<br><br>
The full Image path for the item is on the Disco application server, at this URL:
https://<clientID>.corpadmin.directscale<env>.com/CMS/Images/Inventory/
<br><br>
The "Discounts" array is a collection of all the prices. The "Type" field is an enumeration, "Discount, Price, RewardCost". So, if it's "0", it's the discounted price. If it's "1", it's the original price. If it's "2", it's the Reward Point cost.
<br><br>
What's happening here is that you have Type => 1 (Price) and Type => 0 (Discount), so you can show both prices (with a slash through the full price). 

# paths./item/{itemId}.get.responses.200.content.application/json.example.Languages[].Description
Test Item (desc)

# paths./item/{itemId}.get.responses.200.content.application/json.example.Languages[].Specifications
Test Item (specs)

# paths./item/{itemId}.get.responses.404.description
An Item with the given Item ID was not found.

# paths./item/{itemId}.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./item/sku/{sku}.get.description
Retrieves an Item based on a valid Item Stock Keeping Unit (SKU).

You can get the **Request Parameters** at these calls:

**sku**
- Get Item by Id
- Get Items
- Get Items by Filter

**CurrencyCode**
- **Get Regions** displays the country/state codes of the warehouses. If you are concerned about having the proper **CurrencyCode**, then this will allow you to know what region warehouse support team to call to get the confirmed **CurrencyCode**.

**LanguageCode**
- Get Item by Id
- Get Items
- Get Items by Filter

**Note:**
The full Image path for the item is on the Disco application server, at this URL:
https://<clientID>.corpadmin.directscale<env>.com/CMS/Images/Inventory/
<br><br>
The "Discounts" array is a collection of all the prices. The "Type" field is an enumeration, "Discount, Price, RewardCost". So, if it's "0", it's the discounted price. If it's "1", it's the original price. If it's "2", it's the Reward Point cost.
<br><br>
What's happening here is that you have Type => 1 (Price) and Type => 0 (Discount), so you can show both prices (with a slash through the full price).

# paths./item/sku/{sku}.get.parameters[].description
The 3-character ISO currency code indicating pricing to be returned.

# paths./item/sku/{sku}.get.parameters[].description
The 2-character ISO language code indicating language of translations.

# paths./item/sku/{sku}.get.responses.200.content.application/json.example.Languages[].Description
Test Item (desc)

# paths./item/sku/{sku}.get.responses.200.content.application/json.example.Languages[].Specifications
Test Item (specs)

# paths./item/sku/{sku}.get.responses.404.description
An Item with the given Item SKU was not found.

# paths./item/sku/{sku}.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./categories/{categoryId}/items.get.description
Return all items in a given country and category. Optional filter parameters will limit translations, prices, and products returned.
**Note:**
The full Image path for the item is on the Disco application server, at this URL:
https://\<clientId\>.corpadmin.directscale<env>.com/CMS/Images/Inventory/
<br><br>
The "Discounts" array is a collection of all the prices. The "Type" field is an enumeration, "Discount, Price, RewardCost". So, if it's "0", it's the discounted price. If it's "1", it's the original price. If it's "2", it's the Reward Point cost.
<br><br>
What's happening here is that you have Type => 1 (Price) and Type => 0 (Discount), so you can show both prices (with a slash through the full price).
<br><br>
You can get the **Request Parameters** at these calls:

**categoryId**
- Get Categories

**CurrencyCode**
- **Get Regions** displays the country/state codes of the warehouses. If you are concerned about having the proper **CurrencyCode**, then this will allow you to know what region warehouse support team to call to get the confirmed **CurrencyCode**.

**LanguageCode**
- Get Item by Id
- Get Items
- Get Items by Filter

**RegionID**
- Get Regions

**PriceGroup**
- Order: Get Price Group(s)

**StoreID**
- Get Stores

# paths./categories/{categoryId}/items.get.parameters[].description
The Id of the Category whose Items are to be retrieved.

# paths./categories/{categoryId}/items.get.parameters[].description
The 3-character ISO currency code indicating pricing to be returned.

# paths./categories/{categoryId}/items.get.parameters[].description
The 2-character ISO language code indicating language of translations.

# paths./categories/{categoryId}/items.get.parameters[].description
The Region ID, fetched using "Get Regions"

# paths./categories/{categoryId}/items.get.parameters[].description
The Price Group ID, fetched using "Get Price Groups"

# paths./categories/{categoryId}/items.get.parameters[].description
The Store ID, fetched using "Get Stores"

# paths./categories/{categoryId}/items.get.responses.200.content.application/json.example[].Description
Test Item (description)

# paths./categories/{categoryId}/items.get.responses.200.content.application/json.example[].Specifications
Test Item (specs)

# paths./categories/{categoryId}/items.get.responses.200.content.application/json.example[].Languages[].Description
Test Item (desc)

# paths./categories/{categoryId}/items.get.responses.200.content.application/json.example[].Languages[].Specifications
Test Item (specs)

# paths./categories/{categoryId}/items.get.responses.404.description
A Category with the given Category ID was not found.

# paths./categories/{categoryId}/items.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./regions.get.description
Retrieves an array of Regions.

# paths./regions.get.responses.200.description
Returns an array of valid Region objects.

# paths./regions.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./stores.get.description
The DirectScale commission engine contains a collection of "stores". Products and product categories are categorized into specific "stores". For instance, Retail, Wholesale, etc., listings that contain products and categories.

# paths./stores.get.responses.200.description
Returns an array of valid Store objects.

# paths./stores.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./categories/{categoryId}/subcategories.get.description
Retrieves an array of Sub Categories.

You can get the **Request Parameter** at this call: **categoryId** - Get Categories

# paths./categories/{categoryId}/subcategories.get.parameters[].description
The ID of the Category whose Sub Categories are to be retrieved.

# paths./categories/{categoryId}/subcategories.get.responses.200.description
Returns an array of valid Sub Category objects.

# paths./categories/{categoryId}/subcategories.get.responses.404.description
A Category with the given Category ID was not found.

# paths./categories/{categoryId}/subcategories.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./items/{itemId}.delete.description
Delete an inventory item.

You can get the **Request Parameter** at these calls:

**itemId**
- Get Items by Filter
- Get Item by SKU

# paths./items/{itemId}.put.description
Update an existing inventory item.

You can get the **Request Parameter** at this call:

**itemId**
- Get Item by Id
- Get Item by SKU
- Get Items by Filter

# paths./items.post.description
Creates a new inventory item.

**WARNING:** This call does **not** have validation, so as long as the array variables are present, the call will create the desired item, no matter the fields missing.

# paths./items.get.description
Return an array of all available items.

**Note:** The full Image path for the item is on the Disco application server, at this URL: https://.corpadmin.directscale.com/CMS/Images/Inventory/

The "Discounts" array is a collection of all the prices. The "Type" field is an enumeration, "Discount, Price, RewardCost". So, if it's "0", it's the discounted price. If it's "1", it's the original price. If it's "2", it's the Reward Point cost.

What's happening here is that you have Type => 1 (Price) and Type => 0 (Discount), so you can show both prices (with a slash through the full price).

# paths./items.get.responses.200.content.application/json.example[].Languages[].Description
Test Item (desc)

# paths./items.get.responses.200.content.application/json.example[].Languages[].Specifications
Test Item (specs)

# paths./items.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./item/{itemId}/stockLevel/{warehouseId}.get.description
Retrieves Stock Level information for Item based on a valid Item ID and Warehouse ID.

You can get the **Request Parameters** at these calls:

**itemId**
- Get Items by Filter
- Get Item by SKU

**warehouseId**
- Get Regions

# paths./item/{itemId}/stockLevel/{warehouseId}.get.parameters[].description
The ID of the Warehouse for the given Item to retrieve. 

# paths./item/{itemId}/stockLevel/{warehouseId}.get.responses.404.description
An Item with the given Item ID or Warehouse ID was not found.

# paths./item/{itemId}/stockLevel/{warehouseId}.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./items/{itemId}/stockLevel.put.description
Sets the On Hand stock level for the given Warehouse and Item.

You can get the **Request Parameter** at these calls:

**itemId**
- Get Item by Id
- Get Items by Filter
- Get Item by SKU

** warehouseId **
- Get Regions

# paths./items/{itemId}/stockLevel.put.parameters[].description
The ItemId of the item for which you are adjusting stock.

# paths./items/{itemId}/stockLevel.put.responses.200.description
The stock level for the item was successfully updated.

# paths./items/{itemId}/stockLevel.put.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./categories/{categoryId}/topproducts.get.description
Return a list of top-selling items in a particular category. Optional filter parameters will limit translations, prices, and products returned.

**NOTE:** This call runs a sales query to fetch the top-selling products, which is then cached and kept for 4 hours, for each category/region/etc. The first time this call is made, it could take several seconds, but subsequently should only take milliseconds for cache retrieval (until the 4 hours pass).

You can get the **Request Parameters** at these calls:

**categoryId**
- Get Categories

**CurrencyCode**
- Get Regions displays the country/state codes of the warehouses. If you are concerned about having the proper CurrencyCode, then this will allow you to know what region warehouse support team to call to get the confirmed CurrencyCode.

**LanguageCode**
- Get Item by Id
- Get Items
- Get Items by Filter

**RegionID**
- Get Regions

**PriceGroup**
- Order: Get Price Group(s)

**StoreID**
- Get Stores

# paths./categories/{categoryId}/topproducts.get.parameters[].description
The Id of the Category whose Items are to be retrieved.

# paths./categories/{categoryId}/topproducts.get.parameters[].description
The 3-character ISO currency code indicating pricing to be returned.

# paths./categories/{categoryId}/topproducts.get.parameters[].description
The 2-character ISO language code indicating language of translations.

# paths./categories/{categoryId}/topproducts.get.parameters[].description
The Region ID, fetched using "Get Regions"

# paths./categories/{categoryId}/topproducts.get.parameters[].description
The Price Group ID, fetched using "Get Price Groups"

# paths./categories/{categoryId}/topproducts.get.parameters[].description
The Store ID, fetched using "Get Stores"

# paths./categories/{categoryId}/topproducts.get.parameters[].description
The Country Code, fetched using "Get Regions"

# paths./categories/{categoryId}/topproducts.get.responses.200.description
Returns an array of requested top-selling item objects. If the category selected is empty the array will be empty.

# paths./categories/{categoryId}/topproducts.get.responses.200.content.application/json.example[].Description
Test Item (description)

# paths./categories/{categoryId}/topproducts.get.responses.200.content.application/json.example[].Specifications
Test Item (specs)

# paths./categories/{categoryId}/topproducts.get.responses.200.content.application/json.example[].Languages[].Description
Test Item (desc)

# paths./categories/{categoryId}/topproducts.get.responses.200.content.application/json.example[].Languages[].Specifications
Test Item (specs)

# paths./categories/{categoryId}/topproducts.get.responses.404.description
A Category with the given Category ID was not found.

# paths./categories/{categoryId}/topproducts.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# paths./warehouses.get.description
The DirectScale commission engine contains a collection of "warehouses". These represent storage locations for products, and are added and configured uniquely for each client. These warehouses receive (or fetch) shipment requests from DirectScale to build packages of product to send out via shipping providers.

This call returns all warehouses configured in the system, including a warehouse ID to be used in Shipping calls, and order creation calls.

# paths./warehouses.get.responses.500.description
Something went wrong... Here are some possible reasons for this error:
- Is the model being sent to the API incorrect?
- Did you forget a required field?
- Is the API marked as deprecated, and the date has expired?

If the answer is "No" to all of these questions, DirectScale could be experiencing technical difficulties. Please contact your DirectScale representative if the issue persists.

# components.schemas.InventoryItem.example.Languages[].Description
Test Item (desc)

# components.schemas.InventoryItem.example.Languages[].Specifications
Test Item (specs)

# components.schemas.InventoryLineItem.example.Description
Test Item (description)

# components.schemas.InventoryLineItem.example.Specifications
Test Item (specs)

# components.schemas.InventoryLineItem.example.Languages[].Description
Test Item (desc)

# components.schemas.InventoryLineItem.example.Languages[].Specifications
Test Item (specs)

# components.schemas.InventoryItemArray.example[].Languages[].Description
Test Item (desc)

# components.schemas.InventoryItemArray.example[].Languages[].Specifications
Test Item (specs)