---
title: "Create product assortment"
method: POST
path: "/api/catalog/pvt/assortment"
tags: ["Assortment"]
---

# Create product assortment

`POST /api/catalog/pvt/assortment`

Creates a new product assortment at the merchant level. The `name` field must be unique across the merchant's assortments.

The assortment is created empty, without included or excluded collections, which can later be added through the [Add included collection to product assortment](https://developers.vtex.com/docs/api-reference/assortments-api#post-/api/catalog/pvt/assortment/-productAssortmentID-/included-collections/-collectionID-) and [Add excluded collection to product assortment](https://developers.vtex.com/docs/api-reference/assortments-api#post-/api/catalog/pvt/assortment/-productAssortmentID-/excluded-collections/-collectionID-) endpoints.

>⚠️ This feature is only available for stores using the B2B Buyer Portal, which is currently available to select accounts.

## Permissions

Any user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise, they will receive a status code `403` error. These are the applicable resources for this endpoint:

| **Product** | **Category** | **Resource** |
| --- | ----- | ----- |
| Catalog | Content | **Product and SKU Management** |

There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.

To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication-overview#machine-authentication).

>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.

## Headers

- `Content-Type` string, required
- `Accept` string, required

## Request body

- object
  - `name` string, required — Assortment's unique name at the merchant level.

## Response `201`

Created

- ProductAssortment — Object with information about a product assortment.
  - `Id` integer — Assortment's unique numerical identifier.
  - `Name` string — Assortment's unique name.
  - `CreatedAt` string, date-time — Date and time when the assortment was created, in UTC format.
  - `UpdatedAt` string, date-time — Date and time when the assortment was last updated, in UTC format.
  - `IncludedCollections` integer[] — List of collection IDs explicitly allowed by the assortment.
  - `ExcludedCollections` integer[] — List of collection IDs explicitly restricted by the assortment.

## Other responses

- `422` — Unprocessable Entity

---

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