Advanced Filtering
List Entries accepts a where query parameter for structured filters. The server expects where as a nested array (typical for HTTP clients and the JavaScript SDK). Filters apply after the state and optional locale filters on content_entries.
Core columns
These columns live on content_entries:
id, uuid, locale, state, created_at, updated_at, published_at
Operators
| Operator | Meaning |
|---|---|
eq | Equal |
lt, lte, gt, gte | Comparisons |
not | Not equal (see implementation notes for custom fields) |
like | SQL LIKE with %value% for core columns |
in, not_in | Value lists (comma-separated or array) |
between, not_between | Two bounds (comma-separated or array) |
null, not_null | Null checks |
Example (query string style)
GET /api/products?state=published&where[title][eq]=Alpha%20Shirt
GET /api/products?state=published&where[price][gt]=79
GET /api/products?state=published&where[title][like]=shirt
GET /api/products?state=published&where[title][in]=Alpha%20Shirt,Gamma%20Shoes
GET /api/products?state=published&where[published_at][null]=trueFor boolean-like custom fields, values such as true / false are matched against stored values.
Custom fields
For names that are not core columns, the API resolves the field on the collection and filters on content_field_values (text, number, boolean, JSON, and so on depending on type).
Relation and media fields support null / not_null in addition to the usual operators where implemented.
not and not_in
These are implemented as “does not match” semantics on field values (including JSON containment checks where applicable). Use the tests in the core codebase as the reference for edge cases.
Related (relation) filters
You can filter on fields of related entries by nesting the related collection field name and a field on the related entry:
GET /api/products?state=published&where[category][name]=ApparelYou can combine operators under nested keys when the payload is structured as nested arrays.
OR conditions
Use where[or] as an array of alternative condition groups:
GET /api/products?state=published&where[or][0][title][like]=shirt&where[or][1][title][like]=jacketSDK
Pass a nested object; the SDK serializes it to where[field][...] query parameters. See JavaScript SDK — Content.
Related
- List Entries -
where,sort, pagination - JavaScript SDK -
content.listandwhere