---
title: "Create Product Collection"
method: POST
path: "/v1/product-collections"
tags: ["Product Collections"]
---

# Create Product Collection

`POST /v1/product-collections`

This method creates a new product collection.

## Request body

- union — Request body schema for **POST** `v1/product-collections`.
  - ProductCollectionsCreateStaticRequestBody — Request body schema for **POST** `v1/product-collections`.
    - `type` 'STATIC', required — Show that the product collection is static (manually selected products).
    - `name` string, required — Unique user-defined product collection name.
    - `products` object[] — Defines a set of products for a `STATIC` product collection type.
      - `id` string, required — The product ID.
      - `product_id` string — Product ID for SKUs.
      - `object` 'sku' | 'product', required — Denotes the type of the object represented by the ID.
  - ProductCollectionsCreateDynamicRequestBody — Request body schema for **POST** `v1/product-collections`.
    - `type` 'AUTO_UPDATE', required — Show that the product collection is dynamic (products come in and leave based on set criteria).
    - `name` string, required — Unique user-defined product collection name.
    - `filter` object, required — Defines a set of criteria and boundary conditions for an `AUTO_UPDATE` product collection type.
      - `junction` 'and' | 'or', required — Logical Operator Between Filters. Filter by conditions set on the `junction` parameter indicating how the `conditions` should be accounted for in the query. An `AND` is an all-inclusive logical operator, meaning the `AND` operator displays a record if **ALL** the conditions separated by AND are TRUE, while an `OR` operator displays a record if **ANY** of the conditions separated by OR is TRUE.

## Response `200`

Returns information about the newly created collection, as well as an array containing the products.

- ProductCollectionsCreateResponseBody — This is an object representing a product collection base.
  - `id` string, required — Product collection ID.
  - `name` string, required — Unique user-defined product collection name.
  - `type` 'STATIC' | 'AUTO_UPDATE', required — Describes whether the product collection is dynamic (products come in and leave based on set criteria) or static (manually selected products).
  - `filter` object — Defines a set of criteria and boundary conditions for an `AUTO_UPDATE` product collection type.
    - `junction` 'and' | 'or', required — Logical Operator Between Filters. Filter by conditions set on the `junction` parameter indicating how the `conditions` should be accounted for in the query. An `AND` is an all-inclusive logical operator, meaning the `AND` operator displays a record if **ALL** the conditions separated by AND are TRUE, while an `OR` operator displays a record if **ANY** of the conditions separated by OR is TRUE.
  - `products` object[] — Defines a set of products for a `STATIC` product collection type.
    - `id` string, required — The product ID.
    - `product_id` string — Product ID for SKUs.
    - `object` 'sku' | 'product', required — Denotes the type of the object represented by the ID.
  - `created_at` string, date-time, required — Timestamp representing the date and time when the product collection was created. The value is shown in the ISO 8601 format.
  - `object` 'products_collection', required — The type of the object represented by JSON. This object stores information about the static product collection.

---

[API](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions.md) · [All operations](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-api-async-actions/revisions/4982266e0494/schema)
