# Update Product ## Update a Product ### 📌 Description This endpoint allows you to partially update an existing product. Unlike POST, which is used to create new products, PATCH only modifies specified fields of an existing product. ### 🔹 Use Cases - Updating product pricing without affecting other attributes. - Changing product status (e.g., from active to archived). - Modifying SKU or barcode while keeping other details intact. Endpoint: PATCH /api/fulfilment/products/{sku} Version: 1.0.0 Security: OAuth2 ## Path parameters: - `sku` (string, required) ## Request fields (application/json): - `availability_status` (integer, required) - `barcode` (string) - `cost_price` (number) - `country_code_of_origin` (string) - `currency` (string, required) Enum: "AED", "SAR" - `description` (string) - `dimensions` (object) - `dimensions.height` (number, required) - `dimensions.length` (number, required) - `dimensions.unit` (string, required) - `dimensions.width` (number, required) - `harmonized_system_code` (string) - `image` (string) - `inventory_tracked` (boolean) - `name` (string) - `partner_product_id` (string) - `platform_price` (number) - `requires_shipping` (boolean) - `retail_price` (number) - `selling_price` (number, required) - `sku` (string, required) - `status` (string) Enum: "active", "archived", "draft" - `total_sales` (number) - `track_expiry` (boolean) - `type` (string) - `vendor` (string) - `weight` (number) - `weight_unit` (string) ## Response 200 fields (application/json): - `availability_status` (integer) - `barcode` (string) - `cost_price` (number) - `country_code_of_origin` (string) - `created_at` (string) - `currency` (string) Enum: "AED", "SAR" - `description` (string) - `dimensions` (object) - `harmonized_system_code` (string) - `id` (string) - `image` (string) - `inventory_tracked` (boolean) - `name` (string) - `partner_product_id` (string) - `platform_price` (number) - `requires_shipping` (boolean) - `retail_price` (number) - `selling_price` (number) - `sku` (string) - `status` (string) Enum: "active", "archived", "draft" - `total_sales` (number) - `track_expiry` (boolean) - `type` (string) - `updated_at` (string) - `vendor` (string) - `weight` (number) - `weight_unit` (string) ## Response default fields (application/json): - `code` (string) Error code Example: "not_found" - `details` (object) Error details - `message` (string) Error message