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 field
MultivaluedSame as reserved field name
5capacityNoNumberNoNoSingleSame as reserved field name
6category_pathsYesTextYesNoMultivaluedcategory

(Note: Category_paths is returned as the category)
7city_locationNoArray

(city_location uses the same input format as store_location)
YesYesMulti-valuedNote that no feature uses this reserved attribute.
8colorNoTextYes

Note: Facet values of this attribute are converted to lowercase after feed indexing.
YesSinglecolors
9color_groupNoTextYes

Note: Facet values of this attribute are converted to lowercase after feed indexing.
YesSinglecolor_groups
10depthNoNumberNoNoSingleSame as reserved field name
11descriptionYesTextNoYesSingleSame as reserved field name
12flagNoBooleanNoSame as reserved field name
13genderNoTextYesYesSingleSame as reserved field name
14google_categoryNoNoSame as reserved field name
15heightNoNumberNoNoSingleSame as reserved field name
16is_sellableNoBooleanNoIndexed,
unstored field
SingleSame as reserved field name
17item_noNoTextNoNoMultivaluedSame as reserved field name
18keywordsNoTextNoNoMultivaluedSame as reserved field name
19large_imageNoTextYesYesMultivaluedSame as reserved field name
20launch_dateNoTextNoYesSingleSame as reserved field name
21leaf_categoriesNoTextNoMultivaluedSame as reserved field name
22model_nameNoTextNoNoSingleSame as reserved field name
23model_noNoTextNoNoMultivaluedSame as reserved field name
24priceYesNumberYesYesSingleSame as reserved field name
25promotionNoTextNoYesMultivaluedSame as reserved field name
26reviewsNoNumberNoNoSingleNot returned in API response
27sale_priceNoNumberYesYesSinglesale_price
28sizeNoTextYes

Note: Facet values of this attribute are converted to lowercase after feed indexing.
YesSinglesizes
29skuidNoTextNoYesSingleSame as reserved field name
30start_dateNoTextNoYesSingleSame as reserved field name
31stock_levelNoTextNoNoMultivaluedSame as reserved field name
32store_idNoTextNoIndexed not storedMultivaluedSame as reserved field name
33store_locationNoArrayYesYesMulti-valuedReturns "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"
}
]
}
34thumb_imageYesTextYesYesSingleSame as reserved field name
35titleYesTextNoYesSingleSame as reserved field name
36urlYesTextNoYesSingleSame as reserved field name
37widthNoNumberNoNoSingleSame as reserved field name