VTEX Pricing Configuration API

The Pricing Configuration API from VTEX — 2 operation(s) for pricing configuration.

Operations 2

GET /pricing/config VTex Get pricing configuration #
GET /pricing/migration VTex Get pricing v2 status #

Documentation

📖
Documentation
https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works
📖
Documentation
https://developers.vtex.com/docs/guides/bulk-import-buyer-organizations-spreadsheet
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-api-seller-portal-overview
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-overview
📖
Documentation
https://developers.vtex.com/docs/guides/checkout-overview
📖
Documentation
https://help.vtex.com/en/tutorial/customer-credit-overview--1uIqTjWxIIIEW0COMg4uE0
📖
Documentation
https://help.vtex.com/en/tutorial/data-subject-rights--6imchxTx09icupKMbzHVIM
📖
Documentation
https://developers.vtex.com/docs/api-reference/do-api
📖
Documentation
https://developers.vtex.com/docs/guides/managing-vtex-gift-cards
📖
Documentation
https://developers.vtex.com/docs/guides/gift-card-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/faststore/headless-cms-overview
📖
Documentation
https://developers.vtex.com/docs/api-reference/vtex-id-api
📖
Documentation
https://help.vtex.com/en/tracks/vtex-intelligent-search--19wrbB7nEQcmwzDPl1l4Cb/3qgT47zY08biLP3d5os3DG
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search@1.0.8
📖
Documentation
https://help.vtex.com/en/tracks/cms--2YcpgIljVaLVQYMzxQbc3z/1oN446gRGcR2s70RvBCAmj
📖
Documentation
https://developers.vtex.com/docs/guides/search-overview
📖
Documentation
https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3
📖
Documentation
https://developers.vtex.com/docs/guides/fulfillment
📖
Documentation
https://developers.vtex.com/docs/guides/marketplace-overview
📖
Documentation
https://developers.vtex.com/updates/release-notes/marketplace-protocol-documentation-update
📖
Documentation
https://developers.vtex.com/docs/guides/external-marketplace-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-connector
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw
📖
Documentation
https://help.vtex.com/en/tutorial/understanding-the-message-center--tutorials_84
📖
Documentation
https://developers.vtex.com/docs/guides/orders-overview
📖
Documentation
https://developers.vtex.com/docs/guides/changes-in-vtex-features-behavior-to-handle-pii-data
📖
Documentation
https://help.vtex.com/en/tutorial/payment-provider-protocol--RdsT2spdq80MMwwOeEq0m
📖
Documentation
https://developers.vtex.com/docs/guides/payments-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/vtex-pick-and-pack-last-mile--HN7WKV0xoq2ssVjsJlfzr
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-io-documentation-policies
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-hub
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-overview
📖
Documentation
https://developers.vtex.com/docs/guides/profile-system
📖
Documentation
https://developers.vtex.com/docs/guides/promotions-overview
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.reviews-and-ratings
📖
Documentation
https://developers.vtex.com/docs/guides/sent-offers-integration-guide-connectors
📖
Documentation
https://developers.vtex.com/docs/guides/sessions-system-overview
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-shipping-network
📖
Documentation
https://help.vtex.com/en/tutorial/sku-bindings--1SmrVgNwjJX17hdqwLa0TX
📖
Documentation
https://developers.vtex.com/docs/guides/subscriptions
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search/suggestions
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-tracking

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vtex-pricing-configuration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vtex-pricing-configuration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VTex Pricing Pricing Configuration 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.\n\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. \n\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).\n\n## Rate limits per route\nThe rate limits per route revolve around the following values:\n\n\n| Operation | Rate | Burst credits  |\n| - | - | - |\n| `GET` | No rate limits | No rate limits |\n| `POST` and `PUT` | 2000 per minute<br>33 per second | 500 |\n| `DELETE` | 1000 per minute<br>16 per second | 300 |\n\n### Burst credits\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).\n\nIn the event of the Burst Credits reaching 0 (zero), the request is blocked with a Status 429 response.\n\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.\n\n### Response Headers for rate limits\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.\n\n- `Ratelimit-Limit`: Total Burst Credits offered to a route\n- `Ratelimit-Remaining`: How many Burst Credits are still available to use\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*)\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.\n\n\n### Integrating with Pricing v2 considering rate limits\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.\n\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.\n\n\n\n## Index\n\n### Prices and Fixed Prices\n- `GET` [Get Price](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/prices/-itemId-)\n- `DELETE` [Delete Price](https://developers.vtex.com/docs/api-reference/pricing-api/#delete-/pricing/prices/-itemId-)\n- `PUT` [Create or Update Base Price or Fixed Prices](https://developers.vtex.com/docs/api-reference/pricing-api/#put-/pricing/prices/-itemId-)\n- `GET` [Get Fixed Prices](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/prices/-itemId-/fixed)\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-)\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-)\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-)\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-)\n\n\n### Pricing Configuration\n- `GET` [Get Pricing Configuration](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/config)\n- `GET` [Get Pricing v2 Status](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/migration)\n\n\n### Price Tables\n- `GET` [Get rules for a price table](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/pipeline/catalog/-priceTableId-)\n- `PUT` [Update rules for a price table](https://developers.vtex.com/docs/api-reference/pricing-api/#put-/pricing/pipeline/catalog/-priceTableId-)\n- `GET` [Get all price tables and their rules](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/pipeline/catalog)\n- `GET` [List price tables](https://developers.vtex.com/docs/api-reference/pricing-api/#get-/pricing/tables)\n\n## Common parameters in the documentation\n\n| Parameter name | Description |\n| - | - |\n| `{{accountName}}` | Store account name. |\n| `{{environment}}` | The environment that will be called. |\n| `{{X-VTEX-API-AppKey}}`   | Located in the headers of the requests, user authentication key. |\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
security:
- appKey: []
  appToken: []
- VtexIdclientAutCookie: []
tags:
- name: Pricing Configuration
paths:
  /pricing/config:
    get:
      tags:
      - Pricing Configuration
      summary: VTex Get pricing configuration
      description: 'Retrieves Pricing configuration.



        ## Permissions


        Any 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:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Pricing | Price List | **Read 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 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: null
                  lowerLimit: null
                minimumMarkups:
                  '1': 100
                  '2': 90
                tradePolicyConfigs: []
                sellersToOverride: []
                hasPriceInheritance: false
                priceInheritance: never
                hasOptionalBasePrice: false
                blockAccount: false
                blockedRoutes: null
                priceTableSelectionStrategy: first
                priceTableLimit: null
      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.


        ## Permissions


        Any 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:


        | **Product** | **Category** | **Resource** |

        | --------------- | ----------------- | ----------------- |

        | Pricing | Price List | **Read 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 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
components:
  schemas:
    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
              - 'null'
              description: Upper variation limit.
            lowerLimit:
              type:
              - integer
              - 'null'
              description: Lower variation limit.
        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
          - 'null'
          description: Overrides prices from sellers.
          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
          - 'null'
          description: Array with all blocked routes.
          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
          - 'null'
          description: Price Table Limit.
  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.'