# Product Endpoints {#product-endpoints}


API endpoints for Products, Variants, Categories, and Warehouses.


## Products {#products}


```bash
# List products
GET /api/products?organizationId=xxx

# Get product by ID
GET /api/products/:id

# Create product
POST /api/products
{
  "name": "Ergonomic Keyboard",
  "code": "KB-ERG-001",
  "description": "Mechanical ergonomic keyboard",
  "categoryId": "category-uuid",
  "typeId": "type-uuid",
  "enabled": true,
  "organizationId": "org-uuid"
}

# Update product
PUT /api/products/:id

# Delete product
DELETE /api/products/:id
```


## Product Variants {#product-variants}


```bash
# List variants for a product
GET /api/product-variants?productId=xxx

# Create variant
POST /api/product-variants
{
  "productId": "product-uuid",
  "internalReference": "KB-ERG-001-BLK",
  "quantity": 100,
  "enabled": true,
  "options": [
    { "name": "Color", "value": "Black" }
  ],
  "price": {
    "unitCost": 45.00,
    "unitCostCurrency": "USD",
    "retailPrice": 89.99,
    "retailPriceCurrency": "USD"
  }
}
```


## Product Categories {#product-categories}


```bash
# List categories
GET /api/product-categories

# Create category
POST /api/product-categories
{
  "name": "Electronics",
  "description": "Electronic devices and accessories"
}
```


## Product Types {#product-types}


```bash
GET /api/product-types
POST /api/product-types
```


## Warehouses {#warehouses}


```bash
# List warehouses
GET /api/warehouses

# Create warehouse
POST /api/warehouses
{
  "name": "Main Warehouse",
  "code": "WH-MAIN",
  "active": true
}

# Add product to warehouse
POST /api/warehouses/:id/products
```


## Related Pages {#related-pages}


- [API Overview](https://sourcey-gauzy.pages.dev/api/overview/index.md)
- [Products & Inventory](https://sourcey-gauzy.pages.dev/features/products-and-inventory/index.md) — feature guide
