Skip to content

    Pre-launch API. The concepts described here are settled, but the API shape is not: request and response fields, parameters and defaults can still change. Build against it, and talk to your Luigi's Box contact before you put an integration into production.

    Domain model

    View source

    Luigi’s Box AI separates catalog data from the discovery experiences that use it. The concepts below connect your account, indexed data, backend configuration, and storefront components.

    An organization owns one or more catalogs. Each catalog contains discoverable data, while channels, surfaces, and widgets control how that data is exposed to shoppers.

    ConceptWhat it is
    OrganizationYour company, the account that owns everything below it.
    CatalogOne set of products and other discoverable objects in a single language, with its own settings. Use separate catalogs for different languages or regions.
    ChannelA view over a catalog for a market or storefront. It controls which objects are visible and which attribute values shoppers see, so one catalog can support different markets.
    SurfaceA configured discovery experience. See Surfaces and widgets.
    WidgetA storefront component that renders a surface. See Surfaces and widgets.
    VisitorAn anonymous shopper interacting with a surface, identified only within your privacy and consent settings.

    A surface is the configured backend discovery experience that your storefront calls through the API. A widget is the frontend component that calls a compatible surface and renders its response.

    Luma is Luigi’s Box AI’s browser widget layer. It renders results and forwards approved interaction signals, such as clicks and purchases, for analytics and ranking.

    A surface has one intent — the kind of discovery it performs, decided by what the request gives it to work with. There are three:

    IntentThe request suppliesEndpointTypical placements
    searchA search queryPOST /discovery/v1/searchSearch-as-you-type panel, search results page
    recommenderAnchor objects (or nothing)POST /discovery/v1/recommenderProduct detail page, cart, homepage, email
    collectionA scope, such as a categoryPOST /discovery/v1/collectionsCategory and brand listing pages, landing pages

    The intent is visible in the surface’s ID (lbs_search_main), and it must match the endpoint you call. Sending a recommender surface to /search is rejected.

    Autocomplete is not its own intent. The as-you-type panel consumes a search query, so it is served by a search surface — usually the same one as the results page.

    You can configure several surfaces with the same intent for different placements: a homepage recommender and a cart recommender are two surfaces, tuned independently.

    An organization can have English and German catalogs. Each catalog can expose a channel for its storefront market. The English channel can power a search results surface and homepage recommendation surface, while the German channel uses equivalent surfaces over localized catalog content.

    1. Source records are mapped and indexed as canonical objects in a catalog.
    2. A channel determines which catalog objects and attributes are available to a storefront or market.
    3. A surface runs a discovery experience against that channel.
    4. A widget calls the surface and renders the results to a visitor.