---
title: "Create specification"
method: POST
path: "/api/catalog/pvt/specification"
tags: ["Specification"]
---

# Create specification

`POST /api/catalog/pvt/specification`

Creates a new product or SKU specification.

## 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 | Commercial | **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).

>❗ 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
  - `FieldTypeId` 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9, required — Field type ID can be `1 - Text`, `2 - Multi-Line Text`, `4 - Number`, `5 - Combo`, `6 - Radio`, `7 - Checkbox`, `8 - Indexed Text`, `9 - Indexed Multi-Line Text`.
  - `CategoryId` integer — Category ID associated with this specification.
  - `FieldGroupId` integer, required — ID of the group of specifications that contains the new specification.
  - `Name` string, required — Specification name. Limited to 100 characters.
  - `Description` string, nullable — Deprecated field.
  - `Position` integer — Store Framework - Deprecated. Legacy CMS Portal - This position number is used in ordering the specifications both in the navigation menu and in the specification listing on the product page.
  - `IsFilter` boolean — Store Framework - Deprecated. Legacy CMS Portal - To allow the specification to be used as a facet (filter) on the search navigation bar.
  - `IsRequired` boolean — Makes the specification mandatory (`true`) or optional (`false`).
  - `IsOnProductDetails` boolean — Store Framework - Deprecated. Legacy CMS Portal -If specification is visible on the product page.
  - `IsStockKeepingUnit` boolean — If `true`, it will be added as a SKU specification. If `false`, it will be added as a product specification field.
  - `IsWizard` boolean, nullable — Deprecated field.
  - `IsActive` boolean — Enable (`true`) or disable (`false`) specification.
  - `IsTopMenuLinkActive` boolean — Store Framework - Deprecated. Legacy CMS Portal - To make the specification visible in the store's upper menu.
  - `IsSideMenuLinkActive` boolean — Store Framework - Deprecated. Legacy CMS Portal - To make the specification field clickable in the search navigation bar.
  - `DefaultValue` string — Specification default value.

## Response `200`

OK

- object
  - `Id` integer — Specification ID.
  - `FieldTypeId` integer — Field type ID can be `1 - Text`, `2 - Multi-Line Text`, `4 - Number`, `5 - Combo`, `6 - Radio`, `7 - Checkbox`, `8 - Indexed Text`, `9 - Indexed Multi-Line Text`.
  - `CategoryId` integer — Category ID associated with this specification.
  - `FieldGroupId` integer — ID of the group of specifications that contains the new specification.
  - `Name` string — Specification name. Limited to 100 characters.
  - `Description` string, nullable — Specification description.
  - `Position` integer — Store Framework - Deprecated. Legacy CMS Portal - This position number is used in ordering the specifications both in the navigation menu and in the specification listing on the product page.
  - `IsFilter` boolean — Store Framework - Deprecated. Legacy CMS Portal - To allow the specification to be used as a facet (filter) on the search navigation bar.
  - `IsRequired` boolean — Makes the specification mandatory (`true`) or optional (`false`).
  - `IsOnProductDetails` boolean — Store Framework - Deprecated. Legacy CMS Portal -If specification is visible on the product page.
  - `IsStockKeepingUnit` boolean — If `true`, it will be added as a SKU specification. If `false`, it will be added as a product specification field.
  - `IsWizard` boolean, nullable — Deprecated field.
  - `IsActive` boolean — Enable (`true`) or disable (`false`) specification.
  - `IsTopMenuLinkActive` boolean — Store Framework - Deprecated. Legacy CMS Portal - To make the specification visible in the store's upper menu.
  - `IsSideMenuLinkActive` boolean — Store Framework - Deprecated. Legacy CMS Portal - To make the specification field clickable in the search navigation bar.
  - `DefaultValue` string — Specification default value.

---

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