---
title: "Create SKU attribute"
method: POST
path: "/api/catalog/pvt/stockkeepingunit/{skuId}/attribute"
tags: ["SKU attribute"]
---

# Create SKU attribute

`POST /api/catalog/pvt/stockkeepingunit/{skuId}/attribute`

Creates an attribute for an SKU, which is an informative field at the SKU level that doesn't create new variants. For example, a lipstick might have color and size as structured specifications that define SKU variants, while ingredients would be an informative attribute since they don't represent a new SKU.

>⚠️ Attributes only accept open-text values. The maximum length for `SpecificationValue` is 3,500 characters. If the request body contains characters that break the JSON string (for example, unescaped backslashes), the request will fail with a `400` status code.

You can also create and edit attributes via VTEX Admin, in **Catalog > Products and SKUs > [SKU editing page](https://help.vtex.com/docs/tutorials/adding-or-editing-skus)** in the **Attributes** section.

## 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 API | General | **Edit Product** |

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.

## Path parameters

- `skuId` integer, required

## Headers

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

## Request body

- object
  - `SpecificationName` string, required — Name of the SKU attribute. This is an open-text field.
  - `SpecificationValue` string, required — Value of the SKU attribute. This is an open-text field with a maximum length of 3,500 characters. Avoid characters that break the JSON string (for example, unescaped backslashes), as they will cause a status code `400` error.
  - `IsVisible` boolean — Defines if the attribute is visible on the store (`true`) or not (`false`).

## Response `200`

OK

- object
  - `Id` integer — SKU attribute unique numerical identifier.
  - `SkuId` integer — SKU's unique numerical identifier.
  - `SpecificationName` string — Name of the SKU attribute.
  - `SpecificationValue` string — Value of the SKU attribute.
  - `IsVisible` boolean — Defines if the attribute is visible on the store (`true`) or not (`false`).

## Other responses

- `400` — Bad Request

## Changes

- **2026-03-19** `b33ae94b7e62` — 1 info
  - endpoint added
- **2026-03-19** `afc172650ba2` — 1 breaking
  - api path removed without deprecation
- **2026-03-12** `7dea9e8aa356` — 1 info
  - added the media type `text/plain` for the response with the status `400`
- **2026-03-12** `a85881b17f55` — 2 info
  - api tag `SKU attribute` added
  - api tag `Unstructured SKU attribute` removed

[Change history](https://skmtc.dev/vtex/apis/catalog-api/changes/api/catalog/pvt/stockkeepingunit/:skuId/attribute/post.md)

---

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