Products API

Inventory and product management

GET/products

List products

Query Parameters

locationIdcategoryIdsearchisActiveis86dproductTypepagelimit
GET/products/{id}

Get product details

GET/products/barcode/{barcode}

Find product by barcode

Query Parameters

locationId
POST/products

Create a new product

Request Body

{
  "name": "string",
  "price": "number",
  "categoryId": "uuid (optional)",
  "description": "string (optional)",
  "sku": "string (optional)",
  "barcode": "string (optional)",
  "cost": "number (optional)",
  "taxRate": "number (optional)",
  "imageUrl": "string (url, optional)",
  "trackInventory": "boolean (optional)",
  "lowStockThreshold": "number (optional)",
  "productType": "ITEM | MODIFIER | BUNDLE (optional)"
}
PUT/products/{id}

Update a product

Request Body

{
  "name": "string (optional)",
  "price": "number (optional)",
  "isActive": "boolean (optional)",
  "is86d": "boolean (optional)",
  "categoryId": "uuid (optional)",
  "description": "string (optional)",
  "sku": "string (optional)",
  "barcode": "string (optional)"
}
POST/products/bulk-update

Bulk update products

Request Body

{
  "updates": "array of { id: uuid, data: ProductUpdateObject }"
}
POST/products/{id}/86

Mark product as 86'd (Unavailable)

DELETE/products/{id}/86

Unmark product as 86'd (Available)

DELETE/products/{id}

Delete a product