Bloomreach · Schema
BloomreachSearchResponse
JSON Schema for a Bloomreach Discovery product/category search API response.
Digital CommerceSearchMerchandisingRecommendationsCustomer Data PlatformCDPEmail MarketingSMS MarketingMarketing AutomationHeadless CMSPersonalizationE-commerce
Properties
| Name | Type | Description |
|---|---|---|
| response | object | Core search result container. |
| facet_counts | object | Facet aggregation results for filtering. |
| metadata | object | Query metadata including experiment and widget info. |
| stats | object | Statistical aggregations (e.g., price range). |
| keywordRedirect | object | Keyword redirect rule if applicable. |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://api-evangelist.github.io/bloomreach/json-schema/bloomreach-search-response-schema.json",
"title": "BloomreachSearchResponse",
"description": "JSON Schema for a Bloomreach Discovery product/category search API response.",
"type": "object",
"properties": {
"response": {
"type": "object",
"description": "Core search result container.",
"properties": {
"numFound": { "type": "integer", "description": "Total number of matching documents." },
"start": { "type": "integer", "description": "Offset of the first result returned." },
"docs": {
"type": "array",
"description": "List of matched product documents.",
"items": {
"type": "object",
"properties": {
"pid": { "type": "string", "description": "Product ID." },
"title": { "type": "string" },
"description": { "type": "string" },
"brand": { "type": "string" },
"price": { "type": "number" },
"sale_price": { "type": "number" },
"url": { "type": "string", "format": "uri" },
"thumb_image": { "type": "string", "format": "uri" },
"variants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"skuid": { "type": "string" },
"sku_color": { "type": "string" },
"sku_price": { "type": "number" },
"sku_sale_price": { "type": "number" },
"sku_thumb_images": {
"type": "array",
"items": { "type": "string", "format": "uri" }
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
}
}
}
},
"facet_counts": {
"type": "object",
"description": "Facet aggregation results for filtering.",
"properties": {
"facets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"type": { "type": "string", "enum": ["terms", "range"] },
"value": {
"type": "array",
"items": {
"type": "object",
"properties": {
"count": { "type": "integer" },
"cat_id": { "type": "string" },
"cat_name": { "type": "string" },
"start": { "type": "number" },
"end": { "type": "number" }
}
}
}
}
}
}
}
},
"metadata": {
"type": "object",
"description": "Query metadata including experiment and widget info.",
"properties": {
"query": {
"type": "object",
"properties": {
"modification": { "type": "object", "additionalProperties": true },
"reformulation": { "type": "object", "additionalProperties": true }
}
},
"widget": {
"type": "object",
"properties": {
"rid": { "type": "string", "description": "Request ID for analytics." },
"id": { "type": "string" },
"type": { "type": "string" },
"name": { "type": "string" }
}
}
}
},
"stats": {
"type": "object",
"description": "Statistical aggregations (e.g., price range).",
"properties": {
"stats_fields": {
"type": "object",
"properties": {
"price": {
"type": "object",
"properties": {
"min": { "type": "number" },
"max": { "type": "number" }
}
}
}
}
}
},
"keywordRedirect": {
"type": "object",
"description": "Keyword redirect rule if applicable.",
"properties": {
"redirected_query": { "type": "string" },
"redirected_url": { "type": "string", "format": "uri" }
}
}
}
}