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.
Rendering results yourself, or integrating something that is not a website?
You are reading the API path.
Build for the Agentic World.
Include one script and you get a git repo with a ready-made scaffold and skills your coding agent already understands. Tell the agent what you want on the page, review the diff, and
git push. The script rebuilds on every push and your integration is live.
Build for the Agentic World.
Everything is reachable through OAuth-authenticated APIs. Generate a client from the OpenAPI spec, point your agent at the docs, and start building.
❯ git clone https://git.eu1.luigisbox.ai/lbo_r2vn8c/lbdr_8w3k2p.git example-com Cloning into 'example-com'… done. ❯ cd example-com && yarn setup ✓ dependencies · ✓ luma submodule · ✓ skill pack → .agents/skills/ ❯ claude ╭────────────────────────────────────╮│ ✻ Welcome to Claude Code ││ cwd: ~/example-com │╰────────────────────────────────────╯ ╭────────────────────────────────────╮│ > /integrate example.com │╰────────────────────────────────────╯ ⏺ Bash(curl -s '…/discovery/v1/search?q=jacket') ⎿ {"hits": [], "total": 0} ⏺ Nothing is indexed on this channel yet. Catalog first. ⏺ Skill(feed) ⎿ Done (14 tool uses · 31.2k tokens · 1m 48s) feed 41 · run succeeded · 1,240 products in lbc_8w3k2p ⏺ Task(site-recon) ⎿ Done (26 tool uses · 58.7k tokens · 3m 12s) memory/site-profile.md · header input, /search page ⏺ Task(functional-review) ⎿ Done (31 tool uses · 62.0k tokens · 4m 05s) 9 of 9 checks pass · 0 console errors ⏺ Bash(git push origin testing) ⎿ remote: build queued · bundle published in 31s ⏺ Autocomplete, search and analytics are live on the testing bundle. Open your own site with: https://example.com/?_lbx_env=testing
API='https://api.eu1.luigisbox.ai/discovery/v1/search'
curl -X POST "$API?channel_id=lbn_4hj9tv&surface_id=lbs_search_main" \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{ "type": "product", "query": "blue t-shirt", "size": 24 }'const url = new URL('https://api.eu1.luigisbox.ai/discovery/v1/search');
url.searchParams.set('channel_id', 'lbn_4hj9tv');
url.searchParams.set('surface_id', 'lbs_search_main');
const res = await fetch(url, {
method: 'POST',
headers: {
Authorization: `Bearer ${await token()}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ type: 'product', query: 'blue t-shirt', size: 24 }),
});
const { hits, total } = await res.json();import httpx
res = httpx.post(
'https://api.eu1.luigisbox.ai/discovery/v1/search',
params={'channel_id': 'lbn_4hj9tv', 'surface_id': 'lbs_search_main'},
json={'type': 'product', 'query': 'blue t-shirt', 'size': 24},
headers={'Authorization': f'Bearer {token}'},
)
hits = res.json()['hits'] Response 200
{
"hits": [
{
"@id": "product/sku-1001",
"@type": "product",
"@title": "Blue Cotton T-Shirt",
"price": 29.9,
"list_price": 39.9,
"availability": 1,
"url": "https://example.com/products/blue-cotton-t-shirt"
}
],
"total": 412,
"guid": "b8f1c2e4-6a7d-4f39-9c02-15d8ae37b6c1",
"next_page_cursor": "eyJvIjoyNCwic…",
"pagination_status": "more"
} From an empty repository to a released integration
Your first five minutes with the API
Your first integration Backend quickstart- Create the repository
Hub → Front-end IntegrationA form in the Hub, or one API call. Seeded with the scaffold and the skill pack. - Clone and set up
git clone … && yarn setupYour Luigi’s Box credentials. No SSH keys. - Point an agent at your site
/integrate example.comIt handles the catalog and the storefront. - Push and review
git push origin testingThe push builds. Review at ?_lbx_env=testing. - Release
merge to mainBuilt, checked against your live pages, published.
- Get a token
POST /oauth/tokenYour M2M client credentials, exchanged for a bearer token. - Index a product
POST /index/v1/lbc_8w3k2p/index/Your own field names and shapes. - Search for it
POST /discovery/v1/searchRanked hits, facets on request. - Report a purchase
POST /events/v1/eventsWhat ranking learns from. - Apply your business rules
POST /platform/v1/campaignsPin, ban, boost or bury — targeted, and on a schedule.
Everything else
Get your catalog in
Serve discovery
Was this page helpful?
Thanks.