Appearance
Filtering
Filter results using the filter query parameter with bracket notation.
Syntax
?filter[fieldName]=valueEach endpoint documents its available filters in the OpenAPI spec below.
Filter Types
Exact Match
Most filters perform exact matching. Comma-separated values are treated as an IN clause:
?filter[id]=5 # Single value
?filter[id]=1,2,5 # Multiple values (WHERE id IN (1, 2, 5))
?filter[active]=1 # Boolean filter
?filter[vendorId]=3 # Foreign key filterPartial Match (LIKE)
String/text filters typically use partial matching:
?filter[name]=Widget # Matches "Widget", "Blue Widget", "Widget Pro", etc.Translation Filters
For multi-language fields, append the locale code:
?filter[name.el]=...
?filter[name.en]=...
?filter[slug.en]=my-productBetween (Range)
Some numeric/date filters support range queries with comma-separated min,max:
?filter[price]=10,50 # WHERE price BETWEEN 10 AND 50Not Empty
Some filters check for non-empty values:
?filter[hasImage]=1 # Only entities where image is not emptyCombining Filters
Multiple filters are combined with AND logic:
?filter[active]=1&filter[vendorId]=3&filter[categoryId]=12Discovering Filters from the OpenAPI Spec
Each resource's OpenAPI tag includes a vendor extension x-filters that lists all valid filters with their type:
| Filter type | Operator | Description |
|---|---|---|
exact | = / IN | Exact match; comma-separated values become an IN clause |
partial | LIKE | Substring match; wraps the value in %...% |
between | BETWEEN | Range query; expects two comma-separated values (min, max) |
not_empty | IS NOT NULL / != '' | Existence check; pass 1 to filter for non-empty values |
Example x-filters excerpt from a tag definition:
yaml
x-filters:
id:
type: exact
name:
type: partial
price:
type: between
hasImage:
type: not_empty
active:
type: exactRange Filter Example
For between-type filters, pass a comma-separated min and max value:
?filter[price]=10,100This translates to WHERE price BETWEEN 10 AND 100, returning only products within that price range.
Use the x-filters vendor extensions to programmatically discover which filters each resource supports and what type of matching they perform.