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

A catalog contains the products available for sale either in your organization or store. A catalog also contains information about how to organize those products for navigation menus and search facets in a shopper experience.Before you create a catalog you must define the following resources:- Hierarchies: hierarchies and nodes to categorize the products. See [**Hierarchies**](/docs/api/pxm/products/hierarchies).- Products: product information, associated assets, and links to hierarchy nodes. See [**Products**](/docs/api/pxm/products/products).- Price Books: prices for the products associated with the hierarchies. See [**Price Books**](/docs/api/pxm/pricebooks).A catalog is a combination of hierarchies and a price book.### ProductsCommerce automatically assigns types to the products you create. Product types can be used in catalogs. For example, in your catalog, you can filter on `parent` so that only your parent products are displayed in your storefront.You can use product tags to store or assign a key word against a product or service that you sell in your store. The product tag can then be used to describe or label that product. Product tags represent similarities between products who do not share the same attributes. Using product tags means that you can group your products together, for example, by brand, category, subcategory, colors, types, industries, and so on. Product tags can be used in catalogs. For example, you can categorize your products based on color. Your shoppers can then search your products by color, enabling shoppers to quickly find what they are looking for, increasing the likelihood of a purchase, and boosting conversion rates.### HierarchiesThe hierarchies determine which products appear in the catalog, that is, only the products that are associated with the selected hierarchies are included in the catalog. You can also specify the order you want your hierarchies to display in a published catalog. You can order your hierarchies on a catalog-by-catalog basis.![Hierarchy_sorting](/assets/hierarchy_sorting.png)For more information, see [**create a Catalog**](/docs/api/pxm/catalog/create-catalog).#### Understanding How Products And Nodes Are AssociatedYou can use `breadcrumb` metadata to understand how products and nodes are associated. it explains how products are associated with parent nodes and the relationship among the array of nodes. This is useful if you want to improve how your shoppers search within your store.The `breadcrumb` information that you get in an endpoint response depends on whether the endpoint is retrieving product or node details.| Object | Product/Node | Description || --- | --- | --- || `breadcrumb` | Node | A list of nodes that a product is associated with. Up to 10 levels of nodes are displayed, depending on the number of levels of nodes you have. || `bread_crumbs` | Product | The relationship among the array of nodes a product is associated with, demonstrating the linking of the children nodes with the parent nodes. Up to 10 levels of nodes are displayed, depending on the number of levels of nodes you have. || `bread_crumb_nodes` | Product | An array of parent node IDs that a product is associated with. The `bread_crumb_node` metadata lists up to 10 levels of parent nodes, depending on the number of levels of parent nodes you have. |#### Understanding `bread_crumbs` MetadataThe following diagram illustrates a parent and child nodes.![Breadcrumbs](/assets/breadcrumbs.PNG)1. The product is in **Node 2**. The ID for **Node 2** is shown first in the first set of breadcrumbs.1. **Node 2** is part of **Hierarchy 1**. The ID for **Hierarchy 1** is shown second.1. **Node 1** is the parent node of **Node 2**. The ID for **Node 1** is shown last.1. The product is also in **Node 3**. The ID for **Node 3** is shown first in the second set of breadcrumbs.1. **Node 3** is in the root of **Hierarchy 1**. The ID for **Hierarchy 1** is shown last.In the `bread_crumb_nodes` metadata, you can see a list of parent nodes a product is associated with.If you subsequently add a product to a new node, then the `bread_crumb_nodes` metadata appends the new node to the top of the list. Using the example above, if we add the product to **Node 1**:1. The `bread_crumb_nodes` metadata is generated to show the new node appended to the top of the list.1. The `bread_crumbs` metadata is updated with the new node.#### Understanding Breadcrumb Metadata for Child ProductsWhen a catalog is published, the breadcrumb information for a child product includes the metadata mentioned for the parent product, in addition to the information specific to the child product. For example, **Product A** is the parent product, associated with **Node 1** and **Node 2**. The metadata for child **Product B** includes **Node 1** and **Node 2**, in addition to its own metadata information.### NodesThe nodes determine which products appear under this in the catalog, that is, only the products that are associated with the selected node are shown under this node.### Price booksA price book contains the prices for each of the products in the catalog. You can create multiple price books for different scenarios, such as seasonal sales, business versus retail customer pricing, and reward programs. When creating a catalog, you can specify up to five price books. You must set a priority for your price books. Product prices are displayed in the catalog according to the priority of the price books. See [Create a catalog](/docs/api/pxm/catalog/create-catalog).

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

This API exposes 5 operations across 2 paths, and defines 11 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.

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

Paths & Operations 5

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

Catalogs 5

A catalog contains the products available for sale either in your organization or store. A catalog also contains information about how to organize those products for navigation me…

POST
/catalogs
Creates a new catalog
createCatalog body → 201default
GET
/catalogs
Gets all authorized catalogs
getCatalogs 3 params → 200default
GET
/catalogs/{catalog_id}
Get a catalog by ID
getCatalogByID 1 param → 200default
PUT
/catalogs/{catalog_id}
Updates a catalog
updateCatalog 1 param body → 200default
DELETE
/catalogs/{catalog_id}
Deletes a catalog
deleteCatalogByID 1 param → 204default

Schemas 11

The contract defines 11 schemas that model the data the API accepts and returns. The most detailed are links (5 properties), catalog (4 properties), error (3 properties), catalog-list-data (3 properties). Each schema is shown below with its type and property counts.

catalog
object
Creates a catalog with the following attributes.
4 properties 3 required
error
object
APIError is a json-api style part of an error response.
3 properties
page-meta
object
Contains the results for the entire collection.
2 properties
error-response
object
ErrorResponse is a json-api style Error response.
1 property
catalog-data
object
Container for a single catalog.
2 properties 1 required
prioritized-pricebooks
array
If you want multiple price books for different scenarios, such as seasonal sales, business versus retail pricing, and reward programs, when creating a catalog,…
catalog-update-data
object
A catalog combines price books, product lists, and hierarchies.
1 property 1 required
catalog-list-data
object
Container for a list of catalogs.
3 properties 1 required
catalog-create-data
object
Creates a catalog with the following attributes.
1 property 1 required
related-link
object
A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
1 property 1 required
links
object
Links allow you to move between requests.
5 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

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