Reserved Fields (API)

Reserved Fields are a list of Bloomreach reserved keywords used in feed processing to assign attributes like price, availability, size, etc. using a set terminology. These are consumed by Bloomreach to create a basic understanding of your product catalog and how to process it within the scope of the Bloomreach algorithm. For example, the “price” field is a Reserved Field and must be used to send the details of the price of your product to Bloomreach. If you use a custom field with variations like “my_price” or “product_price” etc. Bloomreach will not treat it as the price of the product.

Reserved Fields are reserved keywords/attributes/fields that cannot be used externally for any field mapping. For example, the field "sale_price" is used to capture price of a product on sale. In Dev Studio, mapping an external dynamic attribute to "sale_price" does not work.

Mandatory fields

There are 8 mandatory Reserved Fields that must be sent to Bloomreach during feed processing. The current list of mandatory Reserved Fields are:

  • title
  • category_paths
  • price
  • description
  • url
  • availability
  • brand
  • thumb_image

Reserved object names

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

  • op
  • path
  • views
  • variants
  • attributes

Using Reserved Fields

While using the reserved fields for building any of the front end components, note details like Data Type, Facetable to use them correctly. For example, the Reserved Field “price” is a number, and trying to filter it as a string returns an error in the API response as it is not supported in the API.

S.no.Reserved FieldsRequiredData TypeFacetableDisplayableField Type (Single/Multivalued)Returned in API response as
1availabilityYesBooleanNoNoSingleNot returned in API response
2best_sellerNoNumberNoCan be fetched as FL (stored, indexed field)SingleSame as reserved field name
3brandNoTextYesYesSingleSame as reserved field name
4bundle_idNoTextNoUnstored, indexed fieldMultivaluedSame as reserved field name
5capacityNoNumberNoNoSingleSame as reserved field name
6category_pathsYesTextYesNoMultivaluedcategory

(Note: Category_paths is returned as the category)
7colorNoTextYesYesSinglecolors
8color_groupNoTextYesYesSinglecolor_groups
9depthNoNumberNoNoSingleSame as reserved field name
10descriptionYesTextNoYesSingleSame as reserved field name
11flagNoBooleanNoSame as reserved field name
12genderNoTextYesYesSingleSame as reserved field name
13google_categoryNoNoSame as reserved field name
14heightNoNumberNoNoSingleSame as reserved field name
15is_sellableNoBooleanNoIndexed, unstored fieldSingleSame as reserved field name
16item_noNoTextNoNoMultivaluedSame as reserved field name
17keywordsNoTextNoNoMultivaluedSame as reserved field name
18large_imageNoTextYesYesMultivaluedSame as reserved field name
19launch_dateNoTextNoYesSingleSame as reserved field name
20leaf_categoriesNoTextNoMultivaluedSame as reserved field name
21model_nameNoTextNoNoSingleSame as reserved field name
22model_noNoTextNoNoMultivaluedSame as reserved field name
23priceYesNumberYesYesSingleSame as reserved field name
24promotionNoTextNoYesMultivaluedSame as reserved field name
25reviewsNoNumberNoNoSingleNot returned in API response
26sale_priceNoNumberYesYesSinglesale_price
27sizeNoTextYesYesSinglesizes
28skuidNoTextNoYesSingleSame as reserved field name
29start_dateNoTextNoYesSingleSame as reserved field name
30stock_levelNoTextNoNoMultivaluedSame as reserved field name
31store_idNoTextNoIndexed not storedMultivaluedSame as reserved field name
32thumb_imageYesTextYesYesSingleSame as reserved field name
33titleYesTextNoYesSingleSame as reserved field name
34urlYesTextNoYesSingleSame as reserved field name
35widthNoNumberNoNoSingleSame as reserved field name