Skip to content
Jetrepo
Esc
navigateopen⌘Jpreview
On this page

Filter and search

Build nested filters and full-text searches within supported limits.

Use operators generated for the current model. Sibling predicates imply AND; recursive AND, OR, and NOT build larger expressions.

Access

Delivery keys use Backend scope only. Published delivery does not separately authorize traversed targets. Preview sessions apply live Data Type authorization to content traversal and Vocabulary authorization to Terms.

The field-filter examples below apply to Published delivery. Draft and Release Preview supports full-text search and cursors, but not field filters or nearest; its sort choices are limited to ID and created, updated, or published timestamps.

GraphQL and REST

query Products {
  product_all(
    filter: {
      OR: [{ price: { lt: 50 } }, { title: { matches: { pattern: "sale" } } }]
      featured: { eq: true }
    }
  ) {
    items {
      _id
      title
      price
    }
  }
}

The REST equivalent uses bracket notation. Percent-encode it when constructing the URL programmatically.

curl 'https://delivery.example.com/rest/product?filter[OR][0][price][lt]=50&filter[OR][1][title][matches][pattern]=sale&filter[featured][eq]=true' \
  -H 'x-api-key: YOUR_DELIVERY_KEY'

Composition rules

  • Component predicates match within the same Component instance.
  • References support ID predicates and generated typed traversal.
  • Taxonomy assignments support eq, in, not_in, and is_empty.
  • Geo fields expose generated proximity and topology inputs.
  • Search is separate from filter, searches the all-language index, and adds relevance as the leading sort plan. It is not semantic search.

Limits

Limit Maximum
Predicates 32
Boolean nesting depth 6
Children in one OR 16
Relation hops 3
Component depth 5

Violations are 400-class input errors. Taxonomy Term custom filters and sorts exist only for eligible top-level, single-valued scalar fields.

Was this page helpful?