overlays.json
Corrections to catalog data, applied when documents are built.
overlays
array of objects
A correction keyed by an entity id or a selector, never by a snapshot row. An overlay whose target has left the catalog stays, dormant, until it returns.
An id unique within its file, such as a search test's, an overlay's or a pattern's.
The entities an overlay corrects: one by its id, or all that match a selector.
3 fields
The code of an entity type, such as product, category or a merchant's own store.
The merchant's id of an entity, unique per type, such as SOFA-LUND-3. It travels unchanged; OrbSearch never rewrites it.
Picks entities (where). Attribute codes and the built-in fields brand, price, on_sale, availability and delivery_days are keys of the same object; category takes is or within.
{ "any": [{ "brand": "bosch" }, { "quality": "oe" }], "not": { "availability": "out_of_stock" } }
5 fields
At least one of these holds.
All of these hold; useful inside any.
A plain value (equal), a list (any of them), or an operator object such as { "lt": 20 }.
6 fields
A single value in a selector, filter or test: text, a number or a boolean. Dates are text, such as 2026-10-01.
A single value in a selector, filter or test: text, a number or a boolean. Dates are text, such as 2026-10-01.
A single value in a selector, filter or test: text, a number or a boolean. Dates are text, such as 2026-10-01.
A single value in a selector, filter or test: text, a number or a boolean. Dates are text, such as 2026-10-01.
From the first value to the second, both included.
True: the field has a value. False: it has none.
Hide the targets from every request. Hiding for some requests only is a rule.
Search terms added to the merchant's own keywords.
Badges shown on the targets' results, such as "OE quality".
Values set only where the catalog has none, so the correction steps aside once the feed is fixed.
Attribute values an overlay writes, as a source would send them.
1 field
Values that replace the catalog's; the panel shows them with a warning.
Attribute values an overlay writes, as a source would send them.
1 field
The overlay ends at this time.
$schema
string
The JSON Schema an editor checks this file against; kept as written.
Example
{
"$schema": "../../../contracts/schema/overlays.json",
"overlays": [
{
"id": "bestseller-matratze-wolke",
"target": { "type": "product", "id": "MATRATZE-WOLKE" },
"badges": { "de": ["Bestseller"], "en": ["Best seller"] },
"note": "One of the three products that sold most in the last 30 days"
},
{
"id": "bestseller-regal-steg",
"target": { "type": "product", "id": "REGAL-STEG" },
"badges": { "de": ["Bestseller"], "en": ["Best seller"] },
"note": "One of the three products that sold most in the last 30 days"
}
]
}Guide: Overlays