---
search:
  tags:
    - administration
    - PUT
seo:
  description: >-
    What this does: Updates an existing catalog product. This… Reference for the
    PUT /administration/product-catalog/{id} endpoint in the Leadtime Public API
    API.
sidebar:
  badge: PUT
  label: Update product
title: Update product
type: openapi-operation
---
**What this does:**
Updates an existing catalog product. This is a full update - all fields must be provided, even if they are not changing. For partial updates, use the PATCH endpoint instead.

**Important:**
- This endpoint only works with catalog products (products without projectId or taskId)
- All fields must be provided (use PATCH for partial updates)
- Variants and options can be updated by including their IDs in the request
- To remove variants or options, omit them from the arrays

**Description format:**
- Descriptions can be provided as HTML or Markdown
- The system automatically converts them to internal format (IDoc) for storage
- Supported formatting: tables, callouts, emojis, and basic text formatting

**Logo upload:**
To change the logo:
1. Call POST /api/public/workspace/upload to upload the new image file
2. Use the returned file ID in the logoId field
3. To remove the logo, set logoId to null

**Variant and option updates:**
- Include variant/option IDs to update existing ones
- Omit IDs to create new variants/options
- Omit variants/options entirely to remove them

**Validation:**
- Same validation rules apply as for creation
- Product must exist and be a catalog product

**Response:**
Returns the updated product with all details, including:
- Descriptions converted to HTML
- Logo URL (if logo is set)
- All variants and options with their configurations

<Operation source="api-reference" id="productcatalogcontroller-updateproduct" />
