---
title: "Get all Hierarchies"
method: GET
path: "/catalog/hierarchies"
tags: ["Shopper Catalog API"]
---

# Get all Hierarchies

`GET /catalog/hierarchies`

## Request

- Base URL: `https://euwest.api.elasticpath.com`
- URL: `https://euwest.api.elasticpath.com/catalog/hierarchies`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/elasticpath/apis/catalogs-introduction/docs/catalog/hierarchies/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns all hierarchies from a catalog.

If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. For information about how rules are matched, see [Resolving Catalog Rules](/docs/api/pxm/catalog/rules#resolving-catalog-rules).

### Filtering

This endpoint supports filtering. For general syntax, see [Filtering](/guides/Getting-Started/filtering).

| Operator | Description | Supported Attributes | Example |
|:--- |:--- |:--- |:--- |
| `Eq` | Checks if the values of two operands are equal. If they are, the condition is true. | `name`, `slug`| `filter=eq(name,some-name)` |
| `In` | Checks if the values are included in the specified string. If they are, the condition is true. | `id` | `filter=in(id,some-id)` |

### Building breadcrumbs in a storefront

In a catalog, you can use the nodes directly attached to a product to build breadcrumbs in your storefront. This eliminates the need for additional queries to fetch hierarchy or parent node details. Each node contains all the necessary information in `breadcrumbs` metadata, such as its own details and the details of its parent hierarchy/node(s), to construct the complete breadcrumb path without requiring additional queries.

An example is shown below:

`filter=in(id,c83bfe55-0d87-4302-a86d-ab19e7e323f1,6003d7ef-84f3-49bb-a8bd-4cbfa203dcbb)`

- Specify the node IDs directly attached to the product in the filter expression.
- You can include as many node IDs as required.
- It does not matter what order you specify the node IDs. The nodes are returned in the order they were last updated.

## Query parameters

- `filter` string
- `page[limit]` integer
- `page[offset]` integer

## Headers

- `accept-language` string
- `EP-Channel` string
- `EP-Context-Tag` string

## Response `200`

The hierarchies of the catalog.

- HierarchyListData: Container for a list of hierarchies.
  - `meta` PageMeta: Contains the results for the entire collection.
    - `results` object: Total number of results for the entire collection.
      - `total` integer: Total number of results for the entire collection.
    - `page` object
      - `limit` integer: The maximum number of records for all pages.
      - `offset` integer: The current offset by number of pages.
      - `current` integer: The current number of pages.
      - `total` integer: The total number of records for the entire collection.
  - `data` Hierarchy[]
    - `attributes` HierarchyAttributes: Resource attributes of a catalog hierarchy.
      - `created_at` string, date-time: The date and time a hierarchy is created.
      - `published_at` string, date-time, nullable: The date and time a hierarchy is published in a catalog.
      - `description` string: A description of a hierarchy.
      - `name` string: The name of a hierarchy.
      - `slug` string: A unique slug for a hierarchy.
      - `shopper_attributes` ShopperAttributes: A collection of key-value string pairs, viewable by shoppers.
      - `updated_at` string, date-time: The date and time a hierarchy was updated.
    - `id` string: A unique identifier of a hierarchy.
    - `relationships` HierarchyRelationships: Relationships to child nodes, and products.
      - `products` object: A URL to all the products associated with a hierarchy.
        - `links` RelatedLink: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
          - `related` string, required: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
      - `children` object: A URL to all the child products associated with a hierarchy.
        - `links` RelatedLink, required: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
          - `related` string, required: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
      - `nodes` object: A URL to all the nodes associated with a hierarchy.
        - `links` RelatedLink, required: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
          - `related` string, required: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
    - `type` string: This represents the type of object being returned. Always `hierarchy`.
    - `meta` HierarchyMeta: A hierarchy's metadata.
      - `language` string: Product Experience Manager supports localization of hierarchies. If your store supports multiple languages, you can localize hierarchy names and descriptions. This is [**three-letter language code**](https://www.iso.org/iso-639-language-code) that represents the name of the language you have used.
      - `breadcrumbs` object[]: Hierarchy Breadcrumbs
        - `id` string: The unique identifier of a hierarchy.
        - `name` string: The name of the hierarchy.
        - `slug` string: A slug for the hierarchy.
      - `has_children` boolean, nullable: Indicates whether a node has child nodes. `true` if the node has at least one child, `false` if it has none.
  - `links` Links: Links allow you to move between requests.
    - `self` string, uri-reference, nullable: Single entities use a `self` parameter with a link the specific resource.
    - `first` string, uri-reference, nullable: Always the first page.
    - `last` string, uri-reference, nullable: This is `null` if there is only one page.
    - `prev` string, uri-reference, nullable: This is `null` if there is only one page.
    - `next` string, uri-reference, nullable: This is `null` if there is only one page.

## Other responses

- `default`: An unexpected error.

---

[API](https://skmtc.dev/elasticpath/apis/catalogs-introduction.md) - [All operations](https://skmtc.dev/elasticpath/apis/catalogs-introduction/llms.txt) - [OpenAPI document](https://skmtc.dev/elasticpath/apis/catalogs-introduction/revisions/eb541d5dea51?raw)
