---
title: "Update Product Collection"
method: PUT
path: "/v1/product-collections/{productCollectionId}"
tags: ["Product Collections"]
---

# Update Product Collection

`PUT /v1/product-collections/{productCollectionId}`

Updates the product collection.

For `STATIC` collections, you can update only the `name`.

For `AUTO_UPDATE` collections, you can update its `name` and `filters`.

## Request body

- union — Response body schema for **PUT** `v1/product-collections/{productCollectionId}`.
  - ProductCollectionsUpdateStaticRequestBody — Request body schema for **PUT** `v1/product-collections/{productCollectionId}`.
    - `name` string, required — Unique user-defined product collection name.
  - ProductCollectionsUpdateDynamicRequestBody — Request body schema for **PUT** `v1/product-collections/{productCollectionId}`.
    - `name` string — Unique user-defined product collection name.
    - `filter` object — Defines a set of criteria and boundary conditions for an `AUTO_UPDATE` product collection type. Sending the `filter` object overwrites the existing values.
      - `junction` 'and' | 'or' — 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 a product collection object if a valid identifier was provided in the path.

- ProductCollectionsUpdateResponseBody — 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.
  - `updated_at` string, date-time — Timestamp representing the date and time when the product collection was last updated. The value is shown in the ISO 8601 format.

## Other responses

- `400` — Returns an error if the data is invalid.
- `404` — Returns an error when requesting a product collection that has been deleted or does not exist.

---

[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)
