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

```mdx-code-blockimport HierarchyOverview from '/docs/partials/pxm/hierarchies/hierarchies.mdx';import HierarchyCatalog from '/docs/partials/pxm/hierarchies/hierarchycatalogs.mdx';## Creating Hierarchies and NodesYou can create the **Major Appliances** hierarchy by performing the following steps.1. Using [**Create a Hierarchy**](/docs/api/pxm/products/create-hierarchy), create a hierarchy whose name is **Major Appliances**. Each hierarchy has a hierarchy ID. In other words, the hierarchy ID is the ID of the root node.1. Using [**Create a Node in a hierarchy**](/docs/api/pxm/products/create-node), create the following child nodes. When you create a node in a hierarchy, by default, the node is a child of the root node. Specify `sort_order` to configure the order of the nodes. - **Ranges** - **Refrigerators** - **Dishwashers**1. Using [**Create a Node in a hierarchy**](/docs/api/pxm/products/create-node), create the **Electric Ranges** node, specifying **Ranges** as the parent node.1. Using [**Create a Node in a hierarchy**](/docs/api/pxm/products/create-node), create the following nodes, specifying **Electric Ranges** as the parent node. - **Electric Ranges 24ˮ** - **Electric Ranges 30ˮ** - **Double Oven**1. Using [**Create a Node in a hierarchy**](/docs/api/pxm/products/create-node), create the **Gas Ranges** node, specifying **Ranges** as the parent node.1. Using [**Create a Node in a hierarchy**](/docs/api/pxm/products/create-node), create the following nodes, specifying **Gas Ranges** as the parent node. - **Gas Ranges 24ˮ** - **Gas Ranges 30ˮ** - **Gas Ranges 32"** - **Double Oven**1. Using [**Create a Node in a hierarchy**](/docs/api/pxm/products/create-node), create the following nodes, specifying **Dishwashers** as the parent node. - **Built-in** - **Standalone**## Hierarchies and Catalogs```

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

This API exposes 21 operations across 13 paths, and defines 36 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.

21 operations 13 paths 36 schemas 4 DELETE8 GET6 POST3 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 Hierarchies API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (BearerToken). By default, every request must be authenticated.

Paths & Operations 21

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

Hierarchies 21

mdx-code-block import HierarchyOverview from '/docs/partials/pxm/hierarchies/hierarchies.mdx'; import HierarchyCatalog from '/docs/partials/pxm/hierarchies/hierarchycatalogs.mdx';…

POST
/pcm/hierarchies
Create a hierarchy
createHierarchy body → 201422500
GET
/pcm/hierarchies
Get all hierarchies
getHierarchy 3 params → 200400500
GET
/pcm/hierarchies/nodes
List all nodes
getAllNodes 4 params → 200400404500
GET
/pcm/hierarchies/{hierarchyID}
Get a hierarchy
getHierarchyChild 1 param → 200400404500
PUT
/pcm/hierarchies/{hierarchyID}
Update a hierarchy
updateHierarchy 1 param body → 200403404422500
DELETE
/pcm/hierarchies/{hierarchyID}
Delete a hierarchy
deleteHierarchy 1 param → 204403500
POST
/pcm/hierarchies/{hierarchyID}/nodes
Create a node
createNode 1 param body → 201403404422500
GET
/pcm/hierarchies/{hierarchyID}/nodes
Get all nodes in a hierarchy
getAllNodesInHierarchy 4 params → 200400404500
GET
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}
Get a node
getHierarchyNode 2 params → 200400404500
PUT
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}
Update a node
updateNode 2 params body → 200403404422500
DELETE
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}
Deletes a node
deleteNode 2 params → 204403422500
GET
/pcm/hierarchies/{hierarchyID}/children
Get a hierarchy's children
getAllChildren 4 params → 200400404500
POST
/pcm/hierarchies/{hierarchyID}/relationships/children
Create relationships between a hierarchy and child nodes
createHierarchyChildRelationships 1 param body → 200403404422500
POST
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}/relationships/children
Create relationships between a node and child nodes
createNodeChildRelationships 2 params body → 200403404422500
GET
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}/children
Get a node's children
getAllNodeChildren 5 params → 200400404500
PUT
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}/relationships/parent
Update a node's parent
updateNodeParent 2 params body → 204403404422500
DELETE
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}/relationships/parent
Delete a node's parent
deleteNodeParent 2 params → 204403404422500
POST
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}/relationships/products
Create a node's product relationships
createNodeProductRelationship 2 params body → 201403404422500
DELETE
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}/relationships/products
Deletes a node's product relationships
deleteNodeProductRelationships 2 params body → 200404422500
GET
/pcm/hierarchies/{hierarchyID}/nodes/{nodeID}/products
Get a node's products
getNodeProducts 4 params → 200400404500
POST
/pcm/hierarchies/{hierarchyID}/duplicate_job
Duplicate a hierarchy
duplicateHierarchy 1 param body → 201404422500

Schemas 36

The contract defines 36 schemas that model the data the API accepts and returns. The most detailed are elastic_path_file (9 properties), attributes (7 properties), attributes_nodes (7 properties), attributes_hierarchy (6 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
single
object
1 property 1 required
node_parent
object
1 property 1 required
error
object
1 property 1 required
update_node
object
1 property 1 required
create_node
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
single_node
object
1 property 1 required
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
update_hierarchy
object
1 property 1 required
create_hierarchy
object
1 property 1 required
multi_product_response
object
4 properties
multi_nodes
object
3 properties 1 required
node_products
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…
req_attributes_hierarchy
object
6 properties
nodes_or_hierarchies
object
3 properties 1 required
relationships_hierarchy
object
1 property
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
hierarchy
object
5 properties 5 required
duplicate_job
object
1 property 1 required
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
attributes_nodes
object
7 properties
single_hierarchy
object
1 property 1 required
attributes_hierarchy
object
6 properties
job
object
4 properties 4 required
multi_hierarchy
object
3 properties 1 required
product_response
object
5 properties
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…
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…
node_children
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

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