nextQL in integration
nextQL filters and boosters shape which items appear and how they rank. Configure them on scenarios and rules — not as per-request API parameters. Full syntax lives in the nextQL reference.
Where nextQL applies
| Setting | Type | Default | Description |
|---|---|---|---|
| scenario.filter | filter | — | Hard exclusion on candidates. |
| scenario.boosters | booster[] | — | Score multipliers on matching items. |
| rules (type=filter|booster) | rule | — | Shared expressions via rulesSlugs. |
| segmentation (auto-nextql) | expression | — | Assign segment names — see Segmentations guide. |
| hybrid search | parsed query | — | Price/category extracted from natural language. |
POST /recommendations does not accept runtime filter parameters. Use multiple scenarios or rules for preset combinations.
Filters
Syntax: quoted attribute names, comparisons, and / or, in / not_in.
'stock' > 0
'category' in ['pc', 'console']
'price' < 40 and 'genre' in ['roguelike', 'rpg']
('platform' = 'vr' or 'featured' = true) and 'stock' > 0In-stock only on all placements
Create a rulein-stock with 'stock' > 0 and add to every scenario's rulesSlugs.
PC-only PDP similar
Scenario filter: 'platform' in ['pc', 'multi'] on pdp-similar-pc.
Boosters
Syntax: boost by <factor> where <filter_expression>
boost by 1.5 where 'featured' = true boost by 1.3 where 'genre' in ['rpg', 'action'] boost by 0.7 where 'stock' < 10
Promote featured without excluding non-featured
Boosters re-rank; they do not guarantee inclusion. Pair with filters only when items must be excluded entirely.
Sale items on homepage
"boosters": [ "boost by 1.4 where 'onSale' = true", "boost by 1.2 where 'discountPercent' > 20" ]
Attribute resolution
Attributes resolve from top-level category, then attributes.*. In expressions use'price', not attributes.price. Arrays (e.g. genre) work with in operators.
