August 11, 2026

Fixed filtering an array field on several values, which previously matched only the first value.

Fixed

Filtering

  • Filtering an array field on several values now matches all of them, on list endpoints and POST /v2/query. Previously only the first value applied, so {"tags": ["Wave 1", "Efficio"]} returned only records tagged Wave 1.
  • Filtering an array field on numeric values now works, as in {"contract_value_year": [1, 2]}.
  • Fuzzy search now works when the value is written as an array, so {"app_label": ["~,sales"]} searches for sales just as {"app_label": "~,sales"} does.
  • Whitespace around a filter value is now ignored, so {"tags": "Wave 1, Efficio"} and {"tags": "Wave 1,Efficio"} are equivalent.
  • Filters that cannot be interpreted now return a 400 explaining the problem, rather than an unintended set of records. This covers:
    • a list carrying only one of its [ ] all-of brackets, or brackets placed around each value instead of around the whole list;
    • a !, or ~, marker on a value other than the first, or a value consisting of only ! or ~;
    • all-of brackets on a field that is not an array;
    • fuzzy search (~,) on an array field;
    • a null filter value. Use the string "null" to match empty values, or omit the filter to leave the field unfiltered.