Skip to main content

Get a Node's Products

GET 

https://euwest.api.elasticpath.com/catalogs/:catalog_id/releases/:release_id/nodes/:node_id/relationships/products

Returns the products associated with the specified hierarchy node in the catalog. The products must be in the live status. If the products have been curated, then the products are returned in the order specified in the curated_products attribute. A product that is curated has the "curated_product": true attribute displayed.

note

Currently, published catalogs are limited to the current release and two releases prior to the current release.

If you have multiple catalog rules defined, the rule that best matches the shoppers context is used to determine which catalog is retrieved. See Resolving catalog rules.

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

The variations object lists the variation IDs and variation option IDs and their corresponding product IDs that are generated when the variation and variation options are built with a product. The variations object can then be added to your catalogs. By default, variations and variation options are sorted randomly. You can use the sort_order attribute to sort the order of your variation and variation options in variations. Once a parent product is published in a catalog, the Get a List of products in a catalog release response displays the sorted variations and variation options. Variations and variation options are displayed in descending order according to their sort_order values.

Filtering

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

OperatorDescriptionSupported AttributesExample
EqChecks if the values of two operands are equal. If they are, the condition is true. For product_types and tags, you can only specify one. For example, filter=eq(product_types,child).name, sku, slug, manufacturer_part_num, upc_ean, product_types, tagsfilter=eq(name,some-name)
InChecks if the values are included in the specified string. If they are, the condition is true. For product_types and tags, you can specify more than one. For example, filter=in(product_types,child,bundle).id, name, sku, slug, manufacturer_part_num, upc_ean, product_types, tagsfilter=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.

Including Resources

Using the include parameter, you can retrieve top-level resources, such as, files or main image, bundle component products and product attributes, such as SKU or slug.

ParameterRequiredDescription
component_productsOptionalThe component product data and key attribute data, such as SKU or slug, to return for component products in a product bundle.
main_imageOptionalThe main images associated with a product.
filesOptionalAny files associated with a product.

See Including Resources.

Request

Responses

The products of a catalog node.

Authorization: Authorization

name: Authorizationtype: httpin: headerscheme: bearer
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://euwest.api.elasticpath.com/catalogs/:catalog_id/releases/:release_id/nodes/:node_id/relationships/products");
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Authorization", "Bearer <Authorization>");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
Request Collapse all
Base URL
https://euwest.api.elasticpath.com
Auth
Parameters
— pathrequired
— pathrequired
— pathrequired
— query
— query
— query
— query
— header
ResponseClear

Click the Send API Request button above and see the response here!