Use the search parameter to perform a text search on a model's searchable fields. This is a basic implementation using case-insensitive regular expressions: each word in the query matches as a substring, and all words must match within the same field. For example, searching blue shirts matches records where a single searchable field contains both "blue" and "shirt"—including partial words, so "shirt" also matches "t-shirts". Wrap a phrase in double quotes to match it exactly, including spaces.

The models below define dedicated search fields. All other models are searched across every string field, including fields nested in objects and arrays.

For building a user-facing store search experience, we recommend using Algolia, Typesense, or Meilisearch as they provide far more powerful and customizable search features.

ModelSearchable fields
/accountsname, email, phone, vat_number, notes
/productsname, slug, sku
/products:variantsname, sku
/cartsnumber, billing.name, shipping.name
/ordersnumber, billing.name, shipping.name
/categoriesname, slug
/purchaselinksname
/shipmentsid, order_id, tracking_code, packages.tracking_code, destination.name, destination.address1
/returnsid, order_id, tracking_code, origin.name, origin.address1