{
"opencollection": "1.0.0",
"info": {
"name": "Addresses Introduction Account Addresses Hierarchies API",
"version": "25.1126.6886238"
},
"request": {
"auth": {
"type": "bearer",
"token": "{{bearerToken}}"
}
},
"items": [
{
"info": {
"name": "Hierarchies",
"type": "folder"
},
"items": [
{
"info": {
"name": "Get all hierarchies",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies",
"params": [
{
"name": "page[offset]",
"value": "",
"type": "query",
"description": "The number of records to offset the results by."
},
{
"name": "page[limit]",
"value": "",
"type": "query",
"description": "The number of records per page. The maximum limit is 100."
},
{
"name": "filter",
"value": "",
"type": "query",
"description": "Many Commerce API endpoints support filtering. The general syntax is described [**here**](/guides/Getting-Started/filtering).\n"
}
]
},
"docs": "Get all hierarchies\n\n#### Pagination\n\nThis endpoint supports offset-based pagination using `page[offset]` and `page[limit]` query parameters.\n\n:::caution Planned pagination changes — on or after 1 September 2026\n\nThe pagination links returned by this endpoint currently differ from the Elastic Path Commerce Cloud platform standard. Specifically, the `current` link is not returned, `first`/`last` are not always present, `prev` is incorrectly omitted on the second page, and `next` is incorrectly om"
},
{
"info": {
"name": "Create a hierarchy",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies",
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "```mdx-code-block\nimport CASummary from '/docs/partials/pxm/custom-attributes/custom-attribute-spec-summary.mdx';\n\nCreates a hierarchy with a name, description, and slug to organize products in your catalog.\n\n\n```\n"
},
{
"info": {
"name": "List all nodes",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/nodes",
"params": [
{
"name": "page[offset]",
"value": "",
"type": "query",
"description": "The number of records to offset the results by."
},
{
"name": "filter",
"value": "",
"type": "query",
"description": "Many Commerce API endpoints support filtering. The general syntax is described [**here**](/guides/Getting-Started/filtering).\n"
},
{
"name": "page[limit]",
"value": "",
"type": "query",
"description": "The number of records per page. The maximum limit is 100."
},
{
"name": "include_hierarchies",
"value": "",
"type": "query",
"description": "When true, includes hierarchy objects in the response alongside nodes"
}
]
},
"docs": "A fully paginated view of all nodes in all hierarchies regardless of depth.\n\n#### Filtering\n\nMany Commerce API endpoints support filtering. The general syntax is described in [**Filtering**](/guides/Getting-Started/filtering).\n\nThe following attributes and operators are supported.\n\n| Operator | Attribute | Description | Exampl"
},
{
"info": {
"name": "Get a hierarchy",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
}
]
},
"docs": "Retrieves the specified hierarchy."
},
{
"info": {
"name": "Update a hierarchy",
"type": "http"
},
"http": {
"method": "PUT",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "```mdx-code-block\nimport CASummary from '/docs/partials/pxm/custom-attributes/custom-attribute-spec-summary.mdx';\n\nUpdates a hierarchy. You can do a partial update, where you specify only the field value to change.\n\n\n```\n"
},
{
"info": {
"name": "Delete a hierarchy",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
}
]
},
"docs": "Deletes the specified hierarchy and all its children."
},
{
"info": {
"name": "Get all nodes in a hierarchy",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "filter",
"value": "",
"type": "query",
"description": "Many Commerce API endpoints support filtering. The general syntax is described [**here**](/guides/Getting-Started/filtering).\n"
},
{
"name": "page[offset]",
"value": "",
"type": "query",
"description": "The number of records to offset the results by."
},
{
"name": "page[limit]",
"value": "",
"type": "query",
"description": "The number of records per page. The maximum limit is 100."
}
]
},
"docs": "A fully paginated view of all nodes in a hierarchy regardless of depth.\n\n#### Filtering\n\nMany Commerce API endpoints support filtering. The general syntax is described in [**Filtering**](/guides/Getting-Started/filtering).\n\nThe following attributes and operators are supported.\n\n| Operator | Attribute | Description | Example "
},
{
"info": {
"name": "Create a node",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "```mdx-code-block\nimport CASummary from '/docs/partials/pxm/custom-attributes/custom-attribute-spec-summary.mdx';\n\nCreates a node in the specified hierarchy.\n\n \n```\n\n ### Sorting Nodes in a Hierarchy\n \n You can sort the order of your nodes, regardless of where the nodes are in the hierarchy.\n\n You can do this by adding a `meta` object to the body of your request and specifying a `sort_order` value.\n \n The node with the highest value of `sort_order` is displayed first. For "
},
{
"info": {
"name": "Get a node",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
}
]
},
"docs": "Retrieves a node from a hierarchy."
},
{
"info": {
"name": "Update a node",
"type": "http"
},
"http": {
"method": "PUT",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "```mdx-code-block\nimport CASummary from '/docs/partials/pxm/custom-attributes/custom-attribute-spec-summary.mdx';\n\nUpdates the specified node in a hierarchy. You can do a partial update, where you specify only the field value to change.\n\n \n```\n\n### Sorting Nodes in a Hierarchy\n\nYou can sort the order of your nodes, regardless of where the nodes are in the hierarchy.\n \n The node with the highest value of sort_order is displayed first. For example, a node with a `sort_order` value o"
},
{
"info": {
"name": "Deletes a node",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
}
]
},
"docs": "Deletes a node by the node ID"
},
{
"info": {
"name": "Get a hierarchy's children",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/children",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "filter",
"value": "",
"type": "query",
"description": "Many Commerce API endpoints support filtering. The general syntax is described [**here**](/guides/Getting-Started/filtering).\n"
},
{
"name": "page[offset]",
"value": "",
"type": "query",
"description": "The number of records to offset the results by."
},
{
"name": "page[limit]",
"value": "",
"type": "query",
"description": "The number of records per page. The maximum limit is 100."
}
]
},
"docs": "Get a hierarchy's children\n\n#### Filtering\n\nMany Commerce API endpoints support filtering. The general syntax is described in [**Filtering**](/guides/Getting-Started/filtering).\n\nThe following attributes and operators are supported.\n\n| Operator | Attribute | Description | Example |\n|-----------"
},
{
"info": {
"name": "Create relationships between a hierarchy and child nodes",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/relationships/children",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Use this endpoint to create relationships between a hierarchy and one or more child nodes. You can create a relationship only if:\n\n- All child nodes already exist.\n- Every child node in the request body must belong to this hierarchy.\n- All siblings in a hierarchy must have a unique `name` and `slug`. Siblings are the child nodes that are related to the same parent.\n\n### Sort Order\n\nYou can also provide `sort_order` information when you create a relationship by adding a `meta` object to the array"
},
{
"info": {
"name": "Create relationships between a node and child nodes",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID/relationships/children",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Use this endpoint to create relationships between a single parent node and one or more child nodes. You can create a relationship only if:\n\n- The parent node already exists.\n- All child nodes already exist.\n- Every child node in the body of the request exists in the same hierarchy as the parent node.\n- A node is not a parent of itself. An array of child nodes request body must not contain the ID of the parent node in the path.\n- All siblings in a hierarchy must have a unique `slug`. Siblings are"
},
{
"info": {
"name": "Get a node's children",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID/children",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "filter",
"value": "",
"type": "query",
"description": "Many Commerce API endpoints support filtering. The general syntax is described [**here**](/guides/Getting-Started/filtering).\n"
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
},
{
"name": "page[offset]",
"value": "",
"type": "query",
"description": "The number of records to offset the results by."
},
{
"name": "page[limit]",
"value": "",
"type": "query",
"description": "The number of records per page. The maximum limit is 100."
}
]
},
"docs": "Retrieves the child nodes for a specified node.\n\n#### Filtering\n\nMany Commerce API endpoints support filtering. The general syntax is described in [**Filtering**](/guides/Getting-Started/filtering).\n\nThe following attributes and operators are supported.\n\n| Operator | Attribute | Description | Example "
},
{
"info": {
"name": "Update a node's parent",
"type": "http"
},
"http": {
"method": "PUT",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID/relationships/parent",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Changes the parent of the specified node. The new parent node must be located within the same hierarchy as the specified node.\n\nYou cannot move a node to another hierarchy. If you want to put the specified node into another hierarchy, create the node in the target hierarchy and delete it from the current hierarchy.\n"
},
{
"info": {
"name": "Delete a node's parent",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID/relationships/parent",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
}
]
},
"docs": "Delete a node's parent"
},
{
"info": {
"name": "Create a node's product relationships",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID/relationships/products",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates relationships between the specified node and one or more products in a specified hierarchy."
},
{
"info": {
"name": "Deletes a node's product relationships",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID/relationships/products",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Deletes a node's product relationships"
},
{
"info": {
"name": "Get a node's products",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/nodes/:nodeID/products",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
},
{
"name": "nodeID",
"value": "",
"type": "path",
"description": "A unique identifier for the node."
},
{
"name": "page[offset]",
"value": "",
"type": "query",
"description": "The number of records to offset the results by."
},
{
"name": "page[limit]",
"value": "",
"type": "query",
"description": "The number of records per page. The maximum limit is 100."
}
]
},
"docs": "Returns the products associated with the specified hierarchy node from a published catalog. Products must be in a live status. If the products have been curated using the update a hierarchy node endpoint, then the products are returned in the order specified in the `curated_products` attribute in the body of the update a hierarchy node request. A product that is curated has the \"curated_product\": true attribute displayed.\n"
},
{
"info": {
"name": "Duplicate a hierarchy",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://useast.api.elasticpath.com/pcm/hierarchies/:hierarchyID/duplicate_job",
"params": [
{
"name": "hierarchyID",
"value": "",
"type": "path",
"description": "A unique identifier for the hierarchy."
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Using this option, you can duplicate an existing hierarchy. This is useful because it enables you to quickly and easily create multiple hierarchies with the same node structure.\n\nWhen you duplicate a hierarchy, you can specify a new name and/or a new description and/or a new slug for the duplicated hierarchy. All other attributes will stay the same.\n\nAny nodes in the existing hierarchy are also replicated in the duplicated hierarchy. In addition, you can optionally use the `include_products` att"
}
]
}
],
"bundled": true
}