2.3 KiB
2.3 KiB
PUT /article/{sku}/brand
Protected. Requires a valid session cookie (credentials: 'include').
Set or clear article brand by SKU (null to clear)
Sets the article's brandId (must belong to the article's company).
Pass null to clear the brand. Returns the same shape as GET by SKU.
Path parameters
| Param | Required | Type | Description |
|---|---|---|---|
sku |
yes | string |
Body (JSON)
| Field | Required | Type | Description |
|---|---|---|---|
brandId |
yes | integer | Brand ID to assign, or null to remove the brand |
{
"brandId": 3
}
Signals
On success, emits SSE signal: article-<sku> (see GET /events).
Response 200
Updated article detail
{
"article": {
"id": 1,
"sku": "…",
"name": "…",
"slug": "…",
"track_stock": true,
"unitamount": 1,
"weight": 1,
"unit": {
"si": "…",
"basesi": "…",
"basesifactor": 1,
"symbol": "…",
"name": "…"
},
"brand": {
"id": 1,
"name": "…",
"fullHash": "…",
"thumbW": 1,
"thumbH": 1,
"thumbHash": "…"
},
"categoryIds": [
1
],
"photos": [
{
"sort": 1,
"fullHash": "…",
"fullW": 1,
"fullH": 1,
"fullSize": 1,
"thumbW": 1,
"thumbH": 1,
"thumbHash": "…"
}
],
"eans": [
"…"
],
"prices": [
{
"minmultiplier": 1,
"net": 1,
"taxRate": 1,
"customergroupId": 1
}
],
"suppliers": [
{
"id": 1,
"articleId": 1,
"entityId": 1,
"supplierName": "…",
"sku": "…",
"pu": 1,
"stock": 1,
"sort": 1,
"priceId": 1,
"price": {
"net": 1,
"taxId": 1,
"taxRate": 1
}
}
]
}
}
Errors
| Status | Description |
|---|---|
| 400 | Validation error — {"error":"…"} |
| 401 | Unauthorized — {"error":"…"} |
| 403 | Not authorized — {"error":"…"} |
| 404 | Article or brand not found — {"error":"…"} |
Generated from @openapi JSDoc. Do not edit by hand — run npm run docs:api.