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:
titlepriceurl
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:
oppathviewsvariantsattributes
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:
- Structure your data with pricing set at the variant level.
- Avoid sending pricing attributes at the product (parent) level.
- Let each variant carry its own:
priceandsale_pricevalues for non-Data hub integrations.priceandoriginal_pricevalues 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(forprice)sku_sale_price(forsale_price)sku_color(forcolor)sku_color_group(forcolor_group)sku_size(forsize)
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
skuidin 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
