openapi: 3.0.1 info: title: BigCommerce Pricing description: Get product pricing. termsOfService: https://www.bigcommerce.com/terms contact: name: BigCommerce url: https://www.bigcommerce.com email: support@bigcommerce.com version: '' servers: - url: https://api.bigcommerce.com/stores/{store_hash}/v3 variables: store_hash: default: store_hash description: Permanent ID of the BigCommerce store. description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: - name: Products paths: /pricing/products: post: tags: - Products summary: BigCommerce Get Prices (Batch) description: >- Calculate batch pricing for products for a specific channel, currency, and customer group. **Limits** * Limit of 50 concurrent requests. operationId: getPrices requestBody: content: application/json: schema: required: - channel_id - currency_code - customer_group_id - items type: object properties: channel_id: type: integer description: >- The channel ID that pricing evaluates within. The default BigCommerce storefront is channel 1. example: 1 currency_code: type: string description: The currency code of prices this request returns. example: USD customer_group_id: type: integer description: >- The customer group ID that's relevant for any customer group pricing, tax values, etc. items: type: array description: The items for which to fetch prices. items: type: object properties: product_id: type: integer description: The (required) product ID of the item. variant_id: type: number description: The (optional) variant ID of the item. options: type: array description: >- The option configuration of the product (optional); might be partially configured for estimates. items: type: object properties: option_id: type: integer description: >- The ID of the variant option or modifier option that is being configured for this product. value_id: type: integer description: >- The ID of the value matching the option that's being configured. **Note:*** This must be the ID, not the value. description: >- Details/configuration for the product to request a price for. required: true responses: '200': description: OK content: application/json: schema: type: object description: >- Note that a storeʼs [tax settings](/docs/rest-management/tax-settings) may affect the calculations for `tax_inclusive` and `tax_exclusive` prices. properties: data: type: array items: type: object properties: product_id: type: integer description: The (required) product ID of the item. variant_id: type: integer description: The (optional) variant ID of the item. options: type: array description: >- The optional product option configuration for which this price was generated. items: type: object properties: option_id: type: integer description: >- The ID of the variant option or modifier option configured for this price. value_id: type: integer description: >- The selected value ID for the configured option. retail_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The (optional) RRP/retail price configured for this product. Used for price comparison and storefront display purposes. sale_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The merchant-entered sale price for a product overwrites the default price. The sale_price is optional. minimum_advertised_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The minimum advertised price (MAP) allowed to be shown on a storefront. A value supplied by the merchant and used for display purposes. price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The merchant-entered price for a product could be including or excluding tax. Price must be defined when creating a product and serves as the default price. calculated_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The shopper price for a product including modifier, option, and option set rules. The `calculated_price` may include or exclude estimates for tax. price_range: type: object properties: minimum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The price for a product including estimates for tax. description: >- The minimum and maximum price that will typically apply to this product. Only used for complex products (products with variants). retail_price_range: type: object properties: minimum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: >- The price for a product including estimates for tax. description: >- The productʼs variants that will typically apply to this product. bulk_pricing: type: array items: $ref: '#/components/schemas/BulkPricingTier' meta: type: object properties: {} additionalProperties: true description: Response metadata. example: data: - product_id: 1 variant_id: 1 options: - option_id: 1 value_id: 1 retail_price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 sale_price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 minimum_advertised_price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 calculated_price: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 price_range: minimum: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 maximum: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 retail_price_range: minimum: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 maximum: as_entered: 1.5 entered_inclusive: true tax_exclusive: 1.1 tax_inclusive: 1.5 bulk_pricing: - minimum: 1 maximum: 1 discount_amount: 1 discount_type: percent tax_discount_amount: - as_entered: 10 tax_inclusive: 10 tax_exclusive: 10 entered_inclusive: false meta: {} components: schemas: BulkPricingTier: type: object properties: minimum: type: integer description: The minimum quantity required to trigger this bulk pricing discount. maximum: type: integer description: >- The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount. discount_amount: type: number discount_type: type: string enum: - price - percent - fixed tax_discount_amount: type: array description: >- Formats the `bulk_pricing.discount_amount` into the tax price amounts. items: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. entered_inclusive: type: boolean description: >- Determines whether the 'as_entered' price is inclusive or exclusive of tax based on the store's tax jurisdiction. x-internal: false PricingResponse: type: object properties: data: type: array items: type: object properties: product_id: type: integer description: The (required) product ID of the item. variant_id: type: integer description: The (optional) variant ID of the item. options: type: array description: >- The optional product option configuration this price was generated for items: type: object properties: option_id: type: integer description: >- The ID of the variant option or modifier option configured for this price value_id: type: integer description: The selected value ID for the configured option. retail_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The (optional) RRP/retail price configured for this product. sale_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. minimum_advertised_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. calculated_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. price_range: type: object properties: minimum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. description: >- For estimated prices, the minimum/maximum price that will typically apply to this product. retail_price_range: type: object properties: minimum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax description: >- For estimated prices, the minimum/maximum price that will typically apply to this product. bulk_pricing: type: array items: type: object properties: minimum: type: integer description: >- The minimum quantity required to trigger this bulk pricing discount. maximum: type: integer description: >- The maximum quantity (or 0 for unlimited) to trigger this bulk pricing discount. discount_amount: type: number description: >- The price reduction set by the merchant for this bulk pricing discount. discount_type: type: string enum: - price - percent - fixed description: >- The format of the price reduction set by the merchant for this bulk pricing discount. tax_discount_amount: type: array description: >- Formats the `bulk_pricing.discount_amount` into the tax price amounts. items: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. entered_inclusive: type: boolean description: >- Determines whether the 'as_entered' price is inclusive or exclusive of tax based on the store's tax jurisdiction. meta: type: object properties: {} additionalProperties: true description: Response metadata. x-internal: false PriceRange: type: object properties: minimum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. description: >- For estimated prices, the minimum/maximum price that will typically apply to this product. x-internal: false TaxPrice: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. x-internal: false ItemPricing: type: object properties: product_id: type: integer description: The (required) product ID of the item. variant_id: type: integer description: The (optional) variant ID of the item. options: type: array description: >- The optional product option configuration for which this price was generated. items: type: object properties: option_id: type: integer description: >- The ID of the variant option or modifier option configured for this price. value_id: type: integer description: The selected value ID for the configured option. retail_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The (optional) RRP/retail price configured for this product. sale_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. minimum_advertised_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. calculated_price: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. price_range: type: object properties: minimum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Determines whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax. jurisdiction tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. description: >- For estimated prices, the minimum/maximum price that will typically apply to this product. retail_price_range: type: object properties: minimum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. maximum: type: object properties: as_entered: type: number description: >- The price provided by the merchant as entered in their catalog/price list; may include or exclude tax. entered_inclusive: type: boolean description: >- Whether the `as_entered` price is inclusive or exclusive of tax, based on the stores tax jurisdiction. tax_exclusive: type: number description: >- The estimated tax exclusive price for this product based on the provided customer group. tax_inclusive: type: number description: >- The estimated tax inclusive price for this product based on the provided customer group. description: The price for a product including estimates for tax. description: >- For estimated prices, the minimum/maximum price that will typically apply to this product. bulk_pricing: type: array items: $ref: '#/components/schemas/BulkPricingTier' x-internal: false Item: type: object properties: product_id: type: integer description: The (required) product ID of the item. variant_id: type: number description: The (optional) variant ID of the item. options: type: array description: >- The (optional) option configuration of the product. May be "partially" configured for estimates. items: type: object properties: option_id: type: integer description: >- The ID of the variant option or modifier option being configured for this product. value_id: type: integer description: |- The ID of the value matching the option being configured. **Note:** must be ID, not the value. description: Details/configuration for the product to request a price for. x-internal: false PricingRequest: type: object properties: channel_id: type: integer description: >- The channel ID that pricing evaluates within. The default BigCommerce storefront is channel 1. example: 1 currency_code: type: string description: The currency of prices to be returned for this request. example: USD customer_group_id: type: integer description: >- The customer group relevant for any customer group pricing, tax values, etc. items: type: array description: The items for which to fetch prices. items: type: object properties: product_id: type: integer description: The (required) product ID of the item. variant_id: type: number description: The (optional) variant ID of the item. options: type: array description: >- The (optional) option configuration of the product. May be "partially" configured for estimates. items: type: object properties: option_id: type: integer description: >- The ID of the variant option or modifier option being configured for this product. value_id: type: integer description: >- The ID of the value matching the option being configured. **Note:** This must be the ID, not the value. description: Details/configuration for the product to request a price for. x-internal: false securitySchemes: X-Auth-Token: name: X-Auth-Token description: >- ### OAuth scopes | UI Name | Permission | Parameter | |:--|:--|:-| | Products | read-only | `store_v2_products_read_only` | ### Authentication header | Header | Argument | Description | |:-|:|:| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes). type: apiKey in: header