# Products

Products represent a physical, digital, or abstract good that is offered for sale by a seller or supplier and is purchasable by a buyer user via an order. Products can be a static SKU or a version of a a static SKU, known as a variant. For example, a variant is often a size or color choice that drives a different product SKU. Products may also have inventory associated with them and various inventory attributes like quantity available and configurable stock level notifications.

## List products

 - [GET /products](https://api-docs.sitecore.com/ordercloud/products/products.list.md)

## Create a product

 - [POST /products](https://api-docs.sitecore.com/ordercloud/products/products.create.md)

## Retrieve a product

 - [GET /products/{productID}](https://api-docs.sitecore.com/ordercloud/products/products.get.md)

## Create or update a product

 - [PUT /products/{productID}](https://api-docs.sitecore.com/ordercloud/products/products.save.md): If an object with the same ID already exists, it will be overwritten.

## Delete a product

 - [DELETE /products/{productID}](https://api-docs.sitecore.com/ordercloud/products/products.delete.md)

## Partially update a product

 - [PATCH /products/{productID}](https://api-docs.sitecore.com/ordercloud/products/products.patch.md)

## Delete a product assignment

 - [DELETE /products/{productID}/assignments/{buyerID}](https://api-docs.sitecore.com/ordercloud/products/products.deleteassignment.md)

## List product specs

 - [GET /products/{productID}/specs](https://api-docs.sitecore.com/ordercloud/products/products.listspecs.md)

## List product suppliers

 - [GET /products/{productID}/suppliers](https://api-docs.sitecore.com/ordercloud/products/products.listsuppliers.md)

## Create or update a product supplier

 - [PUT /products/{productID}/suppliers/{supplierID}](https://api-docs.sitecore.com/ordercloud/products/products.savesupplier.md)

## Remove a product supplier

 - [DELETE /products/{productID}/suppliers/{supplierID}](https://api-docs.sitecore.com/ordercloud/products/products.removesupplier.md)

## List product variants

 - [GET /products/{productID}/variants](https://api-docs.sitecore.com/ordercloud/products/products.listvariants.md)

## Retrieve a product variant

 - [GET /products/{productID}/variants/{variantID}](https://api-docs.sitecore.com/ordercloud/products/products.getvariant.md)

## Update a product variant

 - [PUT /products/{productID}/variants/{variantID}](https://api-docs.sitecore.com/ordercloud/products/products.savevariant.md): Update a product variant.

## Partially update a product variant

 - [PATCH /products/{productID}/variants/{variantID}](https://api-docs.sitecore.com/ordercloud/products/products.patchvariant.md)

## Generate variants

 - [POST /products/{productID}/variants/generate](https://api-docs.sitecore.com/ordercloud/products/products.generatevariants.md)

## List product assignments

 - [GET /products/assignments](https://api-docs.sitecore.com/ordercloud/products/products.listassignments.md)

## Create or update a product assignment

 - [POST /products/assignments](https://api-docs.sitecore.com/ordercloud/products/products.saveassignment.md)

