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 Products API

```mdx-code-blockimport ProductsOverview from '/docs/partials/pxm/products/productsoverview.mdx';import ProductTypes from '/docs/partials/pxm/products/types.mdx';import ProductTags from '/docs/partials/pxm/products/tags.mdx';import PersonalProducts from '/docs/partials/pxm/products/personalizing.mdx';import ProductCatalogs from '/docs/partials/pxm/products/catalogs.mdx';import Overview from "/docs/partials/pxm/bundles/bundles.mdx";import ComponentOptions from "/docs/partials/pxm/bundles/components.mdx";import BundlePricing from "/docs/partials/pxm/bundles/bundlepricing.mdx";import DynamicBundles from "/docs/partials/pxm/bundles/dynamic.mdx";import BundlesBundles from "/docs/partials/pxm/bundles/bundlesof.mdx";### Product Types### Personalizing Products### Products and Catalog Releases### Bundles### Bundle Components and Options### Bundle Pricing### Dynamic Bundles#### Creating Dynamic Bundles: An OverviewThe following steps are an overview of how to use dynamic bundles.1. Create your products using [**create a product**](/docs/api/pxm/products/create-product).1. Create a bundle using [**create a bundle**](/docs/api/pxm/products/create-product).1. Specify minimum and/or maximum values for the number of product options that can be selected within the bundle. For example, if you want the shopper to select exactly 4 out of 10 options, set both the minimum and maximum values to 4 for each of the 10 product options.1. For each product option in the bundle, specify if it is a default option by adding `"default": true` to the product options that you want to be pre-selected for the shopper.1. Publish the bundle to your catalog using the [Publish a catalog](/docs/api/pxm/catalog/publish-release) endpoint so you can display the products to your shoppers in your storefront.1. When a shopper interacts with the bundle on your storefront, they can select the products they want from the list of options. Use the [configure a shopper bundle](/docs/api/pxm/catalog/configure-by-context-product) endpoint to capture the shoppers selections. This updates the `bundle_configuration` with the product options chosen by a shopper.1. Once a shopper has configured their bundle, use the add a product to a cart endpoint to add the selected bundle to the shopper’s cart.1. When the shopper proceeds to checkout, the selected product options from the bundle are included in the order.### Bundles of Bundles#### Creating Bundles of Bundles: An OverviewTo create a bundle of bundles, simply add a bundle as a component to another bundle.1. Create your products using [**create a product**](/docs/api/pxm/products/create-product).1. Create all your child bundles using [**create a bundle**](/docs/api/pxm/products/create-product).1. [**Create a parent bundle**](/docs/api/pxm/products/create-product) and specify the product ID of your child bundle as an option of a component in your bundle. You cannot have more than 1500 options in a bundle.```

Elastic Path Products 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 Products. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 8 operations across 5 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.

8 operations 5 paths 21 schemas 1 DELETE3 GET3 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 Products API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (BearerToken). By default, every request must be authenticated.

Paths & Operations 8

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

Products 8

mdx-code-block import ProductsOverview from '/docs/partials/pxm/products/productsoverview.mdx'; import ProductTypes from '/docs/partials/pxm/products/types.mdx'; import ProductTag…

POST
/pcm/products
Create a product or bundle
createProduct body → 201422500
GET
/pcm/products
Get all products
getAllProducts 4 params → 200400500
GET
/pcm/products/{productID}
Get a product
getProduct 2 params → 200400404500
PUT
/pcm/products/{productID}
Update a product or bundle
updateProduct 1 param body → 200403404409422500
DELETE
/pcm/products/{productID}
Delete a product
deleteProduct 1 param → 204403422500
POST
/pcm/products/attach_nodes
Attach multiple nodes
attachNodes body → 200400422500
POST
/pcm/products/detach_nodes
Detach multiple nodes
detachNodes body → 200400422500
GET
/pcm/products/{productID}/nodes
Get a product's nodes
getProductsNodes 3 params → 200400404500

Schemas 21

The contract defines 21 schemas that model the data the API accepts and returns. The most detailed are product_attributes (14 properties), elastic_path_file (9 properties), attributes (7 properties), node (5 properties). Each schema is shown below with its type and property counts.

product_build_rules
object
You can build a combination of child products associated with a product, based on build rules that you specify. This is useful, for example, if you have a vari…
3 properties
error
object
1 property 1 required
node
object
5 properties 5 required
multi_meta
object
1 property
admin_attributes
object
adminattributes are not displayed in catalogs. This means adminattributes can only be viewed by administrators. If you want a custom attribute to be displayed…
elastic_path_file
object
9 properties
multi_links
object
Links allow you to navigate between pages of results. :::caution Planned pagination changes — on or after 1 September 2026 The pagination behaviour of PIM list…
5 properties
single_product_response
object
2 properties
multi_product_response
object
4 properties
multi_nodes
object
3 properties 1 required
create_product_request
object
1 property 1 required
update_product_request
object
1 property 1 required
shopper_attributes
object
shopperattributes are displayed in catalogs. This means shopperattributes can be viewed by both shoppers and administrators. If you do not want a custom attrib…
product_attributes
object
14 properties
relationships
object
Relationships allow you to move between requests. Includes links to the child nodes and products associated with a hierarchy or node.
3 properties
included_response
object
Included is an array of resources that are included in the response.
3 properties
product_locales
object
Product Experience Manager supports localization of products and hierarchies. If your store supports multiple languages, you can localize product names and des…
attributes
object
7 properties
product_response
object
5 properties
product_custom_inputs
object
You use the custominputs attribute to allow your shoppers to add custom text to a product when adding product items to their carts. This is useful, for example…
product_bundle_components
object
With Product Experience Manager, you can create and manage bundles. A bundle is a purchasable product, consisting of one or more products that you want to sell…

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

elastic-path-products-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