Skip to main content
Most list endpoints use POST .../search with an optional query string in the request body. Use it to filter rows before pagination is applied. query is a structured expression, not plain keyword search. For text matching across searchable fields, use the separate search field instead.

Request shape

All search body fields are optional. Omit query to return unfiltered results (subject to your workspace permissions and any endpoint-specific defaults).

Expression syntax

query uses a function-call syntax parsed as an expression tree. Combine filters with logical operators:

Comparisons

Field references

  • Use the resource field name directly, for example status, createdAt, or name.
  • Reference another column in the expression with col('fieldName').
  • Filter on a contact attribute with getBy('attributes', 'id', 'attribute-id') or getBy('attributes', 'name', 'attribute_name').

Examples

Field names are case-sensitive. Each search endpoint documents its filterable fields on the query property in the API reference.