---
title: "POST /api/style-variants/list"
method: POST
path: "/api/style-variants/list"
tags: ["Products/Variants"]
---

# POST /api/style-variants/list

`POST /api/style-variants/list`

## Request body

- object
  - `limit` integer — Number of results per page. The default and maximum vary per endpoint.
  - `page` integer — Page number (1-based). Defaults to 1.
  - `order` 'asc' | 'desc' | 'ASC' | 'DESC'
  - `sort` 'createdAt' | 'updatedAt' | 'name' | 'color' | 'styleId' | 'skuCount' | 'typeName'
  - `name` string
  - `codes` object
    - `codeId` string
    - `codeValue` string
  - `color` string
  - `styleId` string
  - `styleLevelId` string
  - `styleTypeId` string
  - `brands` string[]
  - `departments` string[]
  - `seasons` string[]
  - `collections` string[]
  - `suppliers` string[]
  - `mainSupplier` string
  - `vendors` string[]
  - `imagesFileIds` string[]
  - `overriddenFlag` string[]
  - `isComponent` boolean
  - `isStoryActive` boolean
  - `isArchived` boolean
  - `include` string[]
  - `updatedAfterUnixMs` number
  - `updatedBeforeUnixMs` number
  - `companyId` string
  - `certValidationStandardId` string
  - `certValidationExpirationDate` string
  - `certValidationIssueDate` string

## Response `200`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required — True when the request succeeded.
    - `pagination` object
      - `page` number, required — Current page number (1-based).
      - `limit` number, required — Page size used for this response. Endpoint defaults vary — see each endpoint's limit parameter.
      - `total` number, required — Total number of records across all pages.
      - `totalPages` number, required — Total number of pages. Iterate until page reaches totalPages.
  - `data` object[], required
    - `id` string, required
    - `externalId` string, nullable
    - `styleId` string, required
    - `forCompanyId` string, required
    - `name` string, required
    - `description` string, nullable
    - `codes` object[], required
      - `codeId` string, required — Identifier type for the code. Single-use (each may appear at most once): ERP_ID, PLM_ID, MAIN_SUPPLIERS_ID, PIM_ID, UPC_GTIN_12, EAN_GTIN_13, ZALANDO_ID, FASHIONCLOUD_ID. Multi-use (append a numeric suffix for additional entries, e.g. OTHER_ID1, OTHER_ID2): OTHER_ID, ALTERNATIVE_SUPPLIERS_ID.
      - `codeValue` string, required — The unique code value for this identifier, e.g. "ERP-001234".
    - `gender` string, nullable
    - `styleLevelId` string, required
    - `styleTypeId` string, required
    - `color` string, required
    - `imagesFileIds` string[], nullable
    - `featuredImage` object, nullable
      - `id` string, required
      - `url` string, nullable, required
      - `previewUrl` string, nullable, required
      - `fileType` string, nullable, required
      - `bucketName` string, required
      - `name` string, required
      - `fileSize` number, nullable, required
      - `contentType` string, nullable, required
      - `fileHash` string, nullable, required
      - `createdAt` string, date-time, nullable, required
      - `updatedAt` string, date-time, nullable, required
      - `createdBy` string, nullable, required
      - `createdByCompanyId` string, nullable, required
      - `createdByImpersonateId` string, nullable, required
      - `createdByImpersonateName` string, nullable, required
      - `createdByUserId` string, nullable, required
      - `createdByApiKeyId` string, nullable, required
      - `createdByApiKeyLabel` string, nullable, required
      - `updatedByUserId` string, nullable, required
      - `updatedByUserName` string, nullable, required
      - `updatedByCompanyId` string, nullable, required
      - `updatedByCompanyName` string, nullable, required
      - `updatedByImpersonateId` string, nullable, required
      - `updatedByImpersonateName` string, nullable, required
      - `updatedByApiKeyId` string, nullable, required
      - `updatedByApiKeyLabel` string, nullable, required
    - `brands` string[], nullable
    - `departments` string[], nullable
    - `seasons` string[], nullable
    - `collections` string[], nullable
    - `customProperties` string, nullable
    - `suppliers` string[], nullable
    - `mainSupplier` string, nullable
    - `vendors` string[], nullable
    - `claimIntentions` string[], nullable
    - `weight` object, nullable
      - `unit` string, required
      - `value` number, required
    - `overriddenFlag` string[], nullable
    - `isComponent` union
      - boolean
      - number
    - `isStoryActive` union
      - boolean
      - number
    - `isArchived` boolean, required
    - `skuCount` number
    - `createdAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable
    - `createdByImpersonateId` string, nullable
    - `createdByUserId` string, nullable
    - `createdByCompanyId` string, nullable
    - `createdByApiKeyId` string, nullable
    - `createdByApiKeyLabel` string, nullable
    - `updatedByImpersonateId` string, nullable
    - `updatedByUserId` string, nullable
    - `updatedByCompanyId` string, nullable
    - `updatedByApiKeyId` string, nullable
    - `updatedByApiKeyLabel` string, nullable
    - `qrCodeUrl` string, nullable — URL of the product's pre-generated QR code image (an SVG hosted on the Retraced CDN). Null until generation completes, which happens asynchronously after the product is created. The QR image encodes a Retraced-managed forwarding URL that resolves to the product's traceability page once the story is active. The URL is stable once generated — it is not regenerated when product data changes.
    - `tracingStory` object, nullable
      - `id` string, required
      - `tracingType` string, required
      - `tracingId` string, required
      - `isActive` boolean, required
      - `createdAt` string, date-time, nullable, required
      - `updatedAt` string, date-time, nullable, required
      - `tracingName` string, nullable
    - `isWeightAvailable` boolean
    - `featureImageUrl` string, nullable
    - `style` object
      - `id` string, required
      - `name` string, required
      - `description` string, nullable, required
      - `imagesFileIds` string[], nullable, required
      - `isComponent` boolean, required
    - `material` object, nullable
      - `id` string, required
      - `name` string, required
      - `description` string, nullable
      - `lines` object[]
        - `id` string, required
        - `rawMaterialId` string, required
        - `rawMaterialName` string, required
        - `percentage` number, nullable, required
        - `countriesOfOrigin` string, nullable, required
    - `type` object
      - `id` string, required
      - `name` string, required
      - `parentId` string, nullable, required
      - `hierarchyLevel` number, nullable, required
    - `bom` object[]
      - `id` string, required
      - `name` string, required
      - `styleId` string, required
    - `styleProperties` object
      - `brands` object[]
        - `id` string, required
        - `name` string, required
        - `category` string, required
      - `departments` object[]
        - `id` string, required
        - `name` string, required
        - `category` string, required
      - `seasons` object[]
        - `id` string, required
        - `name` string, required
        - `category` string, required
      - `collections` object[]
        - `id` string, required
        - `name` string, required
        - `category` string, required
    - `validationResult` object
      - `valid` boolean, required
      - `selectable` boolean, required
      - `description` array[], required
        - object[]
          - `type` string, required
          - `text` string, required
      - `certificateDuplications` object[], required
        - `type` string, required
        - `text` string, required
        - `claimId` string

## Changes

> 22 revisions in range; 1 not diffed.

- **2026-08-31** `97e51f27dc77` — 40 breaking, 75 info
  - the response property `data/items/brands` became nullable for the status `200`
  - the response property `data/items/claimIntentions` became nullable for the status `200`
  - the response property `data/items/collections` became nullable for the status `200`
  - the response property `data/items/createdAt` became nullable for the status `200`
  - …111 more

[Change history](https://skmtc.dev/retraced/apis/api-reference/changes/api/style-variants/list/post.md)

---

[API](https://skmtc.dev/retraced/apis/api-reference.md) · [All operations](https://skmtc.dev/retraced/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/retraced/api-reference/revisions/97e51f27dc77/schema)
