---
title: "/2026-01/marketing-solutions/product-sets"
method: POST
path: "/2026-01/marketing-solutions/product-sets"
tags: ["Reco"]
---

# /2026-01/marketing-solutions/product-sets

`POST /2026-01/marketing-solutions/product-sets`

Create a new product set

## Request body

- ValueResourceInputOfCreateProductSetRequest — Represents an API request message containing the usual valueResource data field, i.e. data is not an entity (no id). This can be used for association objects.
  - `data` ValueResourceOfCreateProductSetRequest — A class that represents a ValueType in a guild compliant way
    - `attributes` CreateProductSetRequest — Entity to create a product set
      - `datasetId` string
      - `isDraft` boolean
      - `name` string
      - `rules` ProductSetRule[]
        - `field` 'OBSOLETE_Extradata' | 'Category1' | 'Category2' | 'Category3' | 'ExternalItemId' | 'SalePrice' | 'Brand' | 'CustomLabel0' | 'CustomLabel1' | 'CustomLabel2' | 'CustomLabel3' | 'CustomLabel4', nullable — The field on which we want to apply the rule
        - `operator` 'IsIn' | 'IsNotIn' | 'Between' | 'NotBetween' | 'LessThan' | 'GreaterThan', nullable — The operator used with the field
        - `values` string[], nullable — The values on which we want to apply the rule
    - `type` string

## Response `200`

Product set created successfully

- ResourceOutcomeOfProductSet — A class implementing the response of the Criteo API as described in API Guild Guidelines with a single entity as body
  - `data` ResourceOfProductSet, nullable — A class that represents an entity in a guild compliant way
    - `attributes` ProductSet, nullable — Encapsulate a group of product
      - `clientType` 'Unknown' | 'CGrowth' | 'CMax', required — The client type of the product set
      - `creationDate` string, required — The creation date of the product set (UTC time in ISO8601 format). Example: "02/25/2022 14:51:26". Can be null if the value isn't available.
      - `datasetId` string, required — The dataset to which the product set belong
      - `id` string, nullable
      - `isFallbackAllowed` boolean
      - `keepVariantProducts` boolean, required
      - `minimumNumberOfProducts` integer, required — Minimum amount of products that should match the product set to consider it valid. Greater or equal than one.
      - `name` string, required — The name of the product set
      - `numberOfProducts` integer, nullable, required — The number of products matching the product set. Can be null for newly created product set.
      - `rules` ProductSetRule[], required — The rules identifying the product belonging to the set
        - `field` 'OBSOLETE_Extradata' | 'Category1' | 'Category2' | 'Category3' | 'ExternalItemId' | 'SalePrice' | 'Brand' | 'CustomLabel0' | 'CustomLabel1' | 'CustomLabel2' | 'CustomLabel3' | 'CustomLabel4', nullable — The field on which we want to apply the rule
        - `operator` 'IsIn' | 'IsNotIn' | 'Between' | 'NotBetween' | 'LessThan' | 'GreaterThan', nullable — The operator used with the field
        - `values` string[], nullable — The values on which we want to apply the rule
      - `status` 'Unknown' | 'Draft' | 'Pending' | 'Valid' | 'Invalid' | 'Deleted', required — The status of the product set
    - `id` string, nullable
    - `type` string, nullable
  - `errors` CommonProblem[], nullable
    - `code` string, nullable — A machine-readable error code, expressed as a string value.
    - `detail` string, nullable — A human-readable explanation specific to this occurrence of the problem
    - `instance` string, nullable — A URI that identifies the specific occurrence of the problem.
    - `source` object, nullable — A machine-readable structure to reference to the exact location(s) causing the error(s)
    - `stackTrace` string, nullable
    - `title` string, nullable — A short human-readable description of the problem type
    - `traceId` string, nullable — The request correlation ID this problem comes from.
    - `traceIdentifier` string, nullable — The request correlation ID this problem comes from. (deprecated, use traceId instead)
    - `type` 'unknown' | 'access-control' | 'authentication' | 'authorization' | 'availability' | 'deprecation' | 'quota' | 'validation', nullable — The problem's category.
  - `warnings` CommonProblem[], nullable
    - `code` string, nullable — A machine-readable error code, expressed as a string value.
    - `detail` string, nullable — A human-readable explanation specific to this occurrence of the problem
    - `instance` string, nullable — A URI that identifies the specific occurrence of the problem.
    - `source` object, nullable — A machine-readable structure to reference to the exact location(s) causing the error(s)
    - `stackTrace` string, nullable
    - `title` string, nullable — A short human-readable description of the problem type
    - `traceId` string, nullable — The request correlation ID this problem comes from.
    - `traceIdentifier` string, nullable — The request correlation ID this problem comes from. (deprecated, use traceId instead)
    - `type` 'unknown' | 'access-control' | 'authentication' | 'authorization' | 'availability' | 'deprecation' | 'quota' | 'validation', nullable — The problem's category.

---

[API](https://skmtc.net/criteo/apis/criteo-api.md) · [All operations](https://skmtc.net/criteo/apis/criteo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/criteo/criteo-api/revisions/c1721589426a/schema)
