Search

The Search module provides product discovery for storefront-facing applications. It supports keyword search, faceted filters, autocomplete suggestions, product listing pages backed by Vertex AI retail search, display banner ads, and product recommendations.

Banners

Display banner ad operations powered by Osmos.

Operations
GET
/service/application/search/v1.0/banners
# Fetch display banner ads.
GET

Fetch display banner ads.

FDK Method Name: getBanners
Returns display banner ads from Osmos for the current storefront context. Supports geo, device, category, and cohort targeting via query parameters. Always returns HTTP 200 — failures degrade to an empty items array with metadata.fallback=true.
Parameters
store
string
Store / channel key (e.g. AJIO).
pt
string
Page type context for ad targeting (e.g. home, category, search).
device
string
Device type for ad targeting.
Enum
brands
string
Brand name for ad targeting context.
keyword
string
Search keyword context for ad targeting.
category_l1
string
L1 category context for ad targeting.
category_l2
string
L2 category context for ad targeting.
category_l3
string
L3 category context for ad targeting.
city
string
User city for geo targeting.
state
string
User state for geo targeting.
country
string
User country for geo targeting.
platform
string
Platform identifier for targeting.
channel
string
Channel identifier for targeting.
user_type
string
User segment for ad targeting.
Enum
user_login_status
string
User authentication state for ad targeting.
Enum
user_cohort
string
Cohort tag for personalised ad targeting.
cli_ubid
string
Client universal browser ID. Overrides UserId cookie for Osmos tracking when provided.
ads_per_unit
integer
Maximum number of banner ads to return.
Response
200
400
Success. Returns banner ads. Empty items array when no ads are available or on circuit-open / timeout fallback.
BannerListing
items
array of object (BannerItem)
List of banner ads. Empty array when unavailable or on fallback.
Array of BannerItem
banner_id
string
Unique banner identifier (Osmos uclid).
image_url_desktop
string
Desktop banner image URL.
image_url_mobile
string
Mobile banner image URL.
impression_url
string
Pixel URL to fire on banner impression for tracking.
click_url
string
Tracking URL to fire on banner click.
destination_url
string
Final landing URL the user navigates to after clicking.
position
integer
Display rank / position of the banner in the ad unit.
alt_text
string
Accessibility alt text for the banner image.
title
string
Banner headline copy.
description
string
Banner sub-copy / body text.
cta_text
string
Call-to-action button label.
cta_url
string
Call-to-action button URL.
metadata
object
Arbitrary extra metadata forwarded from Osmos.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
page
object (StandardPage)
StandardPage
current
integer
Current page number (1-indexed).
total
integer
Nullable
Total number of pages. null for cursor-based (open-ended) endpoints.
has_previous
boolean
Whether a previous page exists.
has_next
boolean
Whether a next page exists.
item_total
integer
Total number of items on the current page.
type
string
Pagination mode.
Enum
next_id
string
Cursor token for the next page. Only present when type=cursor and has_next=true.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
metadata
object (BannerListingMetadata)
BannerListingMetadata
source
string
Data source identifier.
Enum
fallback
boolean
true when Osmos is unreachable and an empty response is returned.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/application/search/v1.0/banners
Loading...
Response
Loading...

Recommendations

Product recommendation operations — placement-based, batch similar, widget, curated, personalised category, trends, and user filters.

Operations
GET
/service/application/search/v1.0/recommendations
# Placement-based product recommendations.
POST
/service/application/search/v1.0/recommendations/batch
# Batch similar-product lookup.
GET
/service/application/search/v1.0/recommendations/widget
# User-personalised product widget.
GET
/service/application/search/v1.0/recommendations/curated
# Editorial/curated widget.
GET
/service/application/search/v1.0/recommendations/personalized
# Personalised category page.
GET
/service/application/search/v1.0/recommendations/trends
# Top trends for cohort, segment, or brick.
GET
/service/application/search/v1.0/recommendations/filters
# User filter affinities.
GET

Placement-based product recommendations.

FDK Method Name: getRecommendations
Returns placement-based product recommendations for a storefront visitor. The backend (Vertex Predict or RRA) is determined per placement_type via the PLACEMENT_BACKEND_* environment variables — no global feature flag. Returns a single flat product list. Always returns HTTP 200 — failures degrade to an empty items array with metadata.fallback=true.
Parameters
placement_type
string
Required
Recommendation placement key that determines the model to invoke (e.g. similar-products, recently-viewed, bought-together).
visitor_id
string
Required
Storefront visitor ID. Used by Vertex for personalisation context and by RRA for session scoping.
product_id
string
Single seed product ID. Mutually exclusive with product_ids.
product_ids
string
Comma-separated seed product IDs. Mutually exclusive with product_id. Results are merged into a single flat list.
page_size
integer
Number of recommended products to return (max 50).
Default Value : 10
filter
string
Vertex filter expression to narrow recommendation results.
pincode
string
Delivery pincode for price zone resolution.
Response
200
400
Success. Returns a flat list of recommended products. Empty items array on fallback (circuit open, timeout, or no results).
RecommendationListing
items
array of object (RecommendedProductItem)
Flat list of recommended products. Empty array on fallback.
Array of RecommendedProductItem
uid
integer
Unique product identifier.
name
string
Product display name.
slug
string
URL-safe product identifier.
brand
object
Brand name and UID.
price
object
Effective and marked price bands.
medias
array of object
Product images.
sellable
boolean
Whether the product is currently purchasable.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
page
object (StandardPage)
StandardPage
current
integer
Current page number (1-indexed).
total
integer
Nullable
Total number of pages. null for cursor-based (open-ended) endpoints.
has_previous
boolean
Whether a previous page exists.
has_next
boolean
Whether a next page exists.
item_total
integer
Total number of items on the current page.
type
string
Pagination mode.
Enum
next_id
string
Cursor token for the next page. Only present when type=cursor and has_next=true.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
metadata
object (RecommendationListingMetadata)
RecommendationListingMetadata
placement_type
string
Echoes the requested placement_type.
attribution_token
string
Vertex attribution token for downstream event logging. Empty string when RRA backend is active.
missing_ids
array of string
Seed product IDs that were not found in productMaster.
fallback
boolean
Present and true only when a fallback response is returned.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/application/search/v1.0/recommendations
Loading...
Response
Loading...
POST

Batch similar-product lookup.

FDK Method Name: getSimilarProducts
Takes N seed products and returns N separate similar-product lists — one per seed. Use this for cart-page and multi-product contexts where results must stay grouped by their origin product. Always uses RRA backend. Always returns HTTP 200.
Parameters
No Parameters
Request body
products
array of object (SimilarBatchProduct)
Required
Array of seed product entries. At least one entry required.
Minimum Items : 1
Array of SimilarBatchProduct
product_id
string
Required
Seed product ID.
store
string
Store / channel key for RRA routing. Defaults to the application ID when omitted.
size
integer
Max number of similar products for this seed. Defaults to RRA_MAX_PER_PRODUCT server config.
pincode
string
Delivery pincode for price zone resolution.
Response
200
400
Success. Returns one grouped entry per seed product, each containing its similar products list. Empty similar array for seeds with no results.
SimilarBatchListing
items
array of object (SimilarBatchItem)
One entry per seed product containing its similar products. Empty array on fallback.
Array of SimilarBatchItem
product_id
string
The seed product ID echoed from the request.
similar
array of object (RecommendedProductItem)
Similar products for this seed. Empty array when none found.
Array of RecommendedProductItem
uid
integer
Unique product identifier.
name
string
Product display name.
slug
string
URL-safe product identifier.
brand
object
Brand name and UID.
price
object
Effective and marked price bands.
medias
array of object
Product images.
sellable
boolean
Whether the product is currently purchasable.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
page
object (StandardPage)
StandardPage
current
integer
Current page number (1-indexed).
total
integer
Nullable
Total number of pages. null for cursor-based (open-ended) endpoints.
has_previous
boolean
Whether a previous page exists.
has_next
boolean
Whether a next page exists.
item_total
integer
Total number of items on the current page.
type
string
Pagination mode.
Enum
next_id
string
Cursor token for the next page. Only present when type=cursor and has_next=true.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
metadata
object (SimilarBatchListingMetadata)
SimilarBatchListingMetadata
fallback
boolean
true only when a fallback response is returned.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
POST
/service/application/search/v1.0/recommendations/batch
Loading...
Response
Loading...
GET

User-personalised product widget.

FDK Method Name: getWidgetRecommendations
Returns a flat product list personalised to the user for a given widget placement via RRA. Supports a minimum-threshold guard — falls back to empty when RRA returns fewer products than configured. Always returns HTTP 200.
Parameters
widget_id
string
Required
Widget placement identifier configured in RRA.
widget_type
string
Required
Widget type key (e.g. personalised, trending).
store
string
Required
Store / channel key.
page_size
integer
Number of products to return (max 50).
Default Value : 20
pincode
string
Delivery pincode for price zone resolution.
show_default_if_no_data
boolean
When true, return default/trending content if no personalised data exists for the user in RRA.
Default Value : false
Response
200
400
Success. Returns a flat personalised product list. Empty items array when below minimum threshold or on fallback.
WidgetListing
items
array of object (RecommendedProductItem)
Personalised product list for the widget. Empty array on fallback.
Array of RecommendedProductItem
uid
integer
Unique product identifier.
name
string
Product display name.
slug
string
URL-safe product identifier.
brand
object
Brand name and UID.
price
object
Effective and marked price bands.
medias
array of object
Product images.
sellable
boolean
Whether the product is currently purchasable.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
page
object (StandardPage)
StandardPage
current
integer
Current page number (1-indexed).
total
integer
Nullable
Total number of pages. null for cursor-based (open-ended) endpoints.
has_previous
boolean
Whether a previous page exists.
has_next
boolean
Whether a next page exists.
item_total
integer
Total number of items on the current page.
type
string
Pagination mode.
Enum
next_id
string
Cursor token for the next page. Only present when type=cursor and has_next=true.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
metadata
object (WidgetListingMetadata)
WidgetListingMetadata
widget_id
string
Echoes the requested widget_id.
fallback
boolean
Present and true only when a fallback response is returned.
below_threshold
boolean
Present and true when RRA returned fewer results than the configured minimum threshold.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/application/search/v1.0/recommendations/widget
Loading...
Response
Loading...
GET

Editorial/curated widget.

FDK Method Name: getCuratedRecommendations
Returns curated content items (images + filter sets) from RRA for hand-picked landing strip widgets. Items are editorial content, not hydrated products. Items with no images are filtered out. Always returns HTTP 200.
Parameters
widget_id
string
Required
Curated widget identifier configured in RRA.
widget_level
string
Required
Widget hierarchy level (e.g. brand, category, global).
store
string
Required
Store / channel key.
show_default_if_no_data
boolean
Return default content if no curated data exists for this widget.
Default Value : false
Response
200
400
Success. Returns curated editorial items. Items with no images are excluded. Empty items array on fallback.
CuratedListing
items
array of object (CuratedItem)
Curated editorial items. Empty array on fallback.
Array of CuratedItem
widget_item_id
string
Unique identifier for this curated item.
title
string
Editorial headline / title.
images
array of object
Images associated with this curated item.
filters
string
JSON-serialised filter map for navigating to the curated product set. Clients should JSON.parse this before use.
rank
integer
Display rank / order of this item within the widget.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
page
object (StandardPage)
StandardPage
current
integer
Current page number (1-indexed).
total
integer
Nullable
Total number of pages. null for cursor-based (open-ended) endpoints.
has_previous
boolean
Whether a previous page exists.
has_next
boolean
Whether a next page exists.
item_total
integer
Total number of items on the current page.
type
string
Pagination mode.
Enum
next_id
string
Cursor token for the next page. Only present when type=cursor and has_next=true.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
metadata
object (CuratedListingMetadata)
CuratedListingMetadata
widget_id
string
Echoes the requested widget_id.
fallback
boolean
Present and true only when a fallback response is returned.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/application/search/v1.0/recommendations/curated
Loading...
Response
Loading...
GET

Personalised category page.

FDK Method Name: getPersonalizedRecommendations
Cohort-targeted category listing. Blends RRA exploit, coldstart, and Vertex explore buckets into a paginated product listing. Supports cursor-based pagination — pass the page.next_id value as page_id to retrieve the next page. Always returns HTTP 200.
Parameters
primary_cohort
string
Required
Primary cohort tag driving personalisation (e.g. sports-enthusiast).
category_id
string
Required
Category identifier to personalise (e.g. footwear).
store
string
Required
Store / channel key.
page_size
integer
Products per page (max 50).
Default Value : 20
pincode
string
Delivery pincode for price zone resolution.
offset
string
Opaque cursor token from the previous response page.next_id to retrieve the next page of personalised results.
Response
200
400
Success. Returns a blended personalised product listing with cursor pagination. Use page.next_id as page_id for subsequent pages. Empty items array on fallback.
PersonalizedListing
items
array of object (RecommendedProductItem)
Blended personalised product listing (exploit + coldstart + explore buckets). Empty array on fallback.
Array of RecommendedProductItem
uid
integer
Unique product identifier.
name
string
Product display name.
slug
string
URL-safe product identifier.
brand
object
Brand name and UID.
price
object
Effective and marked price bands.
medias
array of object
Product images.
sellable
boolean
Whether the product is currently purchasable.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
page
object (StandardPage)
StandardPage
current
integer
Current page number (1-indexed).
total
integer
Nullable
Total number of pages. null for cursor-based (open-ended) endpoints.
has_previous
boolean
Whether a previous page exists.
has_next
boolean
Whether a next page exists.
item_total
integer
Total number of items on the current page.
type
string
Pagination mode.
Enum
next_id
string
Cursor token for the next page. Only present when type=cursor and has_next=true.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
metadata
object
Personalisation metadata. Empty object on a successful response. Contains fallback=true on a degraded response.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/application/search/v1.0/recommendations/personalized
Loading...
Response
Loading...
GET

Top trends for cohort, segment, or brick.

FDK Method Name: getTopTrendsRecommendations
Returns trending product option codes for the given grouping level (Cohort, Segment, or Brick) from RRA. Always returns HTTP 200.
Parameters
type
string
Required
Trend grouping level.
Enum
value
string
Required
Grouping value (e.g. "premium", "Men", "Men - Shirts").
store
string
Required
Store / channel key.
Response
200
400
Success. Returns trend IDs. Empty trends array on fallback.
TrendsResult
trends
array of string
Trending option code IDs. Empty array on fallback.
metadata
object
Trend metadata (type, value, store, timestamp). Contains fallback=true on degraded response.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/application/search/v1.0/recommendations/trends
Loading...
Response
Loading...
GET

User filter affinities.

FDK Method Name: getUserFiltersRecommendations
Returns per-user filter preferences (brand, discount, category) from RRA. Always returns HTTP 200.
Parameters
user_id
string
Required
User identifier.
store
string
Required
Store / channel key.
Response
200
400
Success. Returns filter affinities. Empty filters object on fallback.
UserFiltersResult
filters
object
Per-user filter affinities. Keys are filter dimensions (brand, discount, l1l3nestedcategory), values are arrays of preferred values. Empty object on fallback.
metadata
object
Filter metadata (userId, store, timestamp). Contains fallback=true on degraded response.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/application/search/v1.0/recommendations/filters
Loading...
Response
Loading...