Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Elastic Path Prices API

Price books contain prices for the products in your catalog. Use the Price Books API to create price books and add product prices to the price book.### Volume (tiers) PricingUsing volume (tiers) pricing allows your store to offer different pricing for minimum quantities of items that your customers purchase. When a customer adds sufficient quantity of an item and meets the minimum required quantity for different pricing, all products with that item SKU are discounted in the cart. You can define the price range for different quantities of different items as in the following example:| Quantity | Price/Each ||:---------|:-----------|| 1-5 | $10.50 || 6-10 | $10.00 || 11-20 | $9.50 || 21-50 | $8.50 || 51+ | $7.90 |### Sales PricingWith sales pricing, a store can optionally add a sale price to a product price. For example, a store can schedule seasonal pricing on products without creating a new price book and catalog ruleset. Optionally, a store can schedule the date ranges for the sale products. You can set a sale price for an item within a bundle so that the product is sold at the sale price when sold as part of the bundle. For example, if you have a bundle consisting of four items, you can apply a discounted price to an item within the bundle to get a bundle sales price. 1. For sale prices in the same price book: - the schedules must not be exactly the same. - schedules can partially overlap. If the schedule does contain overlapping sales prices, the sale price of the smallest sale period is chosen. - if you have just one sale price, without a schedule, this is effectively a permanent price. If you want to add more sale prices to the price book, you must configure a schedule for the sale price. 2. Sale prices in different price books can have overlapping schedules.Both list and sale price (or was/is prices) are available in the catalog response, enabling you to display slash pricing on your storefront, depending on your requirements.### Creating a bundle sale priceYou can assign a sale price to an option in a bundle.1. In the product price book, create a sale.2. Specify the bundle ID that contains the option you want to provide a sale price for.3. Provide the sale price for the option. You can add the same sale price for the same option using an array of bundle_ids if you want to sell the product as part of different bundles.### Understanding Volume and Sale Pricing Behavior for ProductsIf you have configured both sale and volume pricing for your products and product bundles, the following table describes how pricing behaves in the following scenarios.| Scenario | Description || --- | --- || Minimum quantities for volume pricing and sale pricing | (With sale schedule) If you have specified a minimum quantity of five whose price is $0.99 and at the same time, you have configured a sale for the time of purchase, then when a shopper checks out with 5 or more items, the total is based on the volume pricing. In other words, $0.99 × 5 = $4.95. Additionally, if volume pricing exist for both the product price and the sale, the volume pricing for the sale takes precedence. If no volume pricing is set in the sale, the base sale price is applied, and the volume pricing for the product price will not be applied.(With sale schedule) If a shopper's items in the cart do not meet the minimum quantity required for volume pricing, the total is calculated based on the sales price.(Without sale schedule) If the sale is a permanent sale and volume pricing is only set for the product price, then regardless of the quantity a shopper adds to a cart, the final price is always calculated based on the base sales price. However, if volume pricing has been set for the sale, the final price will be determined by the volume tier pricing set in the sale, not the base sales price.| Two levels of volume pricing with different prices for each volume. | If you have configured two levels of volume pricing, for example, the first minimum quantity is 5 and the second minimum quantity is 10:When the quantity in the cart is => 5, then the price for the minimum quantity of 5 is used.When the quantity in the cart is => 10 then the price for the minimum quantity of 10 is used. |### Optimizing product pricesYou can add custom attributes to a product price, allowing your storefront to dynamically use these attributes in it's pricing and display logic. This enables you to optimize your pricing data, enhancing your ability to respond to market dynamics and customer preferences. Some examples of pricing optimization strategies are:- dynamic pricing - allows you to change the price of a product based on changes in customer demand, for example, raising prices during the high-demand holiday season or segment-focused, like special offers for new customers.- value-based pricing - allows you to offer different pricing tiers, for example, "pro" features cost more.- cost-plus pricing - allows you to set prices by adding a specific percentage to the production cost of a single unit.There are two types of custom attributes:- `admin_attributes` - `admin_attributes` are not displayed in catalogs. This means `admin-attributes` can only be viewed by administrators. For example, you may want to add custom attributes that can automate price updates based on predefined rules, saving time and reducing human error or you might want to integrate price attributes with your other company systems, (ERP, CRM) ensuring consistency and accuracy across platforms.- `shopper_attributes` - `shopper_attributes` are displayed in catalogs. This means `shopper_attributes` can be viewed by both shoppers and administrators. For example, you can set prices based on customer segments, offering different prices for wholesale and retail customers or providing discounts to loyal customers. Both `admin-attributes` and `shopper_attributes` are structured as key-value pairs. Both the keys and values are `strings`. You can have up to 100 keys for each type of attribute.

Elastic Path Prices API is one of 100 APIs that Elastic Path publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Prices. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 6 operations across 3 paths, and defines 21 schemas. It is described by OpenAPI 3.1.0, at version 25.1126.6886238.

Requests are made against 2 base URLs: https://useast.api.elasticpath.com, https://euwest.api.elasticpath.com.

6 operations 3 paths 21 schemas 1 DELETE3 GET1 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
25.1126.6886238
Base URL
https://useast.api.elasticpath.com
Authentication
HTTP Bearer
License
Resource Areas
1

Authentication & Security 1

Elastic Path Prices API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (BearerToken). By default, every request must be authenticated.

Paths & Operations 6

Across 3 paths, the API surfaces 6 operations — 1 DELETE, 3 GET, 1 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Prices 6

Price books contain prices for the products in your catalog. Use the Price Books API to create price books and add product prices to the price book. Volume (tiers) Pricing Using v…

POST
/pcm/pricebooks/{pricebookID}/prices
Add a Product Price to a Price Book
createProductPrice 1 param body → 201default
GET
/pcm/pricebooks/{pricebookID}/prices
Gets all Prices by Price Book ID
getProductPrices 4 params → 200default
GET
/pcm/pricebooks/{pricebookID}/prices/{priceID}
Get a Product Price by Price Book ID
getProductPriceByID 2 params → 200default
PUT
/pcm/pricebooks/{pricebookID}/prices/{priceID}
Update a Product Price in a Price Book
updateProductPrice 2 params body → 200default
DELETE
/pcm/pricebooks/{pricebookID}/prices/{priceID}
Delete a Product Price from a Price Book
deleteProductPrice 2 params → 204default
GET
/pcm/pricebooks/prices
Gets all Prices
getPrices 3 params → 200default

Schemas 21

The contract defines 21 schemas that model the data the API accepts and returns. The most detailed are product-price (5 properties), links-prices (5 properties), schedule (4 properties), links-prices-new (4 properties). Each schema is shown below with its type and property counts.

price-list-data
object
Json-api style array containing a list of prices.
3 properties 1 required
page-meta
object
Contains the results for the entire collection.
2 properties
product-price-create-data
object
A product price with the following attributes.
1 property 1 required
product-price-data
object
A product price with the following attributes.
2 properties 1 required
amount
object
The three-letter ISO code for the currency associated with this price.
3 properties
product-price-create-arg
object
2 properties 2 required
sale
object
The name of the sale, such as Summer Sale.
3 properties
currencies
object
A collection of one or more currencies objects that consists of the [three-letter ISO code](https://www.iso.org/iso-3166-country-codes.html) of the currencies…
admin-attributes
object
You can add custom attributes to a product price. For example, you may want to add custom attributes that can automate price updates based on predefined rules,…
product-price
object
5 properties 3 required
sales
object
The sales price that an item is eligible for based on the price book.
product-price-list-data
object
Json-api style array containing a list of product prices.
3 properties 1 required
links-price
object
Links are used to allow you to move between requests.
1 property
error-prices
object
This is a json-api style part of an error response
3 properties
links-prices
object
Links are used to allow you to move between requests.
5 properties
tier-price
object
The name of the tier, for example, Pencils.
2 properties
schedule
object
The schedule of the sale. If the entire schedule object is omitted or null, the sale price is considered permanent. When defining a recurring sale with rrule,…
4 properties
links-prices-new
object
Links are used to allow you to move between requests.
4 properties
shopper-attributes
object
You can add custom attributes to a product price. For example, you can set prices based on customer segments. For instance, you can offer different prices for…
page-meta-no-counts
object
Contains the results for the entire collection.
1 property
error-response-prices
object
This is a json-api style Error response
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

elastic-path-prices-api-openapi.yml Raw ↑

Other APIs Elastic Path publishes across the network.

Elastic Path GraphQL API
Elastic Path Account Addresses API
Elastic Path Account Authentication Settings API
Elastic Path Account Cart Associations API
Elastic Path Account Management Authentication API
Elastic Path Account Members API
Elastic Path Account Membership API
Elastic Path Account Membership Settings API
Elastic Path Account Tags API
Elastic Path Accounts API
Elastic Path Administrator Latest Releases Catalog API API
Elastic Path Application Keys API