put
https://api.duodeal.app/api/products/
Updates an existing product by its ID.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Product unique identifier |
Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | Product name |
reference | string | No | Product reference/SKU |
description | string | No | Product description |
active | boolean | No | Whether product is active |
archived | boolean | No | Whether product is archived |
url | string | No | External URL (e.g., supplier link) |
tips | string | No | Additional tips or notes |
customFields | object | No | Custom field values |
unity | object | No | Unit of measure: {"id": <unity_id>} |
medias | array | No | Associated media files: [{"id": <media_id>}, ...] |
prices | array | No | Update existing prices (see below) |
Updating Prices
To update existing prices, include the price id with the new price value:
"prices": [
{"id": 1, "price": 99.99}
]Note: To add new prices, use the Product Prices endpoints instead.
Response Fields
| Field | Type | Description |
|---|---|---|
id | integer | Product unique identifier |
name | string | Product name |
reference | string | Product reference/SKU |
description | string | Product description |
active | boolean | Whether product is active |
archived | boolean | Whether product is archived |
url | string | External URL |
tips | string | Additional tips or notes |
customFields | object | Custom field values |
unity | object | Unit of measure |
medias | array | Associated media files |
prices | array | Product prices by category |
requiredChildRelations | array | Required child products |
createdAt | datetime | Creation timestamp |
updatedAt | datetime | Last update timestamp |
Response
200 OK: Product successfully updated400 Bad Request: Invalid request body or validation error401 Unauthorized: Invalid or missing API key404 Not Found: Product not found
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
200Resource updated
400Bad request
401Unauthorized
404Resource not found
