openapi: 3.0.0
info:
title: VTex Pricing API
description: "Check the new [Pricing onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/pricing-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Pricing and is organized by focusing on the developer's journey.\r\n\r\nPricing is the VTEX module responsible for the SKU's price list. In this module, we have the base price of each SKU, optional fixed prices by trade policy, and rules that can be applied to dynamically generate different final prices according to the purchase context and the trade policy. \r\n\r\nFind more information on how to use this module and its business logic at our [Pricing onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/pricing-overview).\r\n\r\n## Rate limits per route\r\nThe rate limits per route revolve around the following values:\r\n\r\n\r\n| Operation | Rate | Burst credits |\r\n| - | - | - |\r\n| `GET` | No rate limits | No rate limits |\r\n| `POST` and `PUT` | 2000 per minute
33 per second | 500 |\r\n| `DELETE` | 1000 per minute
16 per second | 300 |\r\n\r\n### Burst credits\r\nIn case the account exceeds the limit frequency for a Rate Limiter (for instance, when one account makes 34 requests per second in any price insert/update route), we decrease from the Burst Credit count the exceeding (in this example, 1 Credit).\r\n\r\nIn the event of the Burst Credits reaching 0 (zero), the request is blocked with a Status 429 response.\r\n\r\nThe credits fill up over time when the route is not being used, at the same rate as the route's Rate Limiter. In our example, for each second not sending a PUT or POST request, we increase 40 Burst Credits to this Rate Limiter.\r\n\r\n### Response Headers for rate limits\r\nIn the response of any request to the Pricing API, there are headers indicating the current status of the Rate Limiting. This information may be useful to evaluate the ideal frequency to send requests to a route, and when to send a new request in the event of reaching a Rate Limit.\r\n\r\n- `Ratelimit-Limit`: Total Burst Credits offered to a route\r\n- `Ratelimit-Remaining`: How many Burst Credits are still available to use\r\n- `Ratelimit-Reset`: How long (in seconds) it will take for Burst Credits to fill up completely (it will fill up to the *Ratelimit-Limit*)\r\n- `Retry-After`: Indicates how many seconds you will need to wait until the Rate Limiter accepts a new request to this route again. If this header response exists, this means your current request has been rate-limited and has not been processed.\r\n\r\n\r\n### Integrating with Pricing v2 considering rate limits\r\nWhen developing an integration, consider the requests/route/account limits specified in the [Rate Limits per route](#rate-limits-per-route) section, and avoid surpassing this frequency.\r\n\r\nIf you happen to be rate limited, please await the time in seconds specified in `Retry-After` before making another request to the service, and reduce the rate of requests per second that your integration is making.\r\n\r\n\r\n\r\n## Index\r\n\r\n### Prices and Fixed Prices\r\n- `GET` [Get Price](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/prices/-itemId-)\r\n- `DELETE` [Delete Price](https://developers.vtex.com/docs/api-reference/pricing-api/#delete-/pricing/prices/-itemId-)\r\n- `PUT` [Create or Update Base Price or Fixed Prices](https://developers.vtex.com/docs/api-reference/pricing-api/#put-/pricing/prices/-itemId-)\r\n- `GET` [Get Fixed Prices](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/prices/-itemId-/fixed)\r\n- `POST` [Create or Update Fixed Prices on a price table or trade policy](https://developers.vtex.com/docs/api-reference/pricing-api/#post-/pricing/prices/-itemId-/fixed/-priceTableId-)\r\n- `GET` [Get Fixed Prices on a price table policy](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/prices/-itemId-/fixed/-priceTableId-)\r\n- `DELETE` [Delete Fixed Prices on a price table or trade policy](https://developers.vtex.com/docs/api-reference/pricing-api/#delete-/pricing/prices/-itemId-/fixed/-priceTableId-)\r\
\n- `GET` [GET Computed Price by price table or trade policy](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/prices/-itemId-/computed/-priceTableId-)\r\n\r\n\r\n### Pricing Configuration\r\n- `GET` [Get Pricing Configuration](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/config)\r\n- `GET` [Get Pricing v2 Status](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/migration)\r\n\r\n\r\n### Price Tables\r\n- `GET` [Get rules for a price table](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/pipeline/catalog/-priceTableId-)\r\n- `PUT` [Update rules for a price table](https://developers.vtex.com/docs/api-reference/pricing-api/#put-/pricing/pipeline/catalog/-priceTableId-)\r\n- `GET` [Get all price tables and their rules](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/pipeline/catalog)\r\n- `GET` [List price tables](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/tables)\r\n\n## Common parameters in the documentation\r\n\r\n| Parameter name | Description |\r\n| - | - |\r\n| `{{accountName}}` | Store account name. |\r\n| `{{environment}}` | The environment that will be called. |\r\n| `{{X-VTEX-API-AppKey}}` | Located in the headers of the requests, user authentication key. |\r\n| `{{X-VTEX-API-AppToken}}` | Located in the headers of the requests, authentication password. |"
contact: {}
version: '1.0'
servers:
- url: https://api.vtex.com/{accountName}
description: VTEX server URL.
variables:
accountName:
description: Name of the VTEX account. Used as part of the URL
default: apiexamples
paths:
/pricing/prices/{itemId}:
get:
tags:
- Prices and Fixed Prices
summary: VTex Get price by SKU ID
description: "Retrieves price data given a specific SKU ID. Within the `fixedPrices` object, there might be a list of prices for specific Trade Policies and Minimium Quantities of the SKU. Fixed Prices may also be scheduled.\r\n\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetPrice
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: itemId
in: path
description: SKU ID.
required: true
style: simple
schema:
type: integer
example: 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Getprice'
example:
itemId: '1234512354'
listPrice: 300
costPrice: 10
markup: 2400
basePrice: 250
fixedPrices:
- tradePolicyId: '1'
value: 666.66
listPrice:
minQuantity: 1
- tradePolicyId: '9'
value: 4500
listPrice:
minQuantity: 1
- tradePolicyId: '9'
value: 600
listPrice:
minQuantity: 1
dateRange:
from: '2017-12-07T14:30:00Z'
to: '2017-12-30T14:30:00Z'
- tradePolicyId: '9'
value: 5555.55
listPrice:
minQuantity: 1
dateRange:
from: '2017-12-20T14:30:00Z'
to: '2017-12-22T14:30:00Z'
- tradePolicyId: '9'
value: 555.55
listPrice:
minQuantity: 1
dateRange:
from: '2017-12-06T15:00:00Z'
to: '2017-12-14T15:00:00Z'
- tradePolicyId: '10'
value: 5555.55
listPrice:
minQuantity: 1
- tradePolicyId: '18'
value: 555.55
listPrice:
minQuantity: 1
deprecated: false
delete:
tags:
- Prices and Fixed Prices
summary: VTex Delete price all base and fixed prices of an SKU
description: "Deletes the Base Price and all available Fixed Prices for an SKU in all trade policies.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Delete all prices from account** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: DeletePrice
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
default: application/json
- name: itemId
in: path
description: SKU ID.
required: true
style: simple
schema:
type: integer
example: 1
responses:
'200':
description: OK
deprecated: false
put:
tags:
- Prices and Fixed Prices
summary: VTex Create or update base price or fixed prices
description: "Creates or updates an SKU Base Price or Fixed Prices. 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.\r\n\r\nYou may optionally set a list price. Additionally, you may set either a cost price or a markup value. By defining either one of them, the other will be calculated to conform to the formula`costPrice * (1 + markup) = basePrice`.\r\n\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Modify prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: CreateUpdatePriceOrFixedPrice
parameters:
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: itemId
in: path
description: SKU unique identifier number.
required: true
style: simple
schema:
type: integer
example: 1
requestBody:
content:
application/json:
schema:
type: object
required:
- markup
- basePrice
- listPrice
properties:
markup:
type: integer
description: 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.
example: 30
listPrice:
type: number
description: SKU's suggested selling price.
example: 50
basePrice:
type: number
description: 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`.
example: 100
costPrice:
type: number
description: 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.
example: 35
fixedPrices:
type: array
description: Information about the SKU's fixed prices.
items:
description: Array with general information about the SKU's fixed prices.
type: object
required:
- minQuantity
- value
- tradePolicyId
properties:
tradePolicyId:
type: string
description: Trade policy name or ID that will have the fixed price configured.
example: '1'
value:
type: number
description: Fixed price value.
example: 50.5
listPrice:
type: number
description: SKU List Fixed Price.
example: 50.5
minQuantity:
type: integer
description: Minimum quantity of the SKU for the fixed price to be applied.
example: 2
dateRange:
type: object
description: Period of time when the fixed price will be applied to the SKU.
required:
- from
- to
properties:
from:
type: string
description: Start date of the price.
example: '2021-12-30T22:00:00-03:00'
to:
type: string
description: End date of the price.
example: '2021-12-30T22:00:00-03:00'
example:
markup: 30
listPrice: 50
basePrice: 100
costPrice: 35
fixedPrices:
- tradePolicyId: '1'
value: 50.5
listPrice: 50.5
minQuantity: 2
dateRange:
from: '2021-12-30T22:00:00-03:00'
to: '2021-12-30T22:00:00-03:00'
responses:
'200':
description: OK
/pricing/prices/{itemId}/fixed:
get:
tags:
- Prices and Fixed Prices
summary: VTex Get fixed prices
description: "The **fixed price** is an optional price of the SKU for a specific trade policy with a specific minimum quantity to be activated. This method retrieves an array of Fixed Prices for an SKU in a Trade Policy with Minimum Quantities.\r\n\r\nThe default value for a Minimum Quantity is `1`. This means a Fixed Price will be valid for a SKU in a Trade Policy for orders containing the specified number of Minimum Quantity or above, unless a higher Minimum Quantity is specified.\r\n\r\nFixed prices may, optionally, be scheduled. If so, these objects will contain the `dateRange` object with `from` and `to` properties, indicating the start and end time of the scheduled fixed price in the RFC3339 timestamp format (`YYYY-MM-DDT23:59:60Z`).\r\n\r\n Note that the 'Z', at the end, represents the UTC time (GMT+00:00). If it was in GMT-03:00, for example, it would be (`YYYY-MM-DDT23:59:60-03:00`).\r\n\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetFixedPrices
parameters:
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: itemId
in: path
description: SKU ID.
required: true
style: simple
schema:
type: integer
example: 1
responses:
'200':
description: OK
content:
application/json; charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/FixedPrice'
example:
- tradePolicyId: '6'
value: 20.9
listPrice: 22.9
minQuantity: 1
dateRange:
from: '2021-12-30T22:00:00-03:00'
to: '2021-12-30T22:00:00-03:00'
- tradePolicyId: '1'
value: 18.9
listPrice:
minQuantity: 1
dateRange:
from: '2021-12-30T22:00:00-03:00'
to: '2021-12-30T22:00:00-03:00'
deprecated: false
/pricing/prices/{itemId}/fixed/{priceTableId}:
post:
tags:
- Prices and Fixed Prices
summary: VTex Create or update fixed prices on a price table or trade policy
description: "Creates or updates the fixed prices of an SKU for a specific price table or trade policy. You can add one or multiple fixed prices per SKU.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Modify prices** |\r\n\r\nThere 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).\r\n\r\n> ❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: createorupdatefixedpricesonpricetableortradepolicy
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
default: application/json
- name: itemId
in: path
description: SKU ID.
required: true
style: simple
schema:
type: integer
example: 1
- name: priceTableId
in: path
description: SKU **price table** name or **trade policy** ID.
required: true
style: simple
schema:
type: string
example: priceTableA
requestBody:
content:
application/json:
schema:
type: array
items:
type: object
description: Information about prices and fixed prices.
required:
- value
- minQuantity
properties:
value:
type: number
description: Fixed price value.
example: 50.5
listPrice:
type: number
description: SKU List Fixed Price.
example: 50.5
minQuantity:
type: integer
description: The minimum SKU quantity for the fixed price to be applied.
example: 2
dateRange:
type: object
description: Period of time when the fixed price will be applied to the SKU.
required:
- from
- to
properties:
from:
type: string
description: Start date of the price.
example: '2021-12-30T22:00:00-03:00'
to:
type: string
description: End date of the price.
example: '2021-12-30T22:00:00-04:00'
responses:
'200':
description: OK
deprecated: false
get:
tags:
- Prices and Fixed Prices
summary: VTex Get fixed prices on a price table or trade policy
description: "Retrieves all Fixed Prices on a price table or trade policy. \r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetFixedPricesonapricetable
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: itemId
in: path
description: SKU ID.
required: true
style: simple
schema:
type: integer
example: 1
- name: priceTableId
in: path
description: Price Table Name
required: true
style: simple
schema:
type: string
example: gold
responses:
'200':
description: OK
content:
application/json; charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/FixedPrice'
example:
- tradePolicyId: '6'
value: 20.9
listPrice: 22.9
minQuantity: 1
dateRange:
from: '2021-12-30T22:00:00-03:00'
to: '2021-12-30T22:00:00-04:00'
- tradePolicyId: '1'
value: 18.9
listPrice:
minQuantity: 1
deprecated: false
delete:
tags:
- Prices and Fixed Prices
summary: VTex Delete fixed prices on a price table or trade policy
description: "Deletes all Fixed Prices of an SKU in a specific Price Table or Trade Policy.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Delete all prices from account** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: Deletefixedpricesonapricetableortradepolicy
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: itemId
in: path
description: SKU ID.
required: true
style: simple
schema:
type: integer
example: 1
- name: priceTableId
in: path
description: Price Table or Trade Policy Name.
required: true
style: simple
schema:
type: string
example: gold
responses:
'200':
description: OK
deprecated: false
/pricing/prices/{itemId}/computed/{priceTableId}:
get:
tags:
- Prices and Fixed Prices
summary: VTex Get computed price by price table or trade policy
description: "Gets the Computed Price, which is the price after all the steps in the Pricing pipeline, for an SKU in a specific price table or trade policy. \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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: \r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetComputedPricebypricetable
parameters:
- name: categoryIds
in: query
description: Category ID.
required: true
style: form
explode: true
schema:
type: integer
example: 1
- name: brandId
in: query
description: Brand ID.
required: true
style: form
explode: true
schema:
type: integer
example: 3
- name: quantity
in: query
description: SKU quantity.
required: true
style: form
explode: true
schema:
type: integer
example: 2
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: itemId
in: path
description: SKU ID.
required: true
style: simple
schema:
type: integer
example: 1
- name: priceTableId
in: path
description: SKU Price Table Name.
required: true
style: simple
schema:
type: string
example: gold
responses:
'200':
description: OK
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/Getcomputedprice'
example:
tradePolicyId: '1'
listPrice: 30
costPrice: 76.92
sellingPrice: 18.9
priceValidUntil: '2018-12-20T18:12:14Z'
deprecated: false
servers:
- url: https://api.vtex.com/{account}/pricing
variables:
account:
default: DefaultParameterValue
/pricing/config:
get:
tags:
- Pricing Configuration
summary: VTex Get pricing configuration
description: "Retrieves Pricing configuration.\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetPricingConfig
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
responses:
'200':
description: OK
headers:
Access-Control-Allow-Credentials:
content:
text/plain:
schema:
type: string
example: 'true'
Access-Control-Allow-Origin:
content:
text/plain:
schema:
type: string
example: '*'
Connection:
content:
text/plain:
schema:
type: string
example: keep-alive
Content-Encoding:
content:
text/plain:
schema:
type: string
example: gzip
Content-Length:
content:
text/plain:
schema:
type: string
example: '118'
Date:
content:
text/plain:
schema:
type: string
example: Tue, 21 Feb 2017 16:11:39 GMT
Server:
content:
text/plain:
schema:
type: string
example: nginx
X-CDNIgnore:
content:
text/plain:
schema:
type: string
example: '1'
X-Powered-by-VTEX-Janus-Edge:
content:
text/plain:
schema:
type: string
example: v1.35.3
X-Track:
content:
text/plain:
schema:
type: string
example: stable
X-VTEX-Janus-Router-Backend-App:
content:
text/plain:
schema:
type: string
example: pricing-v3.21.12
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/PricingConfiguration'
example:
hasMigrated: true
migrationStatus: Completed
defaultMarkup: 100
priceVariation:
upperLimit:
lowerLimit:
minimumMarkups:
'1': 100
'2': 90
tradePolicyConfigs: []
sellersToOverride: []
hasPriceInheritance: false
priceInheritance: never
hasOptionalBasePrice: false
blockAccount: false
blockedRoutes:
priceTableSelectionStrategy: first
priceTableLimit:
deprecated: false
servers:
- url: https://api.vtex.com/{account}/pricing
variables:
account:
default: DefaultParameterValue
/pricing/migration:
get:
tags:
- Pricing Configuration
summary: VTex Get pricing v2 status
description: "Retrieves Pricing v2 status.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: GetPricingv2Status
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
responses:
'200':
description: OK
headers:
Access-Control-Allow-Credentials:
content:
text/plain:
schema:
type: string
example: 'true'
Access-Control-Allow-Origin:
content:
text/plain:
schema:
type: string
example: '*'
Connection:
content:
text/plain:
schema:
type: string
example: keep-alive
Content-Encoding:
content:
text/plain:
schema:
type: string
example: gzip
Content-Length:
content:
text/plain:
schema:
type: string
example: '52'
Date:
content:
text/plain:
schema:
type: string
example: Tue, 21 Feb 2017 16:13:39 GMT
Server:
content:
text/plain:
schema:
type: string
example: nginx
X-CDNIgnore:
content:
text/plain:
schema:
type: string
example: '1'
X-Powered-by-VTEX-Janus-Edge:
content:
text/plain:
schema:
type: string
example: v1.35.3
X-Track:
content:
text/plain:
schema:
type: string
example: stable
X-VTEX-Janus-Router-Backend-App:
content:
text/plain:
schema:
type: string
example: pricing-v3.21.12
content:
application/json; charset=utf-8:
schema:
type: object
properties:
isActive:
type: boolean
description: Defines if the account is active.
hasMigrated:
type: boolean
description: Defines if the account has migrated to Pricing V2.
example:
isActive: true
hasMigrated: true
deprecated: false
servers:
- url: https://api.vtex.com/{account}/pricing
variables:
account:
default: DefaultParameterValue
/pricing/pipeline/catalog/{priceTableId}:
get:
tags:
- Price Tables
summary: VTex Get rules for a price table
description: "Retrieves the rules of a specific price table.\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: Getrulesforapricetable
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: priceTableId
in: path
description: Price Table Name.
required: true
style: simple
schema:
type: string
example: b2c
responses:
'200':
description: OK
content:
application/json:
example:
tradePolicyId: b2c
rules:
- id: 0
context:
categories: {}
brands:
'2000009': Whiskas
stockStatuses:
internalCategories:
markupRange:
dateRange:
percentualModifier: 15
schema:
type: object
properties:
tradePolicyId:
type: string
description: Trade Policy ID (Price Table ID).
rules:
type: array
description: Array of rules for the price table.
items:
type: object
description: Object containing a price table rule.
properties:
id:
type: number
description: Rule ID.
context:
type: object
description: Rule Context is a group of filters to be checked at an item level when applying the rule. If all those filters check out, the rule will be applied for that item, unless there is a fixed price for that item.
properties:
categories:
type: object
description: 'Categories that an item should have to be eligible for the rule. Format: key: `categoryId`, value: `categoryName`.'
additionalProperties:
type: string
description: Category ID.
additionalProperties:
type: string
description: Category Name.
brands:
type: object
description: 'Brands that an item should have to be eligible for the rule. Format: key: `brandId`, value: `brandName`.'
additionalProperties:
type: string
description: Brand ID.
additionalProperties:
type: string
description: Brand Name.
stockStatuses:
type: object
description: Stock statuses.
nullable: true
internalCategories:
type: object
description: Internal Categories.
nullable: true
markupRange:
type: object
description: For an item to be eligible to the rule, it's markup should be in this Markup Range.
nullable: true
properties:
from:
type: integer
description: Item markup should be greater than or equal to this value.
to:
type: integer
description: Item markup should be less than or equal to this value.
dateRange:
type: object
description: The rule will be active during this time range.
nullable: true
properties:
from:
type: string
description: 'Date when rule will be activated. Date format: `RFC3339`.'
to:
type: string
description: 'Date when the rule will be deactivated. Date format: `RFC3339`.'
percentualModifier:
type: integer
description: Percentual modifier.
'401':
description: Unauthorized
'403':
description: Forbidden
'429':
description: Too many requests
deprecated: false
servers:
- url: https://api.vtex.com/{account}/pricing
variables:
account:
default: DefaultParameterValue
put:
tags:
- Price Tables
summary: VTex Update rules for a price table
description: "Updates the rules of a specific price table, by deleting all the rules from the requested price table and creating new rules based on the content of the request.\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Modify prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
- name: priceTableId
in: path
description: Price Table Name.
required: true
style: simple
schema:
type: string
responses:
'201':
description: Created
requestBody:
content:
application/json:
schema:
type: object
required:
- rules
example:
rules:
- id: 1
context:
categories:
Category ID: '1'
Category Name: Alimentação
brands:
Brand ID: '2000002'
Brand Name: Whiskas
markupRange:
from: 0
to: 200
dateRange:
from: '2022-01-23T19:00:00.000Z'
to: '2023-10-26T00:00:00.000Z'
percentualModifier: 0
properties:
rules:
type: array
description: Array of rules for the price table.
items:
type: object
description: Object containing a price table rule.
required:
- id
- context
- percentualModifier
properties:
id:
type: integer
description: Rule ID.
example: 0
context:
type: object
description: Rule Context is a group of filters to be checked at an item level when applying the rule. If all those filters check out, the rule will be applied for that item, unless there is a fixed price for that item.
required:
- categories
- brands
- markupRange
- dateRange
properties:
categories:
type: object
description: 'Categories that an item should have to be eligible for the rule. Format: key: `categoryId`, value: `categoryName`.'
additionalProperties:
type: string
description: Category ID.
example: '209'
additionalProperties:
type: string
description: Category Name.
example: Books
brands:
type: object
description: 'Brands that an item should have to be eligible for the rule. Format: key: `brandId`, value: `brandName`.'
additionalProperties:
type: string
description: Brand ID.
example: '421'
additionalProperties:
type: string
description: Brand Name.
example: Goldman
stockStatuses:
type: object
description: Stock statuses.
nullable: true
example:
internalCategories:
type: object
description: Internal Categories.
nullable: true
example:
markupRange:
type: object
description: For an item to be eligible to the rule, it's markup should be in this Markup Range.
nullable: true
example:
required:
- from
- to
properties:
from:
type: integer
description: Item markup should be greater than or equal to this value.
example: 0
to:
type: integer
description: Item markup should be less than or equal to this value.
example: 200
dateRange:
type: object
description: The rule will be active during this time range.
required:
- from
- to
properties:
from:
type: string
description: 'Date when rule will be activated. Date format: `RFC3339`.'
example: '2019-10-23T19:00:00.000Z'
to:
type: string
description: 'Date when the rule will be deactivated. Date format: `RFC3339`.'
example: '2019-10-26T00:00:00.000Z'
percentualModifier:
type: number
description: Percentual modifier.
example: 0
/pricing/pipeline/catalog:
get:
tags:
- Price Tables
summary: VTex Get all price tables and their rules
description: "Retrieves a list of all price tables and their rules.\r\n\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: getallpricetablesandrules
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
responses:
'200':
description: OK
content:
application/json:
example:
- tradePolicyId: '2'
rules:
- id: 0
context:
categories: {}
brands: {}
stockStatuses:
internalCategories:
markupRange:
dateRange:
percentualModifier: 20
- tradePolicyId: b2c
rules:
- id: 0
context:
categories: {}
brands:
'2000009': Whiskas
stockStatuses:
internalCategories:
markupRange:
dateRange:
percentualModifier: 15
schema:
type: array
items:
type: object
description: Information about the price table.
properties:
tradePolicyId:
type: string
description: Trade Policy ID (Price Table ID).
rules:
type: array
description: Array of rules for the price table.
items:
type: object
description: Object containing a price table rule.
properties:
id:
type: number
description: Rule ID.
context:
type: object
description: Rule Context is a group of filters to be checked at an item level when applying the rule. If all those filters check out, the rule will be applied for that item, unless there is a fixed price for that item.
properties:
categories:
type: object
description: 'Categories that an item should have to be eligible for the rule. Format: key: `categoryId`, value: `categoryName`.'
additionalProperties:
type: string
description: Category ID.
additionalProperties:
type: string
description: Category Name.
brands:
type: object
description: 'Brands that an item should have to be eligible for the rule. Format: key: `brandId`, value: `brandName`.'
additionalProperties:
type: string
description: Brand ID.
additionalProperties:
type: string
description: Brand Name.
stockStatuses:
type: object
description: Stock statuses.
nullable: true
internalCategories:
type: object
description: Internal Categories.
nullable: true
markupRange:
type: object
description: For an item to be eligible to the rule, it's markup should be in this Markup Range.
nullable: true
properties:
from:
type: integer
description: Item markup should be greater than or equal to this value.
to:
type: integer
description: Item markup should be less than or equal to this value.
dateRange:
type: object
description: The rule will be active during this time range.
nullable: true
properties:
from:
type: string
description: 'Date when rule will be activated. Date format: `RFC3339`.'
to:
type: string
description: 'Date when the rule will be deactivated. Date format: `RFC3339`.'
percentualModifier:
type: integer
description: Percentual modifier.
deprecated: false
servers:
- url: https://api.vtex.com/{account}/pricing
variables:
account:
default: DefaultParameterValue
/pricing/tables:
get:
tags:
- Price Tables
summary: VTex List price tables
description: "Retrieves a list of all price tables.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| Pricing | Price List | **Read prices** |\r\n\r\nThere 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).\r\n\r\n>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations."
operationId: Listpricetables
parameters:
- name: Content-Type
in: header
description: Describes the type of the content being sent.
required: true
style: simple
schema:
type: string
default: application/json
- name: Accept
in: header
description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
required: true
style: simple
schema:
type: string
example: application/json
responses:
'200':
description: OK
content:
application/json:
example:
- '1'
- '2'
- '3'
- b2c
- b2b
- gold
schema:
type: array
description: Array of price tables.
items:
type: string
description: Price table name.
deprecated: false
servers:
- url: https://api.vtex.com/{account}/pricing
variables:
account:
default: DefaultParameterValue
components:
schemas:
FixedPrice:
required:
- tradePolicyId
- value
- listPrice
- minQuantity
type: object
description: Fixed price request body information.
properties:
tradePolicyId:
type: string
description: Trade Policy ID.
value:
type: number
description: Trade Policy Fixed Price Value.
listPrice:
type: number
description: Trade Policy List Price Value.
nullable: true
minQuantity:
type: integer
format: int32
description: Trade Policy Fixed Price Minimum Item Quantity.
dateRange:
$ref: '#/components/schemas/DateRange'
DateRange:
description: Trade Policy Fixed Price Validity Period Object.
required:
- from
- to
type: object
properties:
from:
type: string
description: Indicates the date and time when the fixed price will start to be valid.
to:
type: string
description: Indicates the date and time from which the fixed price will no longer be valid.
Getprice:
required:
- itemId
- listPrice
- costPrice
- markup
- basePrice
- fixedPrices
type: object
description: Price request body information.
properties:
itemId:
type: string
description: SKU ID.
listPrice:
type: integer
format: int32
description: Suggested retail price for the SKU.
costPrice:
type: integer
format: int32
description: SKU's cost price.
markup:
type: integer
format: int32
description: Desired profit margin with the SKU's sale.
basePrice:
type: integer
format: int32
description: SKU's reference price.
fixedPrices:
type: array
items:
$ref: '#/components/schemas/FixedPrice'
description: The fixed price is a price that overlaps all other existing price configurations of a price table.
Getcomputedprice:
required:
- tradePolicyId
- listPrice
- sellingPrice
- priceValidUntil
type: object
description: Computed price request body information.
properties:
tradePolicyId:
type: string
description: Trade Policy ID ou `priceTableId`.
listPrice:
type: integer
format: int32
description: Trade Policy List Price, also known as "from" price.
costPrice:
type: number
description: Cost price.
sellingPrice:
type: number
description: Computed Price before applying coupons, promotions and taxes. This price may change before reaching the shelf.
priceValidUntil:
type: string
description: Date until when the computed price will be valid, due to price scheduling. If no price scheduling applies, this will be set a year from the current time.
PricingConfiguration:
required:
- hasMigrated
- defaultMarkup
- minimumMarkups
type: object
description: Pricing configuration request body information.
properties:
hasMigrated:
type: boolean
description: Defines if the account has migrated to Pricing V2.
migrationStatus:
type: string
description: Pricing V2 migration status.
defaultMarkup:
type: integer
format: int32
description: Account default markup.
priceVariation:
type: object
description: Price Variation object.
properties:
upperLimit:
type: integer
description: Upper variation limit.
nullable: true
lowerLimit:
type: integer
description: Lower variation limit.
nullable: true
minimumMarkups:
type: object
description: Account minimum markup.
additionalProperties:
description: Additional property.
type: integer
format: int32
tradePolicyConfigs:
type: array
description: Trade Policy Configurations array.
items:
type: object
description: Information trade polity configuration.
properties:
tradePolicyId:
type: string
description: Trade Policy ID.
minimumMarkup:
type: integer
description: Trade Policy Minimum Markup.
rulesShouldAffectListPrice:
type: boolean
description: Defines if the Price Rule should affect the list price too.
sellersToOverride:
type: array
description: Overrides prices from sellers.
nullable: true
items:
type: string
description: Seller ID.
hasPriceInheritance:
type: boolean
description: Deprecated. Use the `priceInheritance` field instead.
deprecated: true
priceInheritance:
type: string
description: 'Condition of price inheritance from its parent account. This field can have three possible values: `never` if the store should never inherit prices, `nonexistent` if the store should only inherit prices in case of nonexistent prices for a given product, or `always` if the store should always inherit prices, regardless of its own prices.'
hasOptionalBasePrice:
type: boolean
description: Defines if optional base price is allowed.
blockAccount:
type: boolean
description: Defines if access to the Pricing APIs is blocked for external requests.
blockedRoutes:
type: array
description: Array with all blocked routes.
nullable: true
items:
type: string
description: Blocked route.
priceTableSelectionStrategy:
type: string
description: 'The strategy used to get prices when there is more than one option. Possible values: `first`, `highest`, `lowest`. Default: `first`.'
default: first
priceTableLimit:
type: integer
description: Price Table Limit.
nullable: true
securitySchemes:
appKey:
type: apiKey
in: header
name: X-VTEX-API-AppKey
description: Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys).
appToken:
type: apiKey
in: header
name: X-VTEX-API-AppToken
description: Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys).
VtexIdclientAutCookie:
type: apiKey
in: header
name: VtexIdclientAutCookie
description: '[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours.'
tags:
- name: Price Tables
- name: Prices and Fixed Prices
- name: Pricing Configuration
security:
- appKey: []
appToken: []
- VtexIdclientAutCookie: []