---
title: "POST /api/admin/styles/list"
method: POST
path: "/api/admin/styles/list"
tags: ["Administration/Styles"]
---

# POST /api/admin/styles/list

`POST /api/admin/styles/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' | 'gender' | 'typeName'
  - `name` string
  - `nameOrCode` string
  - `codes` object
    - `codeId` string
    - `codeValue` string
  - `description` string
  - `gender` string
  - `styleTypeId` string
  - `styleLevelId` string
  - `brands` string[]
  - `departments` string[]
  - `seasons` string[]
  - `collections` string[]
  - `suppliers` string[]
  - `mainSupplier` string
  - `vendors` string[]
  - `linkedCompanyId` string — Match styles where this company id appears in main_supplier, suppliers (CSV), or vendors (CSV).
  - `imagesFileIds` string[]
  - `isComponent` boolean
  - `isStoryActive` boolean
  - `isArchived` boolean
  - `createdForMe` boolean
  - `isCreatedForNetwork` boolean
  - `include` string[]
  - `companyId` string
  - `certValidationStandardId` string
  - `certValidationExpirationDate` string
  - `certValidationIssueDate` string
  - `updatedAfterUnixMs` number
  - `updatedBeforeUnixMs` number

## 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 — Retraced-generated unique identifier for this style. Format is a ULID prefixed with 'style_' on newer records; legacy records may use an unprefixed alphanumeric ID. Stable — safe to store and use as a foreign key.
    - `externalId` string, nullable — Your own identifier for this product, if one was supplied on create. Null otherwise.
    - `forCompanyId` string, required
    - `name` string, required
    - `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".
    - `description` string, nullable
    - `gender` string, nullable
    - `styleLevelId` string, required — Retraced taxonomy identifier for the broad product level (e.g. APPAREL_END_CONSUMER_FINISHED_GOODS, FABRICS, TRIM_AND_ACCESSORIES). For the full list of valid values call GET /api/v2/style-types/ and read the parentId field.
    - `styleTypeId` string, required
    - `productLevel` string, nullable
    - `brands` string[], nullable
    - `departments` string[], nullable
    - `seasons` string[], nullable
    - `collections` string[], nullable
    - `claimIntentions` string[], nullable
    - `customProperties` string, nullable
    - `suppliers` string[], nullable
    - `mainSupplier` string, nullable
    - `vendors` string[], nullable
    - `imagesFileIds` string[], nullable
    - `images` object[]
      - `id` string, required
      - `url` string, required
      - `previewUrl` string, 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
      - `createdByCompanyId` string, nullable
      - `createdByImpersonateId` string, nullable
      - `createdByImpersonateName` string, nullable
      - `createdByUserId` string, nullable
      - `createdByApiKeyId` string, nullable
      - `createdByApiKeyLabel` string, nullable
      - `updatedByUserId` string, nullable
      - `updatedByUserName` string, nullable
      - `updatedByCompanyId` string, nullable
      - `updatedByCompanyName` string, nullable
      - `updatedByImpersonateId` string, nullable
      - `updatedByImpersonateName` string, nullable
      - `updatedByApiKeyId` string, nullable
      - `updatedByApiKeyLabel` string, nullable
    - `isComponent` union
      - boolean
      - number
    - `isStoryActive` union — Whether the public traceability page (product story) is active for this product. Activating it requires tracing data (e.g. a supply chain) to be attached to the product first.
      - boolean
      - number
    - `isArchived` boolean, required — True if the product has been archived. Archived products are excluded from default API results.
    - `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.
    - `createdAt` string, date-time, nullable — ISO 8601 UTC timestamp of when the record was created.
    - `updatedAt` string, date-time, nullable — ISO 8601 UTC timestamp of when the record was last modified. Use with updatedAfterUnixMs for incremental sync.
    - `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
    - `ecoFootPrint` object, nullable
      - `syntheticMaterialPercentage` number, nullable
      - `recycledMaterialPercentage` number, nullable
      - `hazardousMaterials` object[], nullable
        - `idx` number, required
        - `name` string, required
        - `percentage` number, required
      - `recyclabilityAbsenceDisruptor` boolean, nullable
      - `recyclabilityCanBeSorted` boolean, nullable
      - `recyclabilityCanCollectAtScale` boolean, nullable
      - `recyclabilityIndustrialScale` boolean, nullable
      - `recyclabilityRate` number, nullable
    - `weight` object, nullable
      - `unit` string, required
      - `value` number, required
    - `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 — True if a weight value has been recorded for this variant.
    - `featureImageUrl` string, nullable
    - `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
    - `bom` object[]
      - `id` string, required
      - `name` 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
    - `type` object
      - `id` string, required
      - `name` string, required
      - `parentId` string, nullable, required
      - `quantityUnits` string[], nullable, required
      - `weightUnits` string[], nullable, required
    - `linkedStyles` object[]
      - `styleId` 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` — 60 breaking, 77 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`
  - …133 more

[Change history](https://skmtc.dev/retraced/apis/api-reference/changes/api/admin/styles/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)
