Skip to main content

Get all Nodes

GET 

/catalog/nodes

Returns all nodes in the 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.

You can see the parent nodes a node is associated with in the bread_crumb metadata for each node. This is useful if you want to improve how your shoppers search your store, for example. See Product and Node Associations in Breadcrumb Metadata.

In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. For more information, see Building breadcrumbs in a storefront.

The response lists the products associated with the nodes. If products are curated, they are displayed in curated_products. Product curation allows you to promote specific products within each of your hierarchies, enabling you to create unique product collections in your storefront.

  • You can only curate 20 products or less. You cannot have more than 20 curated products.
  • If a curated product is removed from a node, the product is also removed from the curated_products list.

Filtering

This endpoint supports filtering. For general syntax, see Filtering. The following operators and attributes are available.

OperatorDescriptionAttributesExample
EqChecks if the values of two operands are equal. If they are, the condition is true.name, slugfilter=eq(name,some-name)
inChecks if the values are included in the specified string. If they are, the condition is true.
Idfilter=in(id,9214719b-17fe-4ea7-896c-d61e60fc0d05,e104d541-2c52-47fa-8a9a-c4382480d97c,65daaf68-ff2e-4632-8944-370de835967d)

Building breadcrumbs in a storefront

In a catalog, you can use a filter to return a list of nodes in a hierarchy structure that a product belongs to. You can use this to build breadcrumbs in your storefront. An example is shown below.

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

  • Specify the node Ids in the filter expression.
  • You can have as many node Ids as you want.
  • It does not matter what order you specify the node Ids. The nodes are returned in the order they were last updated.

Request

Query Parameters

    filter string

    This endpoint supports filtering, see Filtering.

    page[limit] int64

    Possible values: >= 1

    The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the page length store setting is used.

    page[offset] int64

    Possible values: <= 10000

    The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the page length store setting is used.

Header Parameters

    EP-Channel string

    The list of channels in which this catalog can be displayed. A channel is the shopping experience, such as a mobile app or web storefront. If empty, the catalog rule matches all channels. The channel will eventually be included in the bearer token that is used for authorization, but currently, you must set the EP-Channel header in your requests.

    EP-Context-Tag string

    Product tags are used to store or assign a key word against a product. The product tag can then be used to describe or label that product. Using product tags means that you can group your products together, for example, by brand, category, subcategory, colors, types, industries, and so on. You can enhance your product list using tags, enabling you to refine your product list and run targeted promotions. Tags are used to refine the eligibility criteria for a rule. Requests populate the catalog rule tag using the EP-Context-Tag header.

    accept-language string

    The language and locale your storefront prefers. See Accept-Language.

Responses

The nodes of the catalog.

Schema
    meta object

    Contains the results for the entire collection.

    results object

    Total number of results for the entire collection.

    total int64

    Total number of results for the entire collection.

    page object
    limit int64

    The maximum number of records for all pages.

    offset int64

    The current offset by number of pages.

    current int64

    The current number of pages.

    total int64

    The total number of records for the entire collection.

    data object[]
  • Array [
  • attributes object

    Resource attributes of a catalog node.

    created_at date-time

    The date and time a node was created.

    published_at date-timenullable

    The date and time a node was published in a catalog.

    description string

    A description of a node.

    label string
    name string

    The name of a node. Names must be unique among sibling nodes in a hierarchy. Otherwise, a name can be non-unique within the hierarchy and across multiple hierarchies.

    slug string

    A slug for the node. Slugs must be unique among sibling nodes in the hierarchy. Otherwise, a slug can be non-unique within the hierarchy and across multiple hierarchies.

    curated_products string[]

    A list of curated products for a node. You can curate your products in your nodes product lists. Product curation allows you to promote specific products within each node in a hierarchy, enabling you to create unique product collections in your storefront.

    status string
    updated_at date-time

    The date and time a node was updated.

    id string

    The unique identifier of a node.

    relationships object

    Relationships to parent and child nodes, and products.

    products object

    A URL to all products associated with a node.

    data object[]
  • Array [
  • id uuid

    A unique identifier for a product.

    type string

    Possible values: [product]

    This represents the type of object being returned. Always product.

  • ]
  • links object

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    related stringrequired

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    children object

    A URL to all child nodes associated with a node.

    links objectrequired

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    related stringrequired

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    parent object

    A URL to all parent nodes associated with a node.

    data objectrequired
    type stringrequired

    Possible values: [node]

    id stringrequired
    links object

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    related stringrequired

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    hierarchy object

    A URL to the hierarchies associated with a node.

    data objectrequired
    type stringrequired

    Possible values: [hierarchy]

    id stringrequired
    links object

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    related stringrequired

    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 node.

    meta object

    A node's metadata.

    language string

    The node details localized in the supported languages.

    bread_crumb string[]

    Helps you understand the association of products with nodes. 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 you store.

  • ]
  • links object

    Links allow you to move between requests.

    self urinullable

    Single entities use a self parameter with a link the specific resource.

    first urinullable

    Always the first page.

    last urinullable

    This is null if there is only one page.

    prev urinullable

    This is null if there is only one page.

    next urinullable

    This is null if there is only one page.

Loading...