# `GET /brand` Protected. Requires a valid session cookie (`credentials: 'include'`). List brands Lists brands for the authenticated user's selected company, sorted by name. Paged; `total` is the unpaged count. Each brand includes `articleCount` (child articles inherit the brand from their father article; father articles are not counted). Small-thumbnail fields are omitted by default. Set `includeSmallThumbs=true` to include each picture's `smallThumbW`, `smallThumbH`, and `smallThumbBinary` (base64-encoded AVIF bytes, resized with a 32px maximum edge). ## Query parameters | Param | Required | Type | Description | |-------|----------|------|-------------| | `offset` | no | integer | Number of brands to skip | | `limit` | no | integer | Number of brands to return | | `includeSmallThumbs` | no | boolean | Include each picture's small thumbnail dimensions and base64 AVIF bytes. | ## Response `200` Brand list ```json { "brands": [ { "id": 1, "name": "…", "articleCount": 1, "gsprpinfo": "…", "pics": [ { "fullHash": "…", "thumbW": 1, "thumbH": 1, "thumbHash": "…", "smallThumbW": 1, "smallThumbH": 1, "smallThumbBinary": "…" } ] } ], "total": 1, "offset": 1, "limit": 1 } ``` ## Errors | Status | Description | |--------|-------------| | 400 | Invalid offset, invalid limit, invalid includeSmallThumbs, or no company selected — `{"error":"…"}` | | 401 | Unauthorized — `{"error":"…"}` | | 403 | Not authorized — `{"error":"…"}` | | 404 | Company not found — `{"error":"…"}` | --- _Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._