PartFilters
Shared search filters
The shared filter object used by catalog search and its facets. Every field is optional.
JSON
1{2 "manufacturers": [3 "texas-instruments-inc"4 ],5 "categories": [6 "amplifiers/operational-amplifiers"7 ],8 "exclude_categories": [],9 "status": [10 "active"11 ],12 "price": {13 "max": 1,14 "currency": "USD",15 "in_stock": true,16 "min_quantity": 10017 },18 "specs": {19 "Supply Voltage": {20 "gte": 3,21 "lte": 5,22 "unit": "V"23 },24 "Mounting Type": [25 "Surface Mount"26 ]27 }28}| Field | Type | Notes |
|---|---|---|
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.