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 Shopper Catalog API API

Use the Shopper Catalog View API to retrieve hierarchy, node and product information for a catalog release. When you publish a catalog for a store, you can define catalog rules so that you can show catalogs with different pricing or different products to preferred customers or channels. These endpoints can be used in your customer-facing frontends.A catalog is a combination of one or more hierarchies, products, and a price book. Use the Products API and Hierarchies API to create a hierarchy of products that can be included in a catalog. Use the Price Book API to associate prices with products.### Characteristics of Shopper CatalogsShopper catalogs can have the following characteristics.- Use catalog rules to schedule a catalog to appear during a particular date and time, such as a seasonal catalog. The catalog may have different pricing than the other catalogs. You can have multiple published catalogs.- If you have defined catalog rules and you want to retrieve a published catalog for a particular channel or a user-defined tag, you must set the appropriate headers in the request: - `EP-Channel` - The channel, such as website or mobile app. See [**Create a Catalog Rule**](/docs/api/pxm/catalog/create-rule). - `EP-Context-Tag` - A tag defined in the store, such as `clearance`. See [**Create a Catalog Rule**](/docs/api/pxm/catalog/create-rule).* When a catalog is ready to be used in a store, you publish it. See [**Publish a Catalog**](/docs/api/pxm/catalog/publish-release).* You can create and publish catalogs for different contexts and channels. You can see the differences between the last 2 consecutive catalog releases. See [**Publish a Catalog**](/docs/api/pxm/catalog/publish-release).* You retrieve catalogs for your shopper experience by using the Shopper Catalog View API. For more information on how you can retrieve a catalog as a shopper using the Catalog API.* When a catalog is published for a store, the corresponding events contain `store_id` and `org_id`. * When a catalog is published for an organization, the corresponding events contain `org_id`. * Use the `sort_order` value in `variations` to program your storefront to display the variation options in the order that you want.### Shopper Catalog CachingWhen conducting a `GET` on `catalog` endpoints, all data returned, including catalog releases, products, nodes and hierarchies, are cached for 5 minutes. This means, if you call the same endpoint again, the catalog data is retrieved from the cached objects pool, optimizing the performance and efficiency of your store front.If you use any of the `catalog` endpoints with a `filter` or `include` query parameter, these are cached separately. The cached entries disappear from the cached objects pool after 5 minutes.

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

This API exposes 15 operations across 15 paths, and defines 61 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.

15 operations 15 paths 61 schemas 14 GET1 POST

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 Shopper Catalog API API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (BearerToken). By default, every request must be authenticated.

Paths & Operations 15

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

Shopper Catalog API 15

Use the Shopper Catalog View API to retrieve hierarchy, node and product information for a catalog release. When you publish a catalog for a store, you can define catalog rules so…

GET
/catalog/hierarchies
Get all Hierarchies
getByContextAllHierarchies 6 params → 200default
GET
/catalog/hierarchies/{hierarchy_id}
Get a Hierarchy
getByContextHierarchy 4 params → 200default
GET
/catalog/hierarchies/{hierarchy_id}/nodes
Get a Hierarchy's Nodes
getByContextHierarchyNodes 7 params → 200default
GET
/catalog/hierarchies/{hierarchy_id}/children
Get a Hierarchy's Children
getByContextHierarchyChildNodes 7 params → 200default
GET
/catalog/nodes
Get all Nodes
getByContextAllNodes 6 params → 200default
GET
/catalog/nodes/{node_id}
Get a Node
getByContextNode 4 params → 200default
GET
/catalog/nodes/{node_id}/relationships/children
Get a Node's Children
getByContextChildNodes 7 params → 200default
GET
/catalog/products
Get all Products
getByContextAllProducts 7 params → 200default
GET
/catalog/products/{product_id}
Get a Product
getByContextProduct 5 params → 200default
GET
/catalog/products/{product_id}/relationships/{custom_relationship_slug}/products
Get all Related Products of a Product
getByContextAllRelatedProducts 8 params → 200default
GET
/catalog/products/{product_id}/relationships/component_products
Get a Bundle's Component Products
getByContextComponentProductIDs 5 params → 200default
GET
/catalog/products/{product_id}/relationships/children
Get a Parent Product's Child Products
getByContextChildProducts 8 params → 200default
GET
/catalog/hierarchies/{hierarchy_id}/products
Get a Hierarchy's Products
getByContextProductsForHierarchy 8 params → 200default
GET
/catalog/nodes/{node_id}/relationships/products
Get a Node's Products
getByContextProductsForNode 8 params → 200default
POST
/catalog/products/{product_id}/configure
Configure a Shopper Bundle
configureByContextProduct 5 params body → 200default

Schemas 61

The contract defines 61 schemas that model the data the API accepts and returns. The most detailed are product-meta (25 properties), product-attributes (23 properties), node-attributes (10 properties), component-product-option (9 properties). Each schema is shown below with its type and property counts.

file-reference
object
In Product Experience Manager, products can have associated rich media assets, such as product images or a file containing additional product details.
3 properties
hierarchy-meta
object
A hierarchy's metadata.
3 properties
self-link
object
Links are used to allow you to move between requests.
1 property 1 required
custom-relationship
object
A product can have custom relationships added that link to other products. These can be used for Parent/Child relationships as well as products that you want t…
2 properties
page-meta
object
Contains the results for the entire collection.
2 properties
files-relationship
object
In Product Experience Manager, products can have associated rich media assets, such as product images or a file containing additional product details.
1 property
included-response
object
Included is an array of resources that are included in the response.
3 properties
bundle-configuration
object
A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each…
1 property 1 required
error-response
object
ErrorResponse is a json-api style Error response.
1 property
product
object
A product in a catalog with the following attributes.
5 properties
component-product-option
object
The product options included in a component. This can be the ID of another bundle.
9 properties
extension
object
The name of the product template.
display-price
object
A price formatted for display.
2 properties
product-list-data
object
Container for a list of products.
4 properties
components
object
A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each…
extensions
object
With extension templates, you can attach a specific set of custom fields to your products in Product Experience Manager. For example, a Book template might con…
formatted-price
object
A price formatted for display.
4 properties
node
object
A category node in a catalog. Nodes can have child nodes, as well as a list of attached products.
5 properties
node-relationships
object
Relationships to parent and child nodes, and products.
4 properties
amount
object
The three-letter ISO code for the currency associated with this price.
2 properties
sale
object
A set of sale prices and a validity period.
2 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…
main-image-relationship
object
In Product Experience Manager, products can also have associated product images.
1 property
custom-input-validation-rule
object
The validation rules for the custom text.
2 properties
node-data
object
Container for nodes.
2 properties
hierarchy-relationships
object
Relationships to child nodes, and products.
3 properties
component-products-relationship
object
A bundle is a purchasable product, comprising of one or more products that you want to sell together. You can create multiple components within a bundle. Each…
2 properties
component-product
object
The unique identifier of the component, for example, games.
5 properties
node-meta
object
A node's metadata.
4 properties
shopper_attributes
object
A collection of key-value string pairs, viewable by shoppers.
product-relationships
object
Relationships allow you to move between requests. Includes links to the parent and child products, bundle component products, files, and main images associated…
6 properties
node-list-data
object
Container for a list of nodes.
3 properties
tiers
object
The price tier that an item is eligible for based on the quantity purchased. You cannot have conflicting tiers within the same currencies block.
hierarchy-data
object
Container for hierarchies.
2 properties
hierarchy-list-data
object
Container for a list of hierarchies.
3 properties
hierarchy
object
A category hierarchy in a catalog. Hierarchies can have parent nodes and child nodes, as well as a list of attached products.
5 properties
product-meta
object
A product's metadata contains information about products, for example, the nodes a product is associated with, any child products, bundle configurations, and s…
25 properties
bundle-configuration-data
object
Container for a bundle configuration.
1 property 1 required
variation_option
object
The options available for a variation.
4 properties
product-reference-list-data
object
Container for a list of product references.
3 properties
hierarchy-attributes
object
Resource attributes of a catalog hierarchy.
7 properties
product-references
array
A list of product identifiers.
product-data
object
Container for products.
3 properties
node-attributes
object
Resource attributes of a catalog node.
10 properties
tiered-amount
object
The three-letter ISO code for the currency associated with this price.
3 properties
variation
object
5 properties
related-link
object
A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
1 property 1 required
custom_inputs
object
You can allow your shoppers to add custom text to a product when adding product items to their carts. This is useful, for example, if you have a product like a…
custom-input-validation-rule-options
object
The length of the custom input text field.
1 property
elastic-path-file
object
9 properties
schedule
object
A definition of the times at which a sale is valid
2 properties
custom-input
object
The name of the custom input. You can rename the input to something more representative of the input that shoppers are adding, for example, message or front.
3 properties
error
object
APIError is a json-api style part of an error response.
3 properties
tiered-currencies
object
Collection of currency specific prices for a product.
product-reference
object
A product identifier.
2 properties
custom-relationship-links
object
For each custom relationship in use on the product, there will be a link to follow.
product-attributes
object
A product's attributes.
23 properties
available-prices
array
If pricebook segmentation is enabled, this will show all the available prices for the product in the CV delta file and will show selected available prices via…
tier
object
The name of the tier, for example, Pencils.
2 properties
links
object
Links allow you to move between requests.
5 properties
alternative-prices
array
If pricebook segmentation is enabled, this will show all the alternative prices for the product. Will just include 'List Price' initially

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

elastic-path-shopper-catalog-api-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