Search Products
GET/api/products/search
Search products by SKU, name, or barcode. Results are ranked by a 9-tier relevance scheme so typing a full SKU surfaces the exact product first:
- Exact SKU match
- Exact barcode match
- Exact name match
- SKU starts with the query
- Barcode starts with the query
- Name starts with the query
- SKU contains the query (anywhere)
- Name contains the query (anywhere)
- Anything else (barcode contains, etc.)
Only active (non-archived) products are returned.
Authentication: Requires Bearer token.
Minimum query length: 2 characters.
Optional with parameter (allowlist): pass with=inventory to include warehouse-aggregate inventory totals (inventory_available, inventory_allocated, inventory_on_hold) in each result.
Optional simple_assembleable=1 filter: restricts results to products that can actually be assembled or disassembled via Manufacturing Simple Mode (have an active default BOM with component lines, or legacy kit components). Anything else would fail at submit, so the picker blocks it.
Stock UoM fields: When the product's stockProductUom.unitOfMeasure relation is eager-loaded (this endpoint always loads it), each item additionally exposes stock_uom_id, stock_uom_code (e.g. KG), and stock_uom_name. The legacy nested stock_uom object is still emitted via ?with=stock_uom.
Request
Responses
- 200
Successful response