PartFilters
Shared search filters
The shared filter object used by catalog search and its facets. Every field is optional.
JSON
1{2 "list_filter": "lst_9f2a3c...",3 "manufacturers": [4 "texas-instruments"5 ],6 "categories": [7 "amplifiers/operational-amplifiers"8 ],9 "exclude_categories": [],10 "status": [11 "active"12 ],13 "price": {14 "max": 1,15 "currency": "USD",16 "in_stock": true,17 "min_quantity": 10018 },19 "specs": {20 "Supply Voltage": {21 "gte": 3,22 "lte": 5,23 "unit": "V"24 },25 "Mounting Type": [26 "Surface Mount"27 ]28 }29}| Field | Type | Notes |
|---|---|---|
list_filter | string | string[] | Approved-parts list scope — one lst_… id, or an array (union). Get ids from Approved-parts lists |
manufacturers | string[] | Manufacturer slugs (OR within the list) |
categories | string[] | Category path slugs to include — subtree-inclusive (OR) |
exclude_categories | string[] | Category path slugs to exclude (subtree-inclusive) |
status | PartStatus[] | Lifecycle statuses to include; defaults to ["active"] |
price | object | null | { min, max, currency, distributors, in_stock, min_quantity } |
specs | object | Spec filters keyed by display name — see below |
Each entry in specs is one of:
- a list of allowed values —
["Surface Mount"](enum match, OR) - a numeric range —
{ "gte": 3, "lte": 5, "unit": "V" }(alsogt,lt) - a compound —
{ "$and": [...] },{ "$or": [...] }, or{ "$not": [...] }
Spec keys are the spec display names and are intentionally not stable identifiers — Zenode refines them as the database improves. Read them live (the search facets endpoint lists what's available); don't cache them as IDs.
Used by: Part Catalog search and AI discovery.