---
title: "Create or update base price or fixed price"
method: PUT
path: "/pricing/prices/{itemId}"
tags: ["Prices and Fixed Prices"]
---

# Create or update base price or fixed price

`PUT /pricing/prices/{itemId}`

Creates or updates an SKU base price or fixed price. The **base price** is the basic selling price of a product, it comprises the cost price and the markup wanted in the sale of the product. The **fixed price** is an optional price of the SKU for a specific trade policy with a specific minimum quantity to be activated.

You may optionally set a list price. You must provide exactly two values among `basePrice`, `costPrice`, and `markup`. If all three are sent at the same time, the request will fail. If you provide both `costPrice` and `markup` and omit the `basePrice`, the `basePrice` will be automatically calculated using the following formula `costPrice * (1 + markup) = basePrice`.

>⚠️ This PUT request overwrites all fixed prices for the specified SKU with the provided data. It does not add new fixed prices individually — any existing prices not included in the request body will be deleted.

## 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** |
| --------------- | ----------------- | ----------------- |
| Pricing | Price List | **Modify prices** |

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

- `itemId` integer, required

## Headers

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

## Request body

- object
  - `markup` integer — The profit percentage that is to be obtained from the sale of that SKU. If you decide to fill the `markup` item, you must also fill the `costPrice`. The `basePrice` will be automatically generated based on both values.
  - `listPrice` number — SKU's suggested selling price.
  - `basePrice` number — SKU selling base price. If you decide to fill only the `basePrice` item, the `markup` and `costPrice` will be automatically generated to adapt to the number inserted in `basePrice`.
  - `costPrice` number — SKU selling cost price. If you decide to fill the `costPrice` item, you must also fill the `markup` and `basePrice` will be automatically generated based on both values.
  - `fixedPrices` object[] — Information about the SKU's fixed prices.
    - `tradePolicyId` string, required — The name or ID of the trade policy, or the name of the price table where the fixed price will be configured.
    - `value` number, required — Fixed price value.
    - `listPrice` number — SKU List Fixed Price.
    - `minQuantity` integer, required — Minimum quantity of the SKU for the fixed price to be applied.
    - `dateRange` object — Period of time when the fixed price will be applied to the SKU.
      - `from` string, required — Start date of the price. This date follows the [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format, which includes the time zone. Ensure that `to` is after than `from`, identical values may cause an error.
      - `to` string, required — End date of the price. This date follows the [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format, which includes the time zone. Ensure that `to` is after than `from`, identical values may cause an error.

## Response `200`

OK

## Changes

- **2025-07-08** `bab46f00bb1f` — 3 info
  - the request property `basePrice` became optional
  - the request property `listPrice` became optional
  - the request property `markup` became optional
- **2024-01-30** `1c926050c90d` — 1 breaking, 5 info
  - the `fixedPrices/items/` request property type/format changed from ``/`` to `object`/``
  - the `` request property default value `` was removed
  - the `basePrice` request property default value `100` was removed
  - the `costPrice` request property default value `35` was removed
  - …2 more
- **2023-02-17** `49631b235d69` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/vtex/apis/pricing-api/changes/pricing/prices/:itemId/put.md)

---

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