Reserved attributes

This guide introduces you to reserved attributes and provides a detailed reference to the attributes.

What are reserved attributes

Reserved attributes are Bloomreach reserved keywords used in feed processing to assign attributes like price, availability, and size using set terminology. Bloomreach consumes these attributes to create a basic understanding of your product catalog and process it within the Bloomreach algorithm.

For example, the price attribute is reserved and must be used to send product pricing details to Bloomreach. If you use a custom attribute with variations like my_price or product_price, Bloomreach won't treat it as the product's price.

Mandatory attributes

Discovery requires 3 mandatory attributes:

  • title
  • price
  • url

The remaining attributes are highly recommended but not mandatory. If you've integrated via Data hub, view the detailed System attributes documentation.

Reserved object names

Data hub integration

Reserved object names don't apply to Data hub integrations.

Non-Data hub integration

There are 5 reserved object names used in the product record JSON, which should be avoided as attribute names:

  • op
  • path
  • views
  • variants
  • attributes

Using reserved attributes

When using reserved attributes to build front-end components, note details like data type and facetable properties to use them correctly.

For example, the reserved attribute price is a number. Trying to filter it as a string returns an error in the API response because it's not supported in the API.

Guidelines for catalogs with variants

These apply to all integrations.

Pricing

If your catalog includes variants, send pricing information at the variant level only.

If you send pricing at both the product and variant levels, the system may choose the product-level price and incorrectly apply it to variants where it shouldn't be used.

To ensure accurate pricing display:

  1. Structure your data with pricing set at the variant level.
  2. Avoid sending pricing attributes at the product (parent) level.
  3. Let each variant carry its own:
    • price and sale_price values for non-Data hub integrations.
    • price and original_price values for Data hub integrations.

For both integrations: when querying Search APIs, reference price andsale_price.

Querying variant attributes

When querying Search APIs for products with variants, append a sku_ prefix to the source attribute name in query parameters when filtering, sorting, or returning these attributes.

The following attributes use the sku_ prefix at the variant level:

  • sku_price (for price)
  • sku_sale_price (for sale_price)
  • sku_color (for color)
  • sku_color_group (for color_group)
  • sku_size (for size)

For example, to filter by a variant's color or retrieve a variant's price in your query parameters, use sku_color or sku_price instead of just color or price. See the complete SKU Select attributes documentation.

Data hub system attribute mapping

For Data hub integrations, reserved attributes map to Data hub system attributes. Few might map to a system attribute with a slightly different name.

For example, the reserved attribute availability maps to the system attribute active.

This means that you send input data with the system attribute name active. However, to use the attribute in Discovery, you must use the reserved attribute name availability.

Reserved attributes reference

The reference section lists Discovery reserved attribute names.

Data hub integration

Where applicable, the corresponding system attribute name is shown in the "Data hub system attribute" field. This helps you identify when the input system attribute name and output attribute names are different.

📘

Note

The attributes marked with * are no longer usable and have been deprecated.

availability

  • Required: Data hub: No | Non-Data hub: Yes
  • Data type: Boolean
  • Facetable: No
  • Displayable: No
  • Field type: Single
  • Returned in API response as: Not returned in API response.
  • Data hub system attribute: active

*best_seller

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Number
  • Facetable: No
  • Displayable: Can be fetched as FL (stored, indexed field).
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.

brand

  • Required: Data hub: No | Non-Data hub: Yes
  • Data type: Text
  • Facetable: Yes
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: brand

*bundle_id

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: Unstored, indexed field
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.

capacity

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Number
  • Facetable: No
  • Displayable: No
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: capacity

category_paths

  • Required: Data hub: No | Non-Data hub: Yes
  • Data type: Text
  • Facetable: Yes
  • Displayable: No
  • Field type: Multivalued
  • Returned in API response as: category (Note: Category_paths is returned as category).
  • Data hub system attribute: category_paths

city_location

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Array (city_location uses the same input format as store_location).
  • Facetable: Yes
  • Displayable: Yes
  • Field type: Multivalued
  • Returned in API response as: Note that no feature uses this reserved attribute.

color

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: Yes (Note: Facet values of this attribute are converted to lowercase after feed indexing).
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: colors. For variants, see API output for SKU attributes.
  • Data hub system attribute: color

color_group

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: Yes (Note: Facet values of this attribute are converted to lowercase after feed indexing).
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: color_groups. For variants, see API output for SKU attributes.
  • Data hub system attribute: color_group

depth

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Number
  • Facetable: No
  • Displayable: No
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: depth

description

  • Required: Data hub: No | Non-Data hub: Yes
  • Data type: Text
  • Facetable: No
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: description

flag

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Boolean
  • Facetable: No
  • Displayable: -
  • Field type: -
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: flags

gender

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: Yes
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: gender

*google_category

  • Required: Data hub: No | Non-Data hub: No
  • Data type: -
  • Facetable: -
  • Displayable: No
  • Field type: -
  • Returned in API response as: Same as reserved attribute name.

height

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Number
  • Facetable: No
  • Displayable: No
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: height

*is_sellable

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Boolean
  • Facetable: No
  • Displayable: Indexed, unstored field
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.

*item_no

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: No
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.

keywords

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: No
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: keywords

large_image

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: Yes
  • Displayable: Yes
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: large_image_link

launch_date

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: launch_date

*leaf_categories

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: -
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.

*model_name

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: No
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.

*model_no

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: No
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.

price

  • Required: Data hub: Yes | Non-Data hub: Yes
  • Data type: Number
  • Facetable: Yes
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name. For variants, see API output for SKU attributes.
  • Data hub system attribute: original_price, price
  • Field note: For Data hub integrations, this field references the system attribute original_price. If original_price isn't available, it references the system attribute price instead.

promotion

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: Yes
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: promotions

reviews

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Number
  • Facetable: No
  • Displayable: No
  • Field type: Single
  • Returned in API response as: Not returned in API response.
  • Data hub system attribute: reviews

sale_price

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Number
  • Facetable: Yes
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: sale_price. For variants, see API output for SKU attributes.
  • Field note: For Data hub integrations, this field references the system attribute price.

size

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: Yes (Note: Facet values of this attribute are converted to lowercase after feed indexing).
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: sizes. For variants, see API output for SKU attributes.
  • Data hub system attribute: size

skuid

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Field note: This is an output field that references the variant ID sent in the feed as the source field. Use it as skuid in Search API query parameters.

*start_date

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.

stock_level

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: No
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: inventory_stock_level

store_id

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Text
  • Facetable: No
  • Displayable: Indexed not stored
  • Field type: Multivalued
  • Returned in API response as: Same as reserved attribute name.

store_location

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Array
  • Facetable: Yes
  • Displayable: Yes
  • Field type: Multivalued
  • Returned in API response as: Returns "store_lat_lon.distance" in miles. Example: {"docs": [{"store_lat_lon": ["38.603336,-121.41535"], "store_id": "342523", "store_lat_lon.distance": 3.1413424, "pid": "3478", "product_master_id": "3478951", "price": 20, "brand": "Pacifichome"}]}

thumb_image

  • Required: Data hub: No | Non-Data hub: Yes
  • Data type: Text
  • Facetable: Yes
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: thumbnail_image_link

title

  • Required: Data hub: Yes | Non-Data hub: Yes
  • Data type: Text
  • Facetable: No
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: title

url

  • Required: Data hub: Yes | Non-Data hub: Yes
  • Data type: Text
  • Facetable: No
  • Displayable: Yes
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: url

width

  • Required: Data hub: No | Non-Data hub: No
  • Data type: Number
  • Facetable: No
  • Displayable: No
  • Field type: Single
  • Returned in API response as: Same as reserved attribute name.
  • Data hub system attribute: width