Products

Products are saleable items in your inventory, including modifier products.

List products

GET /v1/companies/5678/products Get all products at a given company
GET /v1/companies/5678/categories/231/products Get all products for a given category at a given company
GET /v1/companies/5678/products ?tag=on_special Filter products by tags at a given company
GET /v1/companies/5678/sites/827/products Get all products sold, purchased, or inventoried at a given site
GET /v1/companies/5678/sites/827/products ?sold=true&purchased=false Get all products sold but not purchased by a given site
GET /v1/companies/5678/sites/827/products ?tag=on_special Filter products by tags at a given site
GET /v1/companies/5678/sites/827/categories/231/products Get all products for a given category at a given site
  • In addition to the tag filter, you can use boolean filters sold, purchased and inventoried for product filtering at a given site.

Get a product

GET /v1/companies/5678/products/826018 Get a product

Whenever possible, specify a site ID in your request. The sites section will collapse into the top level of the response, making it much flatter:

GET /v1/companies/5678/sites/543/products/826018 Get a site’s version of a product
GET /v1/companies/5678/products/826018/modifiers Get modifier data for a given product

The pricing of the modifiers above relates to the use of pop-up modifiers in Kounta whereby site's can set specific pricing when a modifier is attached to a particular product.

Create a product

You can create a product without making it available at any sites.

POST /v1/companies/5678/products Create a product
  • Only the name and either unit_price or unit_price_ex_tax fields are required. The price will be added to the base price list. If no taxes are specified, the product is assumed to be tax free.
  • After you create a product, you should add it to one or more sites for sale. See the Update a product action for details.
  • See Images for how to add product images.
  • is_modifier is optional. If not provided it will default to false.
  • is_modifier cannot be set to true on products that have variants.
  • variable_price is optional and will default to false if not provided.
  • If variable_price is true the POS will always prompt for a price that must be between min_sell_price and max_sell_price.

If you create a product for sale at a specific site, you can include site-specific information inline:

POST /v1/companies/5678/sites/252/products Create a product to be sold at a given site

If the site you specify has been assigned an alternate price list, the price you specify will be assigned to both the base and the assigned price lists.

POST /v1/companies/5678/sites/252/products Create a product with option sets
  • When option_sets is provided is must have at least one item.
  • The option_sets must only contain unique and valid option sets.
  • The order that option sets provided in will be reflected on the POS.
  • When updating a product the option_sets will always replace any existing option_sets.

Update a product

PUT /v1/companies/5678/products/29603 Update a product
  • To add or remove tags or taxes, you need to replace their entire collections.
  • is_modifier is optional. If not provided the value will remain the same.
  • is_modifier cannot be set to true on products that have variants.
  • variable_price is optional and will default to false if not provided.
  • If variable_price is true the POS will always prompt for a price that must be between min_sell_price and max_sell_price.

To make products available for sale on one or more sites:

PUT /v1/companies/5678/sites/288/products/29603 Add a product to a site
  • taxes and cost_taxes should be a list of tax IDs.
  • Including a unit_price or cost_price will set the product's sell price or cost price (tax inclusive price) on the site's current price list.

All fields are optional. You can make a product available on a site as simply as:

PUT /v1/companies/5678/sites/288/products/29603 Add a product to a site
DELETE /v1/companies/5678/sites/288/products/29603 Remove a product from a site

Webhooks

Here is a list of the supported webhook topics.

Important: It is possible for individual sites to override the company-level product; such as a different price. However, the webhooks below are only subscriptions to the company-level products. Changes to site-level products or price lists will not cause the webhook to be triggered.

Note: The product body sent through the webhook will be different from what is returned from the company-level product API. Specifically it will not include the sites key which contains pricing and other details specific to each site.

products/created

When a product is created. You will receive the complete product.

products/updated

When a company-level product is updated. You will receive the complete product after the modifications have been applied.

products/deleted

When a product is deleted. You will receive the complete product.

Important: A company-level product may be assigned to none, one or several sites. Unassigning a product from a site is not the same as removing it at a company level. This webhook is only triggered if the product is deleted at a company-level.