# Queries ranked by how a metric differs between two sides `POST /analytics/v1/searches/queries/comparisons` Which queries gained or lost the most against another time range, another segment, or both, by one metric. `filters` hold on both sides; `segment` holds on the request's own side alone, and `comparison.segment` on the comparison side alone, which takes `segment` when it leaves it out. For another period, set `comparison: {"date_range": ...}`. For another segment over the same period, e.g. mobile shoppers in variant A of the client's A/B test against mobile shoppers in variant B, set `filters: {"device": {"eq": "mobile"}}`, `segment: {"external_ab_test_variant": {"eq": "A"}}` and `comparison: {"segment": {"external_ab_test_variant": {"eq": "B"}}}`. For the queries whose click-through rate is at least 20% below the comparison side's, add `change_filters: {"click_through_rate.relative_change": {"lte": -0.2}}`; the same change in `sort: {"field": "click_through_rate.relative_change", "direction": "asc"}` puts the steepest drop first. ## Request example ```bash curl --request POST \ --url 'https://api.eu1.luigisbox.ai/analytics/v1/searches/queries/comparisons?channel_ids=&page=1&size=20' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '{ "attribution_model": "last_touch", "change_filters": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "comparison": { "date_range": { "date_from": "2026-04-15T12:00:00Z", "date_to": "2026-04-15T12:00:00Z" }, "segment": { "$and": [ {} ], "$not": {}, "$or": [ {} ] } }, "comparison_metric_filters": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "date_range": { "date_from": "2026-04-15T12:00:00Z", "date_to": "2026-04-15T12:00:00Z" }, "filters": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "group_by": [], "metric_filters": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "metrics": [ "users" ], "segment": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "sort": { "direction": "desc", "field": "searches.absolute_change" }, "touchpoints": [ "autocomplete" ] }' ``` ## Query Parameters | Name | Type | Required | Description | Constraints | |---|---|---|---|---| | `channel_ids` | `Array` | Yes | One or more channel ids to aggregate over. Provide as repeated query parameters (``?channel_ids=A&channel_ids=B``). | >= 1 items | | `page` | `integer` | No | 1-based page number. | >= 1 | | `size` | `integer` | No | Number of items per page. | >= 1; <= 100 | ## Request Body **Required.** ### application/json Schema: `SearchComparisonListRequest` #### Attributes | Attribute | Type | Required | Description | Constraints | |---|---|---|---|---| | `attribution_model` | `AttributionModel` | No | Which of the lists that showed an item is credited with an interaction on it; only `last_touch`, the last of them, is recorded today. | — | | `change_filters` | `anyOf(SearchMetricChangeFilter, null)` | No | Which rows are returned, by their `changes`: each field is `.absolute_change` or `.relative_change`, e.g. `{"click_through_rate.relative_change": {"lte": -0.2}}` keeps the rows whose click-through rate is at least 20% below the comparison side's. A `null` change fails every bound. Naming a metric here does not add it to the response. At most 100 conditions, in groups nested at most 10 deep — conditions are counted and the groups holding them are not. A tree past either is a `422` of type `filter_too_complex`. | — | | `change_filters.$and` | `Array` | No | Nodes that must all match. | >= 1 items | | `change_filters.$not` | `SearchMetricChangeFilter` | No | A node that must not match. | — | | `change_filters.$or` | `Array` | No | Nodes of which at least one must match. | >= 1 items | | `change_filters.attributed_average_order_value.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_average_order_value.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_average_order_value.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_average_order_value.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_average_order_value.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_average_order_value.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_average_order_value.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_average_order_value.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_average_order_value.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_average_order_value.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_average_order_value.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_average_order_value.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_average_order_value.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_average_order_value.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_average_order_value.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_average_order_value.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_cart_value.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_cart_value.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_cart_value.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_cart_value.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_cart_value.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_cart_value.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_cart_value.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_cart_value.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_cart_value.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_cart_value.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_cart_value.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_cart_value.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_cart_value.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_cart_value.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_cart_value.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_cart_value.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_1.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_1.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_1.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_1.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_1.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_1.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_1.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_1.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_1.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_1.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_1.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_1.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_1.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_1.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_1.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_1.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_1_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_1_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_1_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_1_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_1_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_1_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_1_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_1_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_1_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_1_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_1_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_1_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_1_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_1_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_1_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_1_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_2.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_2.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_2.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_2.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_2.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_2.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_2.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_2.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_2.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_2.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_2.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_2.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_2.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_2.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_2.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_2.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_2_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_2_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_2_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_2_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_2_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_2_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_2_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_2_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_2_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_2_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_2_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_2_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_2_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_2_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_2_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_2_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_3.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_3.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_3.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_3.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_3.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_3.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_3.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_3.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_3.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_3.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_3.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_3.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_3.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_3.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_3.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_3.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_3_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_3_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_3_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_3_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_3_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_3_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_3_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_3_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_key_events_3_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_key_events_3_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_key_events_3_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_key_events_3_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_key_events_3_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_key_events_3_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_key_events_3_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_key_events_3_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_revenue.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_revenue.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_revenue.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_revenue.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_revenue.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_revenue.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_revenue.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_revenue.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_revenue.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_revenue.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_revenue.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_revenue.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_revenue.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_revenue.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_revenue.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_revenue.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_transaction_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_transaction_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_transaction_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_transaction_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_transaction_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_transaction_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_transaction_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_transaction_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_transaction_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_transaction_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_transaction_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_transaction_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_transaction_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_transaction_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_transaction_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_transaction_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_transactions.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_transactions.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_transactions.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_transactions.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_transactions.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_transactions.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_transactions.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_transactions.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.attributed_transactions.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.attributed_transactions.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.attributed_transactions.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.attributed_transactions.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.attributed_transactions.relative_change.gte` | `number` | No | At least. | — | | `change_filters.attributed_transactions.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.attributed_transactions.relative_change.lte` | `number` | No | At most. | — | | `change_filters.attributed_transactions.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.average_click_position.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.average_click_position.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.average_click_position.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.average_click_position.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.average_click_position.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.average_click_position.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.average_click_position.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.average_click_position.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.average_click_position.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.average_click_position.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.average_click_position.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.average_click_position.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.average_click_position.relative_change.gte` | `number` | No | At least. | — | | `change_filters.average_click_position.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.average_click_position.relative_change.lte` | `number` | No | At most. | — | | `change_filters.average_click_position.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.click_through_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.click_through_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.click_through_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.click_through_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.click_through_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.click_through_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.click_through_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.click_through_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.click_through_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.click_through_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.click_through_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.click_through_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.click_through_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.click_through_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.click_through_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.click_through_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.clicks.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.clicks.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.clicks.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.clicks.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.clicks.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.clicks.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.clicks.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.clicks.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.clicks.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.clicks.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.clicks.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.clicks.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.clicks.relative_change.gte` | `number` | No | At least. | — | | `change_filters.clicks.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.clicks.relative_change.lte` | `number` | No | At most. | — | | `change_filters.clicks.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.exit_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.exit_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.exit_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.exit_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.exit_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.exit_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.exit_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.exit_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.exit_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.exit_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.exit_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.exit_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.exit_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.exit_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.exit_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.exit_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.no_results_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.no_results_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.no_results_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.no_results_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.no_results_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.no_results_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.no_results_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.no_results_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.no_results_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.no_results_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.no_results_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.no_results_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.no_results_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.no_results_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.no_results_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.no_results_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.queries.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.queries.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.queries.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.queries.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.queries.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.queries.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.queries.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.queries.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.queries.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.queries.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.queries.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.queries.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.queries.relative_change.gte` | `number` | No | At least. | — | | `change_filters.queries.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.queries.relative_change.lte` | `number` | No | At most. | — | | `change_filters.queries.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.queries_without_results.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.queries_without_results.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.queries_without_results.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.queries_without_results.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.queries_without_results.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.queries_without_results.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.queries_without_results.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.queries_without_results.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.queries_without_results.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.queries_without_results.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.queries_without_results.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.queries_without_results.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.queries_without_results.relative_change.gte` | `number` | No | At least. | — | | `change_filters.queries_without_results.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.queries_without_results.relative_change.lte` | `number` | No | At most. | — | | `change_filters.queries_without_results.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.reformulation_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.reformulation_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.reformulation_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.reformulation_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.reformulation_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.reformulation_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.reformulation_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.reformulation_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.reformulation_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.reformulation_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.reformulation_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.reformulation_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.reformulation_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.reformulation_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.reformulation_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.reformulation_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.searches.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.searches.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.searches.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.searches.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.searches.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.searches.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.searches.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.searches.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.searches.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.searches.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.searches.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.searches.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.searches.relative_change.gte` | `number` | No | At least. | — | | `change_filters.searches.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.searches.relative_change.lte` | `number` | No | At most. | — | | `change_filters.searches.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.searches_without_clicks.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.searches_without_clicks.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.searches_without_clicks.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.searches_without_clicks.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.searches_without_clicks.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.searches_without_clicks.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.searches_without_clicks.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.searches_without_clicks.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.searches_without_clicks.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.searches_without_clicks.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.searches_without_clicks.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.searches_without_clicks.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.searches_without_clicks.relative_change.gte` | `number` | No | At least. | — | | `change_filters.searches_without_clicks.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.searches_without_clicks.relative_change.lte` | `number` | No | At most. | — | | `change_filters.searches_without_clicks.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.searches_without_results.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.searches_without_results.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.searches_without_results.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.searches_without_results.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.searches_without_results.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.searches_without_results.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.searches_without_results.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.searches_without_results.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.searches_without_results.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.searches_without_results.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.searches_without_results.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.searches_without_results.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.searches_without_results.relative_change.gte` | `number` | No | At least. | — | | `change_filters.searches_without_results.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.searches_without_results.relative_change.lte` | `number` | No | At most. | — | | `change_filters.searches_without_results.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.sessions.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.sessions.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions.relative_change.gte` | `number` | No | At least. | — | | `change_filters.sessions.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions.relative_change.lte` | `number` | No | At most. | — | | `change_filters.sessions.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_attributed_key_events_1_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_attributed_key_events_1_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_attributed_key_events_1_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_attributed_key_events_1_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_attributed_key_events_1_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_attributed_key_events_1_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_attributed_key_events_1_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_attributed_key_events_1_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_attributed_key_events_1_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_attributed_key_events_1_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_attributed_key_events_1_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_attributed_key_events_1_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_attributed_key_events_1_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_attributed_key_events_1_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_attributed_key_events_1_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_attributed_key_events_1_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_attributed_key_events_2_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_attributed_key_events_2_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_attributed_key_events_2_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_attributed_key_events_2_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_attributed_key_events_2_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_attributed_key_events_2_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_attributed_key_events_2_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_attributed_key_events_2_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_attributed_key_events_2_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_attributed_key_events_2_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_attributed_key_events_2_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_attributed_key_events_2_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_attributed_key_events_2_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_attributed_key_events_2_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_attributed_key_events_2_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_attributed_key_events_2_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_attributed_key_events_3_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_attributed_key_events_3_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_attributed_key_events_3_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_attributed_key_events_3_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_attributed_key_events_3_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_attributed_key_events_3_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_attributed_key_events_3_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_attributed_key_events_3_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_attributed_key_events_3_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_attributed_key_events_3_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_attributed_key_events_3_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_attributed_key_events_3_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_attributed_key_events_3_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_attributed_key_events_3_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_attributed_key_events_3_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_attributed_key_events_3_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_attributed_transaction_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_attributed_transaction_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_attributed_transaction_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_attributed_transaction_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_attributed_transaction_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_attributed_transaction_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_attributed_transaction_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_attributed_transaction_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_attributed_transaction_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_attributed_transaction_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_attributed_transaction_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_attributed_transaction_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_attributed_transaction_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_attributed_transaction_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_attributed_transaction_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_attributed_transaction_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_click_through_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_click_through_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_click_through_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_click_through_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_click_through_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_click_through_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_click_through_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_click_through_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_click_through_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_click_through_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_click_through_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_click_through_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_click_through_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_click_through_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_click_through_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_click_through_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_no_results_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_no_results_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_no_results_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_no_results_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_no_results_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_no_results_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_no_results_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_no_results_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.sessions_no_results_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.sessions_no_results_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.sessions_no_results_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.sessions_no_results_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.sessions_no_results_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.sessions_no_results_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.sessions_no_results_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.sessions_no_results_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.unfiltered_no_results_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.unfiltered_no_results_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.unfiltered_no_results_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.unfiltered_no_results_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.unfiltered_no_results_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.unfiltered_no_results_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.unfiltered_no_results_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.unfiltered_no_results_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.unfiltered_no_results_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.unfiltered_no_results_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.unfiltered_no_results_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.unfiltered_no_results_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.unfiltered_no_results_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.unfiltered_no_results_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.unfiltered_no_results_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.unfiltered_no_results_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.unfiltered_searches_without_results.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.unfiltered_searches_without_results.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.unfiltered_searches_without_results.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.unfiltered_searches_without_results.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.unfiltered_searches_without_results.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.unfiltered_searches_without_results.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.unfiltered_searches_without_results.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.unfiltered_searches_without_results.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.unfiltered_searches_without_results.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.unfiltered_searches_without_results.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.unfiltered_searches_without_results.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.unfiltered_searches_without_results.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.unfiltered_searches_without_results.relative_change.gte` | `number` | No | At least. | — | | `change_filters.unfiltered_searches_without_results.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.unfiltered_searches_without_results.relative_change.lte` | `number` | No | At most. | — | | `change_filters.unfiltered_searches_without_results.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.unfiltered_users_without_results.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.unfiltered_users_without_results.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.unfiltered_users_without_results.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.unfiltered_users_without_results.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.unfiltered_users_without_results.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.unfiltered_users_without_results.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.unfiltered_users_without_results.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.unfiltered_users_without_results.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.unfiltered_users_without_results.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.unfiltered_users_without_results.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.unfiltered_users_without_results.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.unfiltered_users_without_results.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.unfiltered_users_without_results.relative_change.gte` | `number` | No | At least. | — | | `change_filters.unfiltered_users_without_results.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.unfiltered_users_without_results.relative_change.lte` | `number` | No | At most. | — | | `change_filters.unfiltered_users_without_results.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.users.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.users.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.users.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.users.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.users.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.users.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.users.relative_change.gte` | `number` | No | At least. | — | | `change_filters.users.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.users.relative_change.lte` | `number` | No | At most. | — | | `change_filters.users.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_attributed_key_events_1_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_attributed_key_events_1_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_attributed_key_events_1_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_attributed_key_events_1_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_attributed_key_events_1_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.users_attributed_key_events_1_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.users_attributed_key_events_1_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.users_attributed_key_events_1_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_attributed_key_events_1_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_attributed_key_events_1_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_attributed_key_events_1_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_attributed_key_events_1_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_attributed_key_events_1_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.users_attributed_key_events_1_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.users_attributed_key_events_1_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.users_attributed_key_events_1_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_attributed_key_events_2_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_attributed_key_events_2_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_attributed_key_events_2_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_attributed_key_events_2_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_attributed_key_events_2_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.users_attributed_key_events_2_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.users_attributed_key_events_2_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.users_attributed_key_events_2_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_attributed_key_events_2_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_attributed_key_events_2_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_attributed_key_events_2_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_attributed_key_events_2_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_attributed_key_events_2_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.users_attributed_key_events_2_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.users_attributed_key_events_2_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.users_attributed_key_events_2_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_attributed_key_events_3_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_attributed_key_events_3_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_attributed_key_events_3_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_attributed_key_events_3_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_attributed_key_events_3_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.users_attributed_key_events_3_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.users_attributed_key_events_3_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.users_attributed_key_events_3_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_attributed_key_events_3_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_attributed_key_events_3_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_attributed_key_events_3_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_attributed_key_events_3_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_attributed_key_events_3_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.users_attributed_key_events_3_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.users_attributed_key_events_3_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.users_attributed_key_events_3_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_attributed_transaction_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_attributed_transaction_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_attributed_transaction_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_attributed_transaction_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_attributed_transaction_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.users_attributed_transaction_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.users_attributed_transaction_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.users_attributed_transaction_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_attributed_transaction_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_attributed_transaction_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_attributed_transaction_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_attributed_transaction_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_attributed_transaction_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.users_attributed_transaction_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.users_attributed_transaction_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.users_attributed_transaction_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_click_through_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_click_through_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_click_through_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_click_through_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_click_through_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.users_click_through_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.users_click_through_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.users_click_through_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_click_through_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_click_through_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_click_through_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_click_through_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_click_through_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.users_click_through_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.users_click_through_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.users_click_through_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_no_results_rate.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_no_results_rate.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_no_results_rate.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_no_results_rate.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_no_results_rate.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.users_no_results_rate.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.users_no_results_rate.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.users_no_results_rate.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_no_results_rate.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_no_results_rate.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_no_results_rate.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_no_results_rate.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_no_results_rate.relative_change.gte` | `number` | No | At least. | — | | `change_filters.users_no_results_rate.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.users_no_results_rate.relative_change.lte` | `number` | No | At most. | — | | `change_filters.users_no_results_rate.relative_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_without_results.absolute_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_without_results.absolute_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_without_results.absolute_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_without_results.absolute_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_without_results.absolute_change.gte` | `number` | No | At least. | — | | `change_filters.users_without_results.absolute_change.lt` | `number` | No | Less than. | — | | `change_filters.users_without_results.absolute_change.lte` | `number` | No | At most. | — | | `change_filters.users_without_results.absolute_change.neq` | `number` | No | Not equal to. | — | | `change_filters.users_without_results.relative_change` | `NumberCondition` | No | Operators on one numeric field. | — | | `change_filters.users_without_results.relative_change.eq` | `number` | No | Equal to. | — | | `change_filters.users_without_results.relative_change.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `change_filters.users_without_results.relative_change.gt` | `number` | No | Greater than. | — | | `change_filters.users_without_results.relative_change.gte` | `number` | No | At least. | — | | `change_filters.users_without_results.relative_change.lt` | `number` | No | Less than. | — | | `change_filters.users_without_results.relative_change.lte` | `number` | No | At most. | — | | `change_filters.users_without_results.relative_change.neq` | `number` | No | Not equal to. | — | | `comparison` | `SearchComparison` | Yes | What `comparison_metrics` reports: the same touchpoints, channels and `filters` over `comparison.date_range` and `comparison.segment`, each the request's own when left out. At least one of them must differ from the request's own. | — | | `comparison.date_range` | `DateRange` | No | The time range of the comparison side; the request's `date_range` when left out. | — | | `comparison.date_range.date_from` | `string` | Yes | Start, inclusive. | format: date-time | | `comparison.date_range.date_to` | `string` | Yes | End, exclusive. | format: date-time | | `comparison.segment` | `SearchFilter` | No | Which searches the comparison side counts besides `filters`, in place of the request's `segment`, which it takes when left out; e.g. `{"external_ab_test_variant": {"eq": "B"}}`. Grouping by a field that tells the two segments apart puts them on separate rows. At most 100 conditions, in groups nested at most 10 deep — conditions are counted and the groups holding them are not. A tree past either is a `422` of type `filter_too_complex`. It and `filters` together are held to the same caps. | — | | `comparison.segment.$and` | `Array` | No | Nodes that must all match. | >= 1 items | | `comparison.segment.$not` | `SearchFilter` | No | A node that must not match. | — | | `comparison.segment.$or` | `Array` | No | Nodes of which at least one must match. | >= 1 items | | `comparison.segment.applied_filter` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.applied_filter.eq` | `string` | No | Equal to. | — | | `comparison.segment.applied_filter.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.applied_filter.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.applied_filter.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.applied_filter.neq` | `string` | No | Not equal to. | — | | `comparison.segment.applied_filter.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.consent_granted` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `comparison.segment.consent_granted.eq` | `boolean` | No | Equal to. | — | | `comparison.segment.device` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.device.eq` | `string` | No | Equal to. | — | | `comparison.segment.device.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.device.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.device.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.device.neq` | `string` | No | Not equal to. | — | | `comparison.segment.device.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.external_ab_test_variant` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.external_ab_test_variant.eq` | `string` | No | Equal to. | — | | `comparison.segment.external_ab_test_variant.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.external_ab_test_variant.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.external_ab_test_variant.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.external_ab_test_variant.neq` | `string` | No | Not equal to. | — | | `comparison.segment.external_ab_test_variant.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.filtered` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `comparison.segment.filtered.eq` | `boolean` | No | Equal to. | — | | `comparison.segment.followed_by_search` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `comparison.segment.followed_by_search.eq` | `boolean` | No | Equal to. | — | | `comparison.segment.identity` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.identity.eq` | `string` | No | Equal to. | — | | `comparison.segment.identity.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.identity.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.identity.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.identity.neq` | `string` | No | Not equal to. | — | | `comparison.segment.identity.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.internal_ab_test_id` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.internal_ab_test_id.eq` | `string` | No | Equal to. | — | | `comparison.segment.internal_ab_test_id.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.internal_ab_test_id.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.internal_ab_test_id.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.internal_ab_test_id.neq` | `string` | No | Not equal to. | — | | `comparison.segment.internal_ab_test_id.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.internal_ab_test_variant` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.internal_ab_test_variant.eq` | `string` | No | Equal to. | — | | `comparison.segment.internal_ab_test_variant.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.internal_ab_test_variant.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.internal_ab_test_variant.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.internal_ab_test_variant.neq` | `string` | No | Not equal to. | — | | `comparison.segment.internal_ab_test_variant.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.landing_page` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.landing_page.eq` | `string` | No | Equal to. | — | | `comparison.segment.landing_page.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.landing_page.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.landing_page.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.landing_page.neq` | `string` | No | Not equal to. | — | | `comparison.segment.landing_page.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.landing_page_host` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.landing_page_host.eq` | `string` | No | Equal to. | — | | `comparison.segment.landing_page_host.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.landing_page_host.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.landing_page_host.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.landing_page_host.neq` | `string` | No | Not equal to. | — | | `comparison.segment.landing_page_host.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.personalized` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `comparison.segment.personalized.eq` | `boolean` | No | Equal to. | — | | `comparison.segment.platform` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.platform.eq` | `string` | No | Equal to. | — | | `comparison.segment.platform.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.platform.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.platform.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.platform.neq` | `string` | No | Not equal to. | — | | `comparison.segment.platform.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.query` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.query.eq` | `string` | No | Equal to. | — | | `comparison.segment.query.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.query.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.query.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.query.neq` | `string` | No | Not equal to. | — | | `comparison.segment.query.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.redirected` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `comparison.segment.redirected.eq` | `boolean` | No | Equal to. | — | | `comparison.segment.result_type` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.result_type.eq` | `string` | No | Equal to. | — | | `comparison.segment.result_type.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.result_type.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.result_type.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.result_type.neq` | `string` | No | Not equal to. | — | | `comparison.segment.result_type.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.returning` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `comparison.segment.returning.eq` | `boolean` | No | Equal to. | — | | `comparison.segment.session_rank` | `IntegerCondition` | No | Operators on one whole-number field. | — | | `comparison.segment.session_rank.eq` | `integer` | No | Equal to. | — | | `comparison.segment.session_rank.gt` | `integer` | No | Greater than. | — | | `comparison.segment.session_rank.gte` | `integer` | No | At least. | — | | `comparison.segment.session_rank.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.session_rank.lt` | `integer` | No | Less than. | — | | `comparison.segment.session_rank.lte` | `integer` | No | At most. | — | | `comparison.segment.session_rank.neq` | `integer` | No | Not equal to. | — | | `comparison.segment.session_rank.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.traffic_source` | `TrafficSourceCondition` | No | Operators on how a session arrived. | — | | `comparison.segment.traffic_source.eq` | `TrafficSource` | No | Equal to. | — | | `comparison.segment.traffic_source.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.traffic_source.neq` | `TrafficSource` | No | Not equal to. | — | | `comparison.segment.traffic_source.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.traffic_source_type` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.traffic_source_type.eq` | `string` | No | Equal to. | — | | `comparison.segment.traffic_source_type.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.traffic_source_type.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.traffic_source_type.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.traffic_source_type.neq` | `string` | No | Not equal to. | — | | `comparison.segment.traffic_source_type.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.url_host` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.url_host.eq` | `string` | No | Equal to. | — | | `comparison.segment.url_host.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.url_host.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.url_host.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.url_host.neq` | `string` | No | Not equal to. | — | | `comparison.segment.url_host.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.url_path` | `StringCondition` | No | Operators on one text field. | — | | `comparison.segment.url_path.eq` | `string` | No | Equal to. | — | | `comparison.segment.url_path.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.url_path.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.url_path.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.url_path.neq` | `string` | No | Not equal to. | — | | `comparison.segment.url_path.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison.segment.*` | `StringCondition` | No | Additional property. | — | | `comparison.segment.*.eq` | `string` | No | Equal to. | — | | `comparison.segment.*.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison.segment.*.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `comparison.segment.*.matches` | `string` | No | Contains this text. | >= 1 characters | | `comparison.segment.*.neq` | `string` | No | Not equal to. | — | | `comparison.segment.*.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `comparison_metric_filters` | `anyOf(SearchMetricFilter, null)` | No | Which rows are returned, by their `comparison_metrics`; naming a metric here does not add it to the response. At most 100 conditions, in groups nested at most 10 deep — conditions are counted and the groups holding them are not. A tree past either is a `422` of type `filter_too_complex`. | — | | `comparison_metric_filters.$and` | `Array` | No | Nodes that must all match. | >= 1 items | | `comparison_metric_filters.$not` | `SearchMetricFilter` | No | A node that must not match. | — | | `comparison_metric_filters.$or` | `Array` | No | Nodes of which at least one must match. | >= 1 items | | `comparison_metric_filters.attributed_average_order_value` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_average_order_value.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_average_order_value.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_average_order_value.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_average_order_value.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_average_order_value.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_average_order_value.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_average_order_value.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_cart_value` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_cart_value.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_cart_value.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_cart_value.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_cart_value.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_cart_value.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_cart_value.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_cart_value.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_key_events_1` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_key_events_1.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_key_events_1.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_key_events_1.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_key_events_1.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_key_events_1.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_key_events_1.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_key_events_1.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_key_events_1_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_key_events_1_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_key_events_1_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_key_events_1_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_key_events_1_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_key_events_1_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_key_events_1_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_key_events_1_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_key_events_2` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_key_events_2.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_key_events_2.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_key_events_2.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_key_events_2.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_key_events_2.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_key_events_2.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_key_events_2.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_key_events_2_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_key_events_2_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_key_events_2_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_key_events_2_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_key_events_2_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_key_events_2_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_key_events_2_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_key_events_2_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_key_events_3` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_key_events_3.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_key_events_3.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_key_events_3.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_key_events_3.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_key_events_3.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_key_events_3.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_key_events_3.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_key_events_3_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_key_events_3_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_key_events_3_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_key_events_3_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_key_events_3_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_key_events_3_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_key_events_3_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_key_events_3_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_revenue` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_revenue.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_revenue.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_revenue.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_revenue.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_revenue.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_revenue.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_revenue.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_transaction_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_transaction_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_transaction_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_transaction_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_transaction_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_transaction_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_transaction_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_transaction_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.attributed_transactions` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.attributed_transactions.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.attributed_transactions.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.attributed_transactions.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.attributed_transactions.gte` | `number` | No | At least. | — | | `comparison_metric_filters.attributed_transactions.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.attributed_transactions.lte` | `number` | No | At most. | — | | `comparison_metric_filters.attributed_transactions.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.average_click_position` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.average_click_position.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.average_click_position.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.average_click_position.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.average_click_position.gte` | `number` | No | At least. | — | | `comparison_metric_filters.average_click_position.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.average_click_position.lte` | `number` | No | At most. | — | | `comparison_metric_filters.average_click_position.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.click_through_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.click_through_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.click_through_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.click_through_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.click_through_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.click_through_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.click_through_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.click_through_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.clicks` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.clicks.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.clicks.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.clicks.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.clicks.gte` | `number` | No | At least. | — | | `comparison_metric_filters.clicks.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.clicks.lte` | `number` | No | At most. | — | | `comparison_metric_filters.clicks.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.exit_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.exit_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.exit_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.exit_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.exit_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.exit_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.exit_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.exit_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.last_no_results_at` | `TimestampCondition` | No | Operators on one instant; every bound carries an offset and is read as UTC. | — | | `comparison_metric_filters.last_no_results_at.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.last_no_results_at.gt` | `string` | No | Greater than. | format: date-time | | `comparison_metric_filters.last_no_results_at.gte` | `string` | No | At least. | format: date-time | | `comparison_metric_filters.last_no_results_at.lt` | `string` | No | Less than. | format: date-time | | `comparison_metric_filters.last_no_results_at.lte` | `string` | No | At most. | format: date-time | | `comparison_metric_filters.last_unfiltered_no_results_at` | `TimestampCondition` | No | Operators on one instant; every bound carries an offset and is read as UTC. | — | | `comparison_metric_filters.last_unfiltered_no_results_at.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.last_unfiltered_no_results_at.gt` | `string` | No | Greater than. | format: date-time | | `comparison_metric_filters.last_unfiltered_no_results_at.gte` | `string` | No | At least. | format: date-time | | `comparison_metric_filters.last_unfiltered_no_results_at.lt` | `string` | No | Less than. | format: date-time | | `comparison_metric_filters.last_unfiltered_no_results_at.lte` | `string` | No | At most. | format: date-time | | `comparison_metric_filters.no_results_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.no_results_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.no_results_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.no_results_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.no_results_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.no_results_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.no_results_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.no_results_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.queries` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.queries.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.queries.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.queries.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.queries.gte` | `number` | No | At least. | — | | `comparison_metric_filters.queries.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.queries.lte` | `number` | No | At most. | — | | `comparison_metric_filters.queries.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.queries_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.queries_without_results.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.queries_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.queries_without_results.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.queries_without_results.gte` | `number` | No | At least. | — | | `comparison_metric_filters.queries_without_results.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.queries_without_results.lte` | `number` | No | At most. | — | | `comparison_metric_filters.queries_without_results.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.reformulation_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.reformulation_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.reformulation_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.reformulation_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.reformulation_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.reformulation_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.reformulation_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.reformulation_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.searches` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.searches.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.searches.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.searches.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.searches.gte` | `number` | No | At least. | — | | `comparison_metric_filters.searches.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.searches.lte` | `number` | No | At most. | — | | `comparison_metric_filters.searches.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.searches_without_clicks` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.searches_without_clicks.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.searches_without_clicks.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.searches_without_clicks.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.searches_without_clicks.gte` | `number` | No | At least. | — | | `comparison_metric_filters.searches_without_clicks.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.searches_without_clicks.lte` | `number` | No | At most. | — | | `comparison_metric_filters.searches_without_clicks.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.searches_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.searches_without_results.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.searches_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.searches_without_results.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.searches_without_results.gte` | `number` | No | At least. | — | | `comparison_metric_filters.searches_without_results.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.searches_without_results.lte` | `number` | No | At most. | — | | `comparison_metric_filters.searches_without_results.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.sessions` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.sessions.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.sessions.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.sessions.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.sessions.gte` | `number` | No | At least. | — | | `comparison_metric_filters.sessions.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.sessions.lte` | `number` | No | At most. | — | | `comparison_metric_filters.sessions.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.sessions_attributed_key_events_1_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.sessions_attributed_key_events_1_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.sessions_attributed_key_events_1_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.sessions_attributed_key_events_1_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.sessions_attributed_key_events_1_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.sessions_attributed_key_events_1_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.sessions_attributed_key_events_1_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.sessions_attributed_key_events_1_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.sessions_attributed_key_events_2_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.sessions_attributed_key_events_2_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.sessions_attributed_key_events_2_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.sessions_attributed_key_events_2_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.sessions_attributed_key_events_2_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.sessions_attributed_key_events_2_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.sessions_attributed_key_events_2_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.sessions_attributed_key_events_2_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.sessions_attributed_key_events_3_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.sessions_attributed_key_events_3_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.sessions_attributed_key_events_3_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.sessions_attributed_key_events_3_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.sessions_attributed_key_events_3_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.sessions_attributed_key_events_3_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.sessions_attributed_key_events_3_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.sessions_attributed_key_events_3_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.sessions_attributed_transaction_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.sessions_attributed_transaction_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.sessions_attributed_transaction_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.sessions_attributed_transaction_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.sessions_attributed_transaction_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.sessions_attributed_transaction_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.sessions_attributed_transaction_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.sessions_attributed_transaction_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.sessions_click_through_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.sessions_click_through_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.sessions_click_through_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.sessions_click_through_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.sessions_click_through_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.sessions_click_through_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.sessions_click_through_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.sessions_click_through_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.sessions_no_results_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.sessions_no_results_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.sessions_no_results_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.sessions_no_results_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.sessions_no_results_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.sessions_no_results_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.sessions_no_results_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.sessions_no_results_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.unfiltered_no_results_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.unfiltered_no_results_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.unfiltered_no_results_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.unfiltered_no_results_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.unfiltered_no_results_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.unfiltered_no_results_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.unfiltered_no_results_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.unfiltered_no_results_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.unfiltered_searches_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.unfiltered_searches_without_results.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.unfiltered_searches_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.unfiltered_searches_without_results.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.unfiltered_searches_without_results.gte` | `number` | No | At least. | — | | `comparison_metric_filters.unfiltered_searches_without_results.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.unfiltered_searches_without_results.lte` | `number` | No | At most. | — | | `comparison_metric_filters.unfiltered_searches_without_results.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.unfiltered_users_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.unfiltered_users_without_results.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.unfiltered_users_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.unfiltered_users_without_results.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.unfiltered_users_without_results.gte` | `number` | No | At least. | — | | `comparison_metric_filters.unfiltered_users_without_results.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.unfiltered_users_without_results.lte` | `number` | No | At most. | — | | `comparison_metric_filters.unfiltered_users_without_results.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.users` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.users.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.users.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.users.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.users.gte` | `number` | No | At least. | — | | `comparison_metric_filters.users.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.users.lte` | `number` | No | At most. | — | | `comparison_metric_filters.users.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.users_attributed_key_events_1_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.users_attributed_key_events_1_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.users_attributed_key_events_1_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.users_attributed_key_events_1_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.users_attributed_key_events_1_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.users_attributed_key_events_1_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.users_attributed_key_events_1_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.users_attributed_key_events_1_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.users_attributed_key_events_2_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.users_attributed_key_events_2_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.users_attributed_key_events_2_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.users_attributed_key_events_2_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.users_attributed_key_events_2_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.users_attributed_key_events_2_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.users_attributed_key_events_2_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.users_attributed_key_events_2_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.users_attributed_key_events_3_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.users_attributed_key_events_3_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.users_attributed_key_events_3_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.users_attributed_key_events_3_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.users_attributed_key_events_3_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.users_attributed_key_events_3_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.users_attributed_key_events_3_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.users_attributed_key_events_3_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.users_attributed_transaction_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.users_attributed_transaction_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.users_attributed_transaction_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.users_attributed_transaction_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.users_attributed_transaction_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.users_attributed_transaction_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.users_attributed_transaction_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.users_attributed_transaction_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.users_click_through_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.users_click_through_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.users_click_through_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.users_click_through_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.users_click_through_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.users_click_through_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.users_click_through_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.users_click_through_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.users_no_results_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.users_no_results_rate.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.users_no_results_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.users_no_results_rate.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.users_no_results_rate.gte` | `number` | No | At least. | — | | `comparison_metric_filters.users_no_results_rate.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.users_no_results_rate.lte` | `number` | No | At most. | — | | `comparison_metric_filters.users_no_results_rate.neq` | `number` | No | Not equal to. | — | | `comparison_metric_filters.users_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `comparison_metric_filters.users_without_results.eq` | `number` | No | Equal to. | — | | `comparison_metric_filters.users_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `comparison_metric_filters.users_without_results.gt` | `number` | No | Greater than. | — | | `comparison_metric_filters.users_without_results.gte` | `number` | No | At least. | — | | `comparison_metric_filters.users_without_results.lt` | `number` | No | Less than. | — | | `comparison_metric_filters.users_without_results.lte` | `number` | No | At most. | — | | `comparison_metric_filters.users_without_results.neq` | `number` | No | Not equal to. | — | | `date_range` | `DateRange` | Yes | The time range whose values `metrics` reports. | — | | `date_range.date_from` | `string` | Yes | Start, inclusive. | format: date-time | | `date_range.date_to` | `string` | Yes | End, exclusive. | format: date-time | | `filters` | `anyOf(SearchFilter, null)` | No | Which searches both sides count; every search when left out. Each side counts the searches that pass `filters` and its own segment: `segment` on the request's own side, `comparison.segment` on the comparison side. `followed_by_search` holds on an autocomplete list the shopper submitted as a search, and never on a `serp` list. At most 100 conditions, in groups nested at most 10 deep — conditions are counted and the groups holding them are not. A tree past either is a `422` of type `filter_too_complex`. | — | | `filters.$and` | `Array` | No | Nodes that must all match. | >= 1 items | | `filters.$not` | `SearchFilter` | No | A node that must not match. | — | | `filters.$or` | `Array` | No | Nodes of which at least one must match. | >= 1 items | | `filters.applied_filter` | `StringCondition` | No | Operators on one text field. | — | | `filters.applied_filter.eq` | `string` | No | Equal to. | — | | `filters.applied_filter.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.applied_filter.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.applied_filter.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.applied_filter.neq` | `string` | No | Not equal to. | — | | `filters.applied_filter.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.consent_granted` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `filters.consent_granted.eq` | `boolean` | No | Equal to. | — | | `filters.device` | `StringCondition` | No | Operators on one text field. | — | | `filters.device.eq` | `string` | No | Equal to. | — | | `filters.device.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.device.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.device.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.device.neq` | `string` | No | Not equal to. | — | | `filters.device.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.external_ab_test_variant` | `StringCondition` | No | Operators on one text field. | — | | `filters.external_ab_test_variant.eq` | `string` | No | Equal to. | — | | `filters.external_ab_test_variant.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.external_ab_test_variant.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.external_ab_test_variant.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.external_ab_test_variant.neq` | `string` | No | Not equal to. | — | | `filters.external_ab_test_variant.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.filtered` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `filters.filtered.eq` | `boolean` | No | Equal to. | — | | `filters.followed_by_search` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `filters.followed_by_search.eq` | `boolean` | No | Equal to. | — | | `filters.identity` | `StringCondition` | No | Operators on one text field. | — | | `filters.identity.eq` | `string` | No | Equal to. | — | | `filters.identity.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.identity.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.identity.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.identity.neq` | `string` | No | Not equal to. | — | | `filters.identity.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.internal_ab_test_id` | `StringCondition` | No | Operators on one text field. | — | | `filters.internal_ab_test_id.eq` | `string` | No | Equal to. | — | | `filters.internal_ab_test_id.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.internal_ab_test_id.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.internal_ab_test_id.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.internal_ab_test_id.neq` | `string` | No | Not equal to. | — | | `filters.internal_ab_test_id.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.internal_ab_test_variant` | `StringCondition` | No | Operators on one text field. | — | | `filters.internal_ab_test_variant.eq` | `string` | No | Equal to. | — | | `filters.internal_ab_test_variant.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.internal_ab_test_variant.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.internal_ab_test_variant.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.internal_ab_test_variant.neq` | `string` | No | Not equal to. | — | | `filters.internal_ab_test_variant.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.landing_page` | `StringCondition` | No | Operators on one text field. | — | | `filters.landing_page.eq` | `string` | No | Equal to. | — | | `filters.landing_page.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.landing_page.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.landing_page.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.landing_page.neq` | `string` | No | Not equal to. | — | | `filters.landing_page.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.landing_page_host` | `StringCondition` | No | Operators on one text field. | — | | `filters.landing_page_host.eq` | `string` | No | Equal to. | — | | `filters.landing_page_host.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.landing_page_host.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.landing_page_host.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.landing_page_host.neq` | `string` | No | Not equal to. | — | | `filters.landing_page_host.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.personalized` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `filters.personalized.eq` | `boolean` | No | Equal to. | — | | `filters.platform` | `StringCondition` | No | Operators on one text field. | — | | `filters.platform.eq` | `string` | No | Equal to. | — | | `filters.platform.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.platform.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.platform.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.platform.neq` | `string` | No | Not equal to. | — | | `filters.platform.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.query` | `StringCondition` | No | Operators on one text field. | — | | `filters.query.eq` | `string` | No | Equal to. | — | | `filters.query.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.query.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.query.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.query.neq` | `string` | No | Not equal to. | — | | `filters.query.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.redirected` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `filters.redirected.eq` | `boolean` | No | Equal to. | — | | `filters.result_type` | `StringCondition` | No | Operators on one text field. | — | | `filters.result_type.eq` | `string` | No | Equal to. | — | | `filters.result_type.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.result_type.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.result_type.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.result_type.neq` | `string` | No | Not equal to. | — | | `filters.result_type.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.returning` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `filters.returning.eq` | `boolean` | No | Equal to. | — | | `filters.session_rank` | `IntegerCondition` | No | Operators on one whole-number field. | — | | `filters.session_rank.eq` | `integer` | No | Equal to. | — | | `filters.session_rank.gt` | `integer` | No | Greater than. | — | | `filters.session_rank.gte` | `integer` | No | At least. | — | | `filters.session_rank.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.session_rank.lt` | `integer` | No | Less than. | — | | `filters.session_rank.lte` | `integer` | No | At most. | — | | `filters.session_rank.neq` | `integer` | No | Not equal to. | — | | `filters.session_rank.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.traffic_source` | `TrafficSourceCondition` | No | Operators on how a session arrived. | — | | `filters.traffic_source.eq` | `TrafficSource` | No | Equal to. | — | | `filters.traffic_source.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.traffic_source.neq` | `TrafficSource` | No | Not equal to. | — | | `filters.traffic_source.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.traffic_source_type` | `StringCondition` | No | Operators on one text field. | — | | `filters.traffic_source_type.eq` | `string` | No | Equal to. | — | | `filters.traffic_source_type.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.traffic_source_type.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.traffic_source_type.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.traffic_source_type.neq` | `string` | No | Not equal to. | — | | `filters.traffic_source_type.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.url_host` | `StringCondition` | No | Operators on one text field. | — | | `filters.url_host.eq` | `string` | No | Equal to. | — | | `filters.url_host.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.url_host.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.url_host.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.url_host.neq` | `string` | No | Not equal to. | — | | `filters.url_host.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.url_path` | `StringCondition` | No | Operators on one text field. | — | | `filters.url_path.eq` | `string` | No | Equal to. | — | | `filters.url_path.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.url_path.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.url_path.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.url_path.neq` | `string` | No | Not equal to. | — | | `filters.url_path.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `filters.*` | `StringCondition` | No | Additional property. | — | | `filters.*.eq` | `string` | No | Equal to. | — | | `filters.*.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `filters.*.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `filters.*.matches` | `string` | No | Contains this text. | >= 1 characters | | `filters.*.neq` | `string` | No | Not equal to. | — | | `filters.*.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `group_by` | `Array` | No | Fields that split every row, summary and series point, e.g. `["touchpoint", "device"]`: at most 2 besides `touchpoint`, which splits the `touchpoints`. At most one of `landing_page`, `url_path`, `url_params.*` and `context.*`; a summary or series holds at most 500 groups, and a session with several values of a key counts once in each of its groups. | <= 3 items | | `metric_filters` | `anyOf(SearchMetricFilter, null)` | No | Which rows are returned, by their `metrics`; naming a metric here does not add it to the response. At most 100 conditions, in groups nested at most 10 deep — conditions are counted and the groups holding them are not. A tree past either is a `422` of type `filter_too_complex`. | — | | `metric_filters.$and` | `Array` | No | Nodes that must all match. | >= 1 items | | `metric_filters.$not` | `SearchMetricFilter` | No | A node that must not match. | — | | `metric_filters.$or` | `Array` | No | Nodes of which at least one must match. | >= 1 items | | `metric_filters.attributed_average_order_value` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_average_order_value.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_average_order_value.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_average_order_value.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_average_order_value.gte` | `number` | No | At least. | — | | `metric_filters.attributed_average_order_value.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_average_order_value.lte` | `number` | No | At most. | — | | `metric_filters.attributed_average_order_value.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_cart_value` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_cart_value.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_cart_value.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_cart_value.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_cart_value.gte` | `number` | No | At least. | — | | `metric_filters.attributed_cart_value.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_cart_value.lte` | `number` | No | At most. | — | | `metric_filters.attributed_cart_value.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_key_events_1` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_key_events_1.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_key_events_1.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_key_events_1.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_key_events_1.gte` | `number` | No | At least. | — | | `metric_filters.attributed_key_events_1.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_key_events_1.lte` | `number` | No | At most. | — | | `metric_filters.attributed_key_events_1.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_key_events_1_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_key_events_1_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_key_events_1_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_key_events_1_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_key_events_1_rate.gte` | `number` | No | At least. | — | | `metric_filters.attributed_key_events_1_rate.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_key_events_1_rate.lte` | `number` | No | At most. | — | | `metric_filters.attributed_key_events_1_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_key_events_2` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_key_events_2.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_key_events_2.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_key_events_2.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_key_events_2.gte` | `number` | No | At least. | — | | `metric_filters.attributed_key_events_2.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_key_events_2.lte` | `number` | No | At most. | — | | `metric_filters.attributed_key_events_2.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_key_events_2_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_key_events_2_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_key_events_2_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_key_events_2_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_key_events_2_rate.gte` | `number` | No | At least. | — | | `metric_filters.attributed_key_events_2_rate.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_key_events_2_rate.lte` | `number` | No | At most. | — | | `metric_filters.attributed_key_events_2_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_key_events_3` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_key_events_3.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_key_events_3.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_key_events_3.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_key_events_3.gte` | `number` | No | At least. | — | | `metric_filters.attributed_key_events_3.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_key_events_3.lte` | `number` | No | At most. | — | | `metric_filters.attributed_key_events_3.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_key_events_3_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_key_events_3_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_key_events_3_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_key_events_3_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_key_events_3_rate.gte` | `number` | No | At least. | — | | `metric_filters.attributed_key_events_3_rate.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_key_events_3_rate.lte` | `number` | No | At most. | — | | `metric_filters.attributed_key_events_3_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_revenue` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_revenue.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_revenue.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_revenue.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_revenue.gte` | `number` | No | At least. | — | | `metric_filters.attributed_revenue.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_revenue.lte` | `number` | No | At most. | — | | `metric_filters.attributed_revenue.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_transaction_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_transaction_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_transaction_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_transaction_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_transaction_rate.gte` | `number` | No | At least. | — | | `metric_filters.attributed_transaction_rate.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_transaction_rate.lte` | `number` | No | At most. | — | | `metric_filters.attributed_transaction_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.attributed_transactions` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.attributed_transactions.eq` | `number` | No | Equal to. | — | | `metric_filters.attributed_transactions.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.attributed_transactions.gt` | `number` | No | Greater than. | — | | `metric_filters.attributed_transactions.gte` | `number` | No | At least. | — | | `metric_filters.attributed_transactions.lt` | `number` | No | Less than. | — | | `metric_filters.attributed_transactions.lte` | `number` | No | At most. | — | | `metric_filters.attributed_transactions.neq` | `number` | No | Not equal to. | — | | `metric_filters.average_click_position` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.average_click_position.eq` | `number` | No | Equal to. | — | | `metric_filters.average_click_position.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.average_click_position.gt` | `number` | No | Greater than. | — | | `metric_filters.average_click_position.gte` | `number` | No | At least. | — | | `metric_filters.average_click_position.lt` | `number` | No | Less than. | — | | `metric_filters.average_click_position.lte` | `number` | No | At most. | — | | `metric_filters.average_click_position.neq` | `number` | No | Not equal to. | — | | `metric_filters.click_through_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.click_through_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.click_through_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.click_through_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.click_through_rate.gte` | `number` | No | At least. | — | | `metric_filters.click_through_rate.lt` | `number` | No | Less than. | — | | `metric_filters.click_through_rate.lte` | `number` | No | At most. | — | | `metric_filters.click_through_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.clicks` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.clicks.eq` | `number` | No | Equal to. | — | | `metric_filters.clicks.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.clicks.gt` | `number` | No | Greater than. | — | | `metric_filters.clicks.gte` | `number` | No | At least. | — | | `metric_filters.clicks.lt` | `number` | No | Less than. | — | | `metric_filters.clicks.lte` | `number` | No | At most. | — | | `metric_filters.clicks.neq` | `number` | No | Not equal to. | — | | `metric_filters.exit_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.exit_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.exit_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.exit_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.exit_rate.gte` | `number` | No | At least. | — | | `metric_filters.exit_rate.lt` | `number` | No | Less than. | — | | `metric_filters.exit_rate.lte` | `number` | No | At most. | — | | `metric_filters.exit_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.last_no_results_at` | `TimestampCondition` | No | Operators on one instant; every bound carries an offset and is read as UTC. | — | | `metric_filters.last_no_results_at.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.last_no_results_at.gt` | `string` | No | Greater than. | format: date-time | | `metric_filters.last_no_results_at.gte` | `string` | No | At least. | format: date-time | | `metric_filters.last_no_results_at.lt` | `string` | No | Less than. | format: date-time | | `metric_filters.last_no_results_at.lte` | `string` | No | At most. | format: date-time | | `metric_filters.last_unfiltered_no_results_at` | `TimestampCondition` | No | Operators on one instant; every bound carries an offset and is read as UTC. | — | | `metric_filters.last_unfiltered_no_results_at.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.last_unfiltered_no_results_at.gt` | `string` | No | Greater than. | format: date-time | | `metric_filters.last_unfiltered_no_results_at.gte` | `string` | No | At least. | format: date-time | | `metric_filters.last_unfiltered_no_results_at.lt` | `string` | No | Less than. | format: date-time | | `metric_filters.last_unfiltered_no_results_at.lte` | `string` | No | At most. | format: date-time | | `metric_filters.no_results_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.no_results_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.no_results_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.no_results_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.no_results_rate.gte` | `number` | No | At least. | — | | `metric_filters.no_results_rate.lt` | `number` | No | Less than. | — | | `metric_filters.no_results_rate.lte` | `number` | No | At most. | — | | `metric_filters.no_results_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.queries` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.queries.eq` | `number` | No | Equal to. | — | | `metric_filters.queries.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.queries.gt` | `number` | No | Greater than. | — | | `metric_filters.queries.gte` | `number` | No | At least. | — | | `metric_filters.queries.lt` | `number` | No | Less than. | — | | `metric_filters.queries.lte` | `number` | No | At most. | — | | `metric_filters.queries.neq` | `number` | No | Not equal to. | — | | `metric_filters.queries_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.queries_without_results.eq` | `number` | No | Equal to. | — | | `metric_filters.queries_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.queries_without_results.gt` | `number` | No | Greater than. | — | | `metric_filters.queries_without_results.gte` | `number` | No | At least. | — | | `metric_filters.queries_without_results.lt` | `number` | No | Less than. | — | | `metric_filters.queries_without_results.lte` | `number` | No | At most. | — | | `metric_filters.queries_without_results.neq` | `number` | No | Not equal to. | — | | `metric_filters.reformulation_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.reformulation_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.reformulation_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.reformulation_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.reformulation_rate.gte` | `number` | No | At least. | — | | `metric_filters.reformulation_rate.lt` | `number` | No | Less than. | — | | `metric_filters.reformulation_rate.lte` | `number` | No | At most. | — | | `metric_filters.reformulation_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.searches` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.searches.eq` | `number` | No | Equal to. | — | | `metric_filters.searches.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.searches.gt` | `number` | No | Greater than. | — | | `metric_filters.searches.gte` | `number` | No | At least. | — | | `metric_filters.searches.lt` | `number` | No | Less than. | — | | `metric_filters.searches.lte` | `number` | No | At most. | — | | `metric_filters.searches.neq` | `number` | No | Not equal to. | — | | `metric_filters.searches_without_clicks` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.searches_without_clicks.eq` | `number` | No | Equal to. | — | | `metric_filters.searches_without_clicks.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.searches_without_clicks.gt` | `number` | No | Greater than. | — | | `metric_filters.searches_without_clicks.gte` | `number` | No | At least. | — | | `metric_filters.searches_without_clicks.lt` | `number` | No | Less than. | — | | `metric_filters.searches_without_clicks.lte` | `number` | No | At most. | — | | `metric_filters.searches_without_clicks.neq` | `number` | No | Not equal to. | — | | `metric_filters.searches_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.searches_without_results.eq` | `number` | No | Equal to. | — | | `metric_filters.searches_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.searches_without_results.gt` | `number` | No | Greater than. | — | | `metric_filters.searches_without_results.gte` | `number` | No | At least. | — | | `metric_filters.searches_without_results.lt` | `number` | No | Less than. | — | | `metric_filters.searches_without_results.lte` | `number` | No | At most. | — | | `metric_filters.searches_without_results.neq` | `number` | No | Not equal to. | — | | `metric_filters.sessions` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.sessions.eq` | `number` | No | Equal to. | — | | `metric_filters.sessions.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.sessions.gt` | `number` | No | Greater than. | — | | `metric_filters.sessions.gte` | `number` | No | At least. | — | | `metric_filters.sessions.lt` | `number` | No | Less than. | — | | `metric_filters.sessions.lte` | `number` | No | At most. | — | | `metric_filters.sessions.neq` | `number` | No | Not equal to. | — | | `metric_filters.sessions_attributed_key_events_1_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.sessions_attributed_key_events_1_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.sessions_attributed_key_events_1_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.sessions_attributed_key_events_1_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.sessions_attributed_key_events_1_rate.gte` | `number` | No | At least. | — | | `metric_filters.sessions_attributed_key_events_1_rate.lt` | `number` | No | Less than. | — | | `metric_filters.sessions_attributed_key_events_1_rate.lte` | `number` | No | At most. | — | | `metric_filters.sessions_attributed_key_events_1_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.sessions_attributed_key_events_2_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.sessions_attributed_key_events_2_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.sessions_attributed_key_events_2_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.sessions_attributed_key_events_2_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.sessions_attributed_key_events_2_rate.gte` | `number` | No | At least. | — | | `metric_filters.sessions_attributed_key_events_2_rate.lt` | `number` | No | Less than. | — | | `metric_filters.sessions_attributed_key_events_2_rate.lte` | `number` | No | At most. | — | | `metric_filters.sessions_attributed_key_events_2_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.sessions_attributed_key_events_3_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.sessions_attributed_key_events_3_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.sessions_attributed_key_events_3_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.sessions_attributed_key_events_3_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.sessions_attributed_key_events_3_rate.gte` | `number` | No | At least. | — | | `metric_filters.sessions_attributed_key_events_3_rate.lt` | `number` | No | Less than. | — | | `metric_filters.sessions_attributed_key_events_3_rate.lte` | `number` | No | At most. | — | | `metric_filters.sessions_attributed_key_events_3_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.sessions_attributed_transaction_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.sessions_attributed_transaction_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.sessions_attributed_transaction_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.sessions_attributed_transaction_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.sessions_attributed_transaction_rate.gte` | `number` | No | At least. | — | | `metric_filters.sessions_attributed_transaction_rate.lt` | `number` | No | Less than. | — | | `metric_filters.sessions_attributed_transaction_rate.lte` | `number` | No | At most. | — | | `metric_filters.sessions_attributed_transaction_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.sessions_click_through_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.sessions_click_through_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.sessions_click_through_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.sessions_click_through_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.sessions_click_through_rate.gte` | `number` | No | At least. | — | | `metric_filters.sessions_click_through_rate.lt` | `number` | No | Less than. | — | | `metric_filters.sessions_click_through_rate.lte` | `number` | No | At most. | — | | `metric_filters.sessions_click_through_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.sessions_no_results_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.sessions_no_results_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.sessions_no_results_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.sessions_no_results_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.sessions_no_results_rate.gte` | `number` | No | At least. | — | | `metric_filters.sessions_no_results_rate.lt` | `number` | No | Less than. | — | | `metric_filters.sessions_no_results_rate.lte` | `number` | No | At most. | — | | `metric_filters.sessions_no_results_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.unfiltered_no_results_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.unfiltered_no_results_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.unfiltered_no_results_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.unfiltered_no_results_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.unfiltered_no_results_rate.gte` | `number` | No | At least. | — | | `metric_filters.unfiltered_no_results_rate.lt` | `number` | No | Less than. | — | | `metric_filters.unfiltered_no_results_rate.lte` | `number` | No | At most. | — | | `metric_filters.unfiltered_no_results_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.unfiltered_searches_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.unfiltered_searches_without_results.eq` | `number` | No | Equal to. | — | | `metric_filters.unfiltered_searches_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.unfiltered_searches_without_results.gt` | `number` | No | Greater than. | — | | `metric_filters.unfiltered_searches_without_results.gte` | `number` | No | At least. | — | | `metric_filters.unfiltered_searches_without_results.lt` | `number` | No | Less than. | — | | `metric_filters.unfiltered_searches_without_results.lte` | `number` | No | At most. | — | | `metric_filters.unfiltered_searches_without_results.neq` | `number` | No | Not equal to. | — | | `metric_filters.unfiltered_users_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.unfiltered_users_without_results.eq` | `number` | No | Equal to. | — | | `metric_filters.unfiltered_users_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.unfiltered_users_without_results.gt` | `number` | No | Greater than. | — | | `metric_filters.unfiltered_users_without_results.gte` | `number` | No | At least. | — | | `metric_filters.unfiltered_users_without_results.lt` | `number` | No | Less than. | — | | `metric_filters.unfiltered_users_without_results.lte` | `number` | No | At most. | — | | `metric_filters.unfiltered_users_without_results.neq` | `number` | No | Not equal to. | — | | `metric_filters.users` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.users.eq` | `number` | No | Equal to. | — | | `metric_filters.users.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.users.gt` | `number` | No | Greater than. | — | | `metric_filters.users.gte` | `number` | No | At least. | — | | `metric_filters.users.lt` | `number` | No | Less than. | — | | `metric_filters.users.lte` | `number` | No | At most. | — | | `metric_filters.users.neq` | `number` | No | Not equal to. | — | | `metric_filters.users_attributed_key_events_1_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.users_attributed_key_events_1_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.users_attributed_key_events_1_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.users_attributed_key_events_1_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.users_attributed_key_events_1_rate.gte` | `number` | No | At least. | — | | `metric_filters.users_attributed_key_events_1_rate.lt` | `number` | No | Less than. | — | | `metric_filters.users_attributed_key_events_1_rate.lte` | `number` | No | At most. | — | | `metric_filters.users_attributed_key_events_1_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.users_attributed_key_events_2_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.users_attributed_key_events_2_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.users_attributed_key_events_2_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.users_attributed_key_events_2_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.users_attributed_key_events_2_rate.gte` | `number` | No | At least. | — | | `metric_filters.users_attributed_key_events_2_rate.lt` | `number` | No | Less than. | — | | `metric_filters.users_attributed_key_events_2_rate.lte` | `number` | No | At most. | — | | `metric_filters.users_attributed_key_events_2_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.users_attributed_key_events_3_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.users_attributed_key_events_3_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.users_attributed_key_events_3_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.users_attributed_key_events_3_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.users_attributed_key_events_3_rate.gte` | `number` | No | At least. | — | | `metric_filters.users_attributed_key_events_3_rate.lt` | `number` | No | Less than. | — | | `metric_filters.users_attributed_key_events_3_rate.lte` | `number` | No | At most. | — | | `metric_filters.users_attributed_key_events_3_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.users_attributed_transaction_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.users_attributed_transaction_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.users_attributed_transaction_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.users_attributed_transaction_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.users_attributed_transaction_rate.gte` | `number` | No | At least. | — | | `metric_filters.users_attributed_transaction_rate.lt` | `number` | No | Less than. | — | | `metric_filters.users_attributed_transaction_rate.lte` | `number` | No | At most. | — | | `metric_filters.users_attributed_transaction_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.users_click_through_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.users_click_through_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.users_click_through_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.users_click_through_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.users_click_through_rate.gte` | `number` | No | At least. | — | | `metric_filters.users_click_through_rate.lt` | `number` | No | Less than. | — | | `metric_filters.users_click_through_rate.lte` | `number` | No | At most. | — | | `metric_filters.users_click_through_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.users_no_results_rate` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.users_no_results_rate.eq` | `number` | No | Equal to. | — | | `metric_filters.users_no_results_rate.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.users_no_results_rate.gt` | `number` | No | Greater than. | — | | `metric_filters.users_no_results_rate.gte` | `number` | No | At least. | — | | `metric_filters.users_no_results_rate.lt` | `number` | No | Less than. | — | | `metric_filters.users_no_results_rate.lte` | `number` | No | At most. | — | | `metric_filters.users_no_results_rate.neq` | `number` | No | Not equal to. | — | | `metric_filters.users_without_results` | `NumberCondition` | No | Operators on one numeric field. | — | | `metric_filters.users_without_results.eq` | `number` | No | Equal to. | — | | `metric_filters.users_without_results.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `metric_filters.users_without_results.gt` | `number` | No | Greater than. | — | | `metric_filters.users_without_results.gte` | `number` | No | At least. | — | | `metric_filters.users_without_results.lt` | `number` | No | Less than. | — | | `metric_filters.users_without_results.lte` | `number` | No | At most. | — | | `metric_filters.users_without_results.neq` | `number` | No | Not equal to. | — | | `metrics` | `Array` | No | Metrics to compute; when left out, every metric except `queries` and `queries_without_results`, which are 1 or 0 on a query row. | >= 1 items | | `segment` | `anyOf(SearchFilter, null)` | No | Which searches the request's own side counts besides `filters`; every search `filters` passes when left out. E.g. `{"external_ab_test_variant": {"eq": "A"}}` against a `comparison.segment` of `{"external_ab_test_variant": {"eq": "B"}}`. At most 100 conditions, in groups nested at most 10 deep — conditions are counted and the groups holding them are not. A tree past either is a `422` of type `filter_too_complex`. It and `filters` together are held to the same caps. | — | | `segment.$and` | `Array` | No | Nodes that must all match. | >= 1 items | | `segment.$not` | `SearchFilter` | No | A node that must not match. | — | | `segment.$or` | `Array` | No | Nodes of which at least one must match. | >= 1 items | | `segment.applied_filter` | `StringCondition` | No | Operators on one text field. | — | | `segment.applied_filter.eq` | `string` | No | Equal to. | — | | `segment.applied_filter.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.applied_filter.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.applied_filter.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.applied_filter.neq` | `string` | No | Not equal to. | — | | `segment.applied_filter.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.consent_granted` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `segment.consent_granted.eq` | `boolean` | No | Equal to. | — | | `segment.device` | `StringCondition` | No | Operators on one text field. | — | | `segment.device.eq` | `string` | No | Equal to. | — | | `segment.device.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.device.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.device.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.device.neq` | `string` | No | Not equal to. | — | | `segment.device.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.external_ab_test_variant` | `StringCondition` | No | Operators on one text field. | — | | `segment.external_ab_test_variant.eq` | `string` | No | Equal to. | — | | `segment.external_ab_test_variant.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.external_ab_test_variant.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.external_ab_test_variant.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.external_ab_test_variant.neq` | `string` | No | Not equal to. | — | | `segment.external_ab_test_variant.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.filtered` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `segment.filtered.eq` | `boolean` | No | Equal to. | — | | `segment.followed_by_search` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `segment.followed_by_search.eq` | `boolean` | No | Equal to. | — | | `segment.identity` | `StringCondition` | No | Operators on one text field. | — | | `segment.identity.eq` | `string` | No | Equal to. | — | | `segment.identity.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.identity.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.identity.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.identity.neq` | `string` | No | Not equal to. | — | | `segment.identity.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.internal_ab_test_id` | `StringCondition` | No | Operators on one text field. | — | | `segment.internal_ab_test_id.eq` | `string` | No | Equal to. | — | | `segment.internal_ab_test_id.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.internal_ab_test_id.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.internal_ab_test_id.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.internal_ab_test_id.neq` | `string` | No | Not equal to. | — | | `segment.internal_ab_test_id.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.internal_ab_test_variant` | `StringCondition` | No | Operators on one text field. | — | | `segment.internal_ab_test_variant.eq` | `string` | No | Equal to. | — | | `segment.internal_ab_test_variant.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.internal_ab_test_variant.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.internal_ab_test_variant.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.internal_ab_test_variant.neq` | `string` | No | Not equal to. | — | | `segment.internal_ab_test_variant.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.landing_page` | `StringCondition` | No | Operators on one text field. | — | | `segment.landing_page.eq` | `string` | No | Equal to. | — | | `segment.landing_page.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.landing_page.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.landing_page.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.landing_page.neq` | `string` | No | Not equal to. | — | | `segment.landing_page.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.landing_page_host` | `StringCondition` | No | Operators on one text field. | — | | `segment.landing_page_host.eq` | `string` | No | Equal to. | — | | `segment.landing_page_host.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.landing_page_host.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.landing_page_host.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.landing_page_host.neq` | `string` | No | Not equal to. | — | | `segment.landing_page_host.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.personalized` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `segment.personalized.eq` | `boolean` | No | Equal to. | — | | `segment.platform` | `StringCondition` | No | Operators on one text field. | — | | `segment.platform.eq` | `string` | No | Equal to. | — | | `segment.platform.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.platform.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.platform.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.platform.neq` | `string` | No | Not equal to. | — | | `segment.platform.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.query` | `StringCondition` | No | Operators on one text field. | — | | `segment.query.eq` | `string` | No | Equal to. | — | | `segment.query.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.query.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.query.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.query.neq` | `string` | No | Not equal to. | — | | `segment.query.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.redirected` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `segment.redirected.eq` | `boolean` | No | Equal to. | — | | `segment.result_type` | `StringCondition` | No | Operators on one text field. | — | | `segment.result_type.eq` | `string` | No | Equal to. | — | | `segment.result_type.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.result_type.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.result_type.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.result_type.neq` | `string` | No | Not equal to. | — | | `segment.result_type.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.returning` | `BooleanCondition` | No | Operators on one true-or-false field. | — | | `segment.returning.eq` | `boolean` | No | Equal to. | — | | `segment.session_rank` | `IntegerCondition` | No | Operators on one whole-number field. | — | | `segment.session_rank.eq` | `integer` | No | Equal to. | — | | `segment.session_rank.gt` | `integer` | No | Greater than. | — | | `segment.session_rank.gte` | `integer` | No | At least. | — | | `segment.session_rank.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.session_rank.lt` | `integer` | No | Less than. | — | | `segment.session_rank.lte` | `integer` | No | At most. | — | | `segment.session_rank.neq` | `integer` | No | Not equal to. | — | | `segment.session_rank.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.traffic_source` | `TrafficSourceCondition` | No | Operators on how a session arrived. | — | | `segment.traffic_source.eq` | `TrafficSource` | No | Equal to. | — | | `segment.traffic_source.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.traffic_source.neq` | `TrafficSource` | No | Not equal to. | — | | `segment.traffic_source.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.traffic_source_type` | `StringCondition` | No | Operators on one text field. | — | | `segment.traffic_source_type.eq` | `string` | No | Equal to. | — | | `segment.traffic_source_type.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.traffic_source_type.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.traffic_source_type.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.traffic_source_type.neq` | `string` | No | Not equal to. | — | | `segment.traffic_source_type.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.url_host` | `StringCondition` | No | Operators on one text field. | — | | `segment.url_host.eq` | `string` | No | Equal to. | — | | `segment.url_host.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.url_host.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.url_host.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.url_host.neq` | `string` | No | Not equal to. | — | | `segment.url_host.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.url_path` | `StringCondition` | No | Operators on one text field. | — | | `segment.url_path.eq` | `string` | No | Equal to. | — | | `segment.url_path.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.url_path.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.url_path.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.url_path.neq` | `string` | No | Not equal to. | — | | `segment.url_path.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `segment.*` | `StringCondition` | No | Additional property. | — | | `segment.*.eq` | `string` | No | Equal to. | — | | `segment.*.exists` | `boolean` | No | Has a value (`true`) or has none (`false`). | — | | `segment.*.in` | `Array` | No | One of. | >= 1 items; <= 100 items | | `segment.*.matches` | `string` | No | Contains this text. | >= 1 characters | | `segment.*.neq` | `string` | No | Not equal to. | — | | `segment.*.not_in` | `Array` | No | None of. | >= 1 items; <= 100 items | | `sort` | `SearchChangeSort` | No | Order of `items`. | — | | `sort.direction` | `SortDirection` | Yes | `asc` for ascending order, `desc` for descending. | — | | `sort.field` | `SearchChangeField` | Yes | The change that orders the rows, named as in `change_filters`, e.g. `click_through_rate.relative_change`; a metric not in `metrics` is added to the response. | — | | `touchpoints` | `Array` | Yes | Where the lists were shown. As with `channel_ids`, the touchpoints are pooled: one total, one series line and one row per key across all of them, and `group_by: ["touchpoint"]` splits them. Pooled, the counts of searches, impressions, clicks, transactions and key events add up, and so does money; users, sessions and queries count once however many of the touchpoints they appear at; and a rate is taken over the pooled lists. `searches` counts the lists shown, so an autocomplete submitted as a search counts once at each touchpoint, and an average position mixes the two touchpoints' scales. A reformulation is a change of query on the next list at the same touchpoint. | >= 1 items | #### Request body example ```json { "attribution_model": "last_touch", "change_filters": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "comparison": { "date_range": { "date_from": "2026-04-15T12:00:00Z", "date_to": "2026-04-15T12:00:00Z" }, "segment": { "$and": [ {} ], "$not": {}, "$or": [ {} ] } }, "comparison_metric_filters": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "date_range": { "date_from": "2026-04-15T12:00:00Z", "date_to": "2026-04-15T12:00:00Z" }, "filters": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "group_by": [], "metric_filters": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "metrics": [ "users" ], "segment": { "$and": [ {} ], "$not": {}, "$or": [ {} ] }, "sort": { "direction": "desc", "field": "searches.absolute_change" }, "touchpoints": [ "autocomplete" ] } ``` ## Responses | Status | Description | Content | |---|---|---| | `200` | Successful Response | application/json: Page_QueryComparisonRow_ | | `400` | Malformed request | application/json: ErrorResponse | | `401` | Missing or invalid credentials | application/json: ErrorResponse | | `403` | Authenticated but not permitted | application/json: ErrorResponse | | `422` | Request validation failed, or the report cannot answer it as asked (`exception_details.problems`). | application/json: ReportError | | `503` | Service temporarily unavailable | application/json: ErrorResponse | ### 200 Successful Response #### application/json Schema: `Page_QueryComparisonRow_` ##### Attributes | Attribute | Type | Required | Description | Constraints | |---|---|---|---|---| | `items` | `Array` | Yes | The items on this page. | — | | `items[].changes` | `SearchMetricChanges` | Yes | How each returned metric changed from `comparison_metrics` to `metrics`. | — | | `items[].changes.attributed_average_order_value` | `MetricChange` | No | How `attributed_average_order_value` changed. | — | | `items[].changes.attributed_average_order_value.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_average_order_value.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_cart_value` | `MetricChange` | No | How `attributed_cart_value` changed. | — | | `items[].changes.attributed_cart_value.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_cart_value.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_key_events_1` | `MetricChange` | No | How `attributed_key_events_1` changed. | — | | `items[].changes.attributed_key_events_1.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_key_events_1.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_key_events_1_rate` | `MetricChange` | No | How `attributed_key_events_1_rate` changed. | — | | `items[].changes.attributed_key_events_1_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_key_events_1_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_key_events_2` | `MetricChange` | No | How `attributed_key_events_2` changed. | — | | `items[].changes.attributed_key_events_2.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_key_events_2.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_key_events_2_rate` | `MetricChange` | No | How `attributed_key_events_2_rate` changed. | — | | `items[].changes.attributed_key_events_2_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_key_events_2_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_key_events_3` | `MetricChange` | No | How `attributed_key_events_3` changed. | — | | `items[].changes.attributed_key_events_3.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_key_events_3.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_key_events_3_rate` | `MetricChange` | No | How `attributed_key_events_3_rate` changed. | — | | `items[].changes.attributed_key_events_3_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_key_events_3_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_revenue` | `MetricChange` | No | How `attributed_revenue` changed. | — | | `items[].changes.attributed_revenue.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_revenue.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_transaction_rate` | `MetricChange` | No | How `attributed_transaction_rate` changed. | — | | `items[].changes.attributed_transaction_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_transaction_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.attributed_transactions` | `MetricChange` | No | How `attributed_transactions` changed. | — | | `items[].changes.attributed_transactions.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.attributed_transactions.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.average_click_position` | `MetricChange` | No | How `average_click_position` changed. | — | | `items[].changes.average_click_position.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.average_click_position.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.click_through_rate` | `MetricChange` | No | How `click_through_rate` changed. | — | | `items[].changes.click_through_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.click_through_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.clicks` | `MetricChange` | No | How `clicks` changed. | — | | `items[].changes.clicks.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.clicks.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.exit_rate` | `MetricChange` | No | How `exit_rate` changed. | — | | `items[].changes.exit_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.exit_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.no_results_rate` | `MetricChange` | No | How `no_results_rate` changed. | — | | `items[].changes.no_results_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.no_results_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.queries` | `MetricChange` | No | How `queries` changed. | — | | `items[].changes.queries.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.queries.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.queries_without_results` | `MetricChange` | No | How `queries_without_results` changed. | — | | `items[].changes.queries_without_results.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.queries_without_results.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.reformulation_rate` | `MetricChange` | No | How `reformulation_rate` changed. | — | | `items[].changes.reformulation_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.reformulation_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.searches` | `MetricChange` | No | How `searches` changed. | — | | `items[].changes.searches.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.searches.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.searches_without_clicks` | `MetricChange` | No | How `searches_without_clicks` changed. | — | | `items[].changes.searches_without_clicks.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.searches_without_clicks.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.searches_without_results` | `MetricChange` | No | How `searches_without_results` changed. | — | | `items[].changes.searches_without_results.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.searches_without_results.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.sessions` | `MetricChange` | No | How `sessions` changed. | — | | `items[].changes.sessions.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.sessions.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.sessions_attributed_key_events_1_rate` | `MetricChange` | No | How `sessions_attributed_key_events_1_rate` changed. | — | | `items[].changes.sessions_attributed_key_events_1_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.sessions_attributed_key_events_1_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.sessions_attributed_key_events_2_rate` | `MetricChange` | No | How `sessions_attributed_key_events_2_rate` changed. | — | | `items[].changes.sessions_attributed_key_events_2_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.sessions_attributed_key_events_2_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.sessions_attributed_key_events_3_rate` | `MetricChange` | No | How `sessions_attributed_key_events_3_rate` changed. | — | | `items[].changes.sessions_attributed_key_events_3_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.sessions_attributed_key_events_3_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.sessions_attributed_transaction_rate` | `MetricChange` | No | How `sessions_attributed_transaction_rate` changed. | — | | `items[].changes.sessions_attributed_transaction_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.sessions_attributed_transaction_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.sessions_click_through_rate` | `MetricChange` | No | How `sessions_click_through_rate` changed. | — | | `items[].changes.sessions_click_through_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.sessions_click_through_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.sessions_no_results_rate` | `MetricChange` | No | How `sessions_no_results_rate` changed. | — | | `items[].changes.sessions_no_results_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.sessions_no_results_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.unfiltered_no_results_rate` | `MetricChange` | No | How `unfiltered_no_results_rate` changed. | — | | `items[].changes.unfiltered_no_results_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.unfiltered_no_results_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.unfiltered_searches_without_results` | `MetricChange` | No | How `unfiltered_searches_without_results` changed. | — | | `items[].changes.unfiltered_searches_without_results.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.unfiltered_searches_without_results.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.unfiltered_users_without_results` | `MetricChange` | No | How `unfiltered_users_without_results` changed. | — | | `items[].changes.unfiltered_users_without_results.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.unfiltered_users_without_results.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.users` | `MetricChange` | No | How `users` changed. | — | | `items[].changes.users.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.users.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.users_attributed_key_events_1_rate` | `MetricChange` | No | How `users_attributed_key_events_1_rate` changed. | — | | `items[].changes.users_attributed_key_events_1_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.users_attributed_key_events_1_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.users_attributed_key_events_2_rate` | `MetricChange` | No | How `users_attributed_key_events_2_rate` changed. | — | | `items[].changes.users_attributed_key_events_2_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.users_attributed_key_events_2_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.users_attributed_key_events_3_rate` | `MetricChange` | No | How `users_attributed_key_events_3_rate` changed. | — | | `items[].changes.users_attributed_key_events_3_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.users_attributed_key_events_3_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.users_attributed_transaction_rate` | `MetricChange` | No | How `users_attributed_transaction_rate` changed. | — | | `items[].changes.users_attributed_transaction_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.users_attributed_transaction_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.users_click_through_rate` | `MetricChange` | No | How `users_click_through_rate` changed. | — | | `items[].changes.users_click_through_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.users_click_through_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.users_no_results_rate` | `MetricChange` | No | How `users_no_results_rate` changed. | — | | `items[].changes.users_no_results_rate.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.users_no_results_rate.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].changes.users_without_results` | `MetricChange` | No | How `users_without_results` changed. | — | | `items[].changes.users_without_results.absolute_change` | `anyOf(number, null)` | Yes | Value in `metrics` minus value in `comparison_metrics`; `null` when either is `null`. | — | | `items[].changes.users_without_results.relative_change` | `anyOf(number, null)` | Yes | `absolute_change` / value in `comparison_metrics`; `null` when that value is 0 or `null`. | — | | `items[].comparison_metrics` | `SearchMetrics` | Yes | Metrics over `comparison` and `filters`; counts and money of 0, and every other metric `null`, where the query is absent from them. | — | | `items[].comparison_metrics.attributed_average_order_value` | `anyOf(number, null)` | No | `attributed_revenue` / `attributed_transactions`; `null` without attributed transactions. | — | | `items[].comparison_metrics.attributed_cart_value` | `anyOf(number, null)` | No | Value of the credited cart additions. | — | | `items[].comparison_metrics.attributed_key_events_1` | `anyOf(number, null)` | No | Key event 1 interactions credited; by default key event 1 counts add-to-carts. | — | | `items[].comparison_metrics.attributed_key_events_1_rate` | `anyOf(number, null)` | No | Searches that led to key event 1 (by default, an add-to-cart) / searches. | — | | `items[].comparison_metrics.attributed_key_events_2` | `anyOf(number, null)` | No | Key event 2 interactions credited. | — | | `items[].comparison_metrics.attributed_key_events_2_rate` | `anyOf(number, null)` | No | Searches that led to key event 2 / searches. | — | | `items[].comparison_metrics.attributed_key_events_3` | `anyOf(number, null)` | No | Key event 3 interactions credited. | — | | `items[].comparison_metrics.attributed_key_events_3_rate` | `anyOf(number, null)` | No | Searches that led to key event 3 / searches. | — | | `items[].comparison_metrics.attributed_revenue` | `anyOf(number, null)` | No | Order value of the credited transactions. | — | | `items[].comparison_metrics.attributed_transaction_rate` | `anyOf(number, null)` | No | Searches with an attributed transaction / searches. | — | | `items[].comparison_metrics.attributed_transactions` | `anyOf(number, null)` | No | Transactions credited to search results. | — | | `items[].comparison_metrics.average_click_position` | `anyOf(number, null)` | No | Average position of clicked results; `null` without clicks. | — | | `items[].comparison_metrics.click_through_rate` | `anyOf(number, null)` | No | Searches with a click / searches. | — | | `items[].comparison_metrics.clicks` | `anyOf(number, null)` | No | Clicks on results. | — | | `items[].comparison_metrics.exit_rate` | `anyOf(number, null)` | No | Sessions that ended on the search / sessions. | — | | `items[].comparison_metrics.last_no_results_at` | `anyOf(string, null)` | No | Latest search without results. | — | | `items[].comparison_metrics.last_unfiltered_no_results_at` | `anyOf(string, null)` | No | Latest unfiltered search without results. A filter whose name starts with `_` is the client's own bookkeeping and never counts. | — | | `items[].comparison_metrics.no_results_rate` | `anyOf(number, null)` | No | Searches without results / searches. | — | | `items[].comparison_metrics.queries` | `anyOf(integer, null)` | No | Distinct queries. | — | | `items[].comparison_metrics.queries_without_results` | `anyOf(integer, null)` | No | Distinct queries that returned nothing at least once. | — | | `items[].comparison_metrics.reformulation_rate` | `anyOf(number, null)` | No | Users who changed the query on their next search at the same touchpoint / users. | — | | `items[].comparison_metrics.searches` | `anyOf(integer, null)` | No | Searches. | — | | `items[].comparison_metrics.searches_without_clicks` | `anyOf(integer, null)` | No | Searches with no click. | — | | `items[].comparison_metrics.searches_without_results` | `anyOf(integer, null)` | No | Searches that returned nothing and were not redirected. | — | | `items[].comparison_metrics.sessions` | `anyOf(integer, null)` | No | Sessions with a search. | — | | `items[].comparison_metrics.sessions_attributed_key_events_1_rate` | `anyOf(number, null)` | No | Sessions that reached key event 1 (by default, an add-to-cart) / sessions. | — | | `items[].comparison_metrics.sessions_attributed_key_events_2_rate` | `anyOf(number, null)` | No | Sessions that reached key event 2 / sessions. | — | | `items[].comparison_metrics.sessions_attributed_key_events_3_rate` | `anyOf(number, null)` | No | Sessions that reached key event 3 / sessions. | — | | `items[].comparison_metrics.sessions_attributed_transaction_rate` | `anyOf(number, null)` | No | Sessions with an attributed transaction / sessions. | — | | `items[].comparison_metrics.sessions_click_through_rate` | `anyOf(number, null)` | No | Sessions with a click / sessions. | — | | `items[].comparison_metrics.sessions_no_results_rate` | `anyOf(number, null)` | No | Sessions with a search without results / sessions. | — | | `items[].comparison_metrics.unfiltered_no_results_rate` | `anyOf(number, null)` | No | Unfiltered searches without results / all searches. A filter whose name starts with `_` is the client's own bookkeeping and never counts. | — | | `items[].comparison_metrics.unfiltered_searches_without_results` | `anyOf(integer, null)` | No | Searches without results that applied no filter. A filter whose name starts with `_` is the client's own bookkeeping and never counts. | — | | `items[].comparison_metrics.unfiltered_users_without_results` | `anyOf(integer, null)` | No | Users who got an unfiltered search without results. A filter whose name starts with `_` is the client's own bookkeeping and never counts. | — | | `items[].comparison_metrics.users` | `anyOf(integer, null)` | No | Unique users who searched. | — | | `items[].comparison_metrics.users_attributed_key_events_1_rate` | `anyOf(number, null)` | No | Users who reached key event 1 (by default, an add-to-cart) / users. | — | | `items[].comparison_metrics.users_attributed_key_events_2_rate` | `anyOf(number, null)` | No | Users who reached key event 2 / users. | — | | `items[].comparison_metrics.users_attributed_key_events_3_rate` | `anyOf(number, null)` | No | Users who reached key event 3 / users. | — | | `items[].comparison_metrics.users_attributed_transaction_rate` | `anyOf(number, null)` | No | Users with an attributed transaction / users. | — | | `items[].comparison_metrics.users_click_through_rate` | `anyOf(number, null)` | No | Users who clicked / users. | — | | `items[].comparison_metrics.users_no_results_rate` | `anyOf(number, null)` | No | Users who got no results / users. | — | | `items[].comparison_metrics.users_without_results` | `anyOf(integer, null)` | No | Users who got no results. | — | | `items[].group` | `ReportGroup` | No | Its `group_by` values; present with `group_by`. | — | | `items[].group.channel_id` | `anyOf(string, null)` | No | The channel the counts come from. | — | | `items[].group.consent_granted` | `anyOf(boolean, null)` | No | The visitor granted personalization consent. | — | | `items[].group.context` | `anyOf(object, null)` | No | Context values grouped as `context.`, keyed by name. | — | | `items[].group.context.*` | `anyOf(string, null)` | No | Additional property. | — | | `items[].group.device` | `anyOf(string, null)` | No | Device: `desktop`, `mobile`, `tablet`, … | — | | `items[].group.external_ab_test_variant` | `anyOf(string, null)` | No | Variant of the client's own A/B test. | — | | `items[].group.internal_ab_test_id` | `anyOf(string, null)` | No | Luigi's Box A/B test. | — | | `items[].group.internal_ab_test_variant` | `anyOf(string, null)` | No | Variant of the Luigi's Box A/B test. | — | | `items[].group.landing_page` | `anyOf(string, null)` | No | The entry URL. | — | | `items[].group.landing_page_host` | `anyOf(string, null)` | No | The entry URL's host. | — | | `items[].group.personalized` | `anyOf(boolean, null)` | No | The session was served personalized results. | — | | `items[].group.platform` | `anyOf(string, null)` | No | Platform: `ios`, `android`, `windows`, … | — | | `items[].group.result_type` | `anyOf(string, null)` | No | Type of the result: `item`, `category`, `brand`, … | — | | `items[].group.returning` | `anyOf(boolean, null)` | No | The visitor had an earlier session: `session_rank` of 2 or more. | — | | `items[].group.surface_id` | `anyOf(string, null)` | No | The Surface that answered. | — | | `items[].group.touchpoint` | `anyOf(SearchReportTouchpoint, null)` | No | Where the lists were shown. | — | | `items[].group.traffic_source` | `anyOf(TrafficSource, null)` | No | How the session arrived. | — | | `items[].group.traffic_source_type` | `anyOf(string, null)` | No | Traffic source type, e.g. `chatgpt`. | — | | `items[].group.url_host` | `anyOf(string, null)` | No | Host of the page the search ran on, e.g. a language site. | — | | `items[].group.url_params` | `anyOf(object, null)` | No | URL parameters grouped as `url_params.`, keyed by name, so `url_params.utm_source` reads as `group.url_params.utm_source`. | — | | `items[].group.url_params.*` | `anyOf(string, null)` | No | Additional property. | — | | `items[].group.url_path` | `anyOf(string, null)` | No | Path of the page the search ran on, without its query string. | — | | `items[].metrics` | `SearchMetrics` | Yes | Metrics over `date_range`, `filters` and `segment`; counts and money of 0, and every other metric `null`, where the query is absent from them. | — | | `items[].metrics.attributed_average_order_value` | `anyOf(number, null)` | No | `attributed_revenue` / `attributed_transactions`; `null` without attributed transactions. | — | | `items[].metrics.attributed_cart_value` | `anyOf(number, null)` | No | Value of the credited cart additions. | — | | `items[].metrics.attributed_key_events_1` | `anyOf(number, null)` | No | Key event 1 interactions credited; by default key event 1 counts add-to-carts. | — | | `items[].metrics.attributed_key_events_1_rate` | `anyOf(number, null)` | No | Searches that led to key event 1 (by default, an add-to-cart) / searches. | — | | `items[].metrics.attributed_key_events_2` | `anyOf(number, null)` | No | Key event 2 interactions credited. | — | | `items[].metrics.attributed_key_events_2_rate` | `anyOf(number, null)` | No | Searches that led to key event 2 / searches. | — | | `items[].metrics.attributed_key_events_3` | `anyOf(number, null)` | No | Key event 3 interactions credited. | — | | `items[].metrics.attributed_key_events_3_rate` | `anyOf(number, null)` | No | Searches that led to key event 3 / searches. | — | | `items[].metrics.attributed_revenue` | `anyOf(number, null)` | No | Order value of the credited transactions. | — | | `items[].metrics.attributed_transaction_rate` | `anyOf(number, null)` | No | Searches with an attributed transaction / searches. | — | | `items[].metrics.attributed_transactions` | `anyOf(number, null)` | No | Transactions credited to search results. | — | | `items[].metrics.average_click_position` | `anyOf(number, null)` | No | Average position of clicked results; `null` without clicks. | — | | `items[].metrics.click_through_rate` | `anyOf(number, null)` | No | Searches with a click / searches. | — | | `items[].metrics.clicks` | `anyOf(number, null)` | No | Clicks on results. | — | | `items[].metrics.exit_rate` | `anyOf(number, null)` | No | Sessions that ended on the search / sessions. | — | | `items[].metrics.last_no_results_at` | `anyOf(string, null)` | No | Latest search without results. | — | | `items[].metrics.last_unfiltered_no_results_at` | `anyOf(string, null)` | No | Latest unfiltered search without results. A filter whose name starts with `_` is the client's own bookkeeping and never counts. | — | | `items[].metrics.no_results_rate` | `anyOf(number, null)` | No | Searches without results / searches. | — | | `items[].metrics.queries` | `anyOf(integer, null)` | No | Distinct queries. | — | | `items[].metrics.queries_without_results` | `anyOf(integer, null)` | No | Distinct queries that returned nothing at least once. | — | | `items[].metrics.reformulation_rate` | `anyOf(number, null)` | No | Users who changed the query on their next search at the same touchpoint / users. | — | | `items[].metrics.searches` | `anyOf(integer, null)` | No | Searches. | — | | `items[].metrics.searches_without_clicks` | `anyOf(integer, null)` | No | Searches with no click. | — | | `items[].metrics.searches_without_results` | `anyOf(integer, null)` | No | Searches that returned nothing and were not redirected. | — | | `items[].metrics.sessions` | `anyOf(integer, null)` | No | Sessions with a search. | — | | `items[].metrics.sessions_attributed_key_events_1_rate` | `anyOf(number, null)` | No | Sessions that reached key event 1 (by default, an add-to-cart) / sessions. | — | | `items[].metrics.sessions_attributed_key_events_2_rate` | `anyOf(number, null)` | No | Sessions that reached key event 2 / sessions. | — | | `items[].metrics.sessions_attributed_key_events_3_rate` | `anyOf(number, null)` | No | Sessions that reached key event 3 / sessions. | — | | `items[].metrics.sessions_attributed_transaction_rate` | `anyOf(number, null)` | No | Sessions with an attributed transaction / sessions. | — | | `items[].metrics.sessions_click_through_rate` | `anyOf(number, null)` | No | Sessions with a click / sessions. | — | | `items[].metrics.sessions_no_results_rate` | `anyOf(number, null)` | No | Sessions with a search without results / sessions. | — | | `items[].metrics.unfiltered_no_results_rate` | `anyOf(number, null)` | No | Unfiltered searches without results / all searches. A filter whose name starts with `_` is the client's own bookkeeping and never counts. | — | | `items[].metrics.unfiltered_searches_without_results` | `anyOf(integer, null)` | No | Searches without results that applied no filter. A filter whose name starts with `_` is the client's own bookkeeping and never counts. | — | | `items[].metrics.unfiltered_users_without_results` | `anyOf(integer, null)` | No | Users who got an unfiltered search without results. A filter whose name starts with `_` is the client's own bookkeeping and never counts. | — | | `items[].metrics.users` | `anyOf(integer, null)` | No | Unique users who searched. | — | | `items[].metrics.users_attributed_key_events_1_rate` | `anyOf(number, null)` | No | Users who reached key event 1 (by default, an add-to-cart) / users. | — | | `items[].metrics.users_attributed_key_events_2_rate` | `anyOf(number, null)` | No | Users who reached key event 2 / users. | — | | `items[].metrics.users_attributed_key_events_3_rate` | `anyOf(number, null)` | No | Users who reached key event 3 / users. | — | | `items[].metrics.users_attributed_transaction_rate` | `anyOf(number, null)` | No | Users with an attributed transaction / users. | — | | `items[].metrics.users_click_through_rate` | `anyOf(number, null)` | No | Users who clicked / users. | — | | `items[].metrics.users_no_results_rate` | `anyOf(number, null)` | No | Users who got no results / users. | — | | `items[].metrics.users_without_results` | `anyOf(integer, null)` | No | Users who got no results. | — | | `items[].query` | `string` | Yes | The query, lowercased and trimmed. | — | | `page` | `integer` | Yes | 1-based page number. | — | | `size` | `integer` | Yes | Number of items per page. | — | | `total` | `integer` | Yes | Total number of items across all pages. | — | ##### Response example ```json { "items": [ { "changes": { "attributed_average_order_value": { "absolute_change": 1, "relative_change": 1 }, "attributed_cart_value": { "absolute_change": 1, "relative_change": 1 }, "attributed_key_events_1": { "absolute_change": 1, "relative_change": 1 }, "attributed_key_events_1_rate": { "absolute_change": 1, "relative_change": 1 }, "attributed_key_events_2": { "absolute_change": 1, "relative_change": 1 }, "attributed_key_events_2_rate": { "absolute_change": 1, "relative_change": 1 }, "attributed_key_events_3": { "absolute_change": 1, "relative_change": 1 }, "attributed_key_events_3_rate": { "absolute_change": 1, "relative_change": 1 }, "attributed_revenue": { "absolute_change": 1, "relative_change": 1 }, "attributed_transaction_rate": { "absolute_change": 1, "relative_change": 1 }, "attributed_transactions": { "absolute_change": 1, "relative_change": 1 }, "average_click_position": { "absolute_change": 1, "relative_change": 1 }, "click_through_rate": { "absolute_change": 1, "relative_change": 1 }, "clicks": { "absolute_change": 1, "relative_change": 1 }, "exit_rate": { "absolute_change": 1, "relative_change": 1 }, "no_results_rate": { "absolute_change": 1, "relative_change": 1 }, "queries": { "absolute_change": 1, "relative_change": 1 }, "queries_without_results": { "absolute_change": 1, "relative_change": 1 }, "reformulation_rate": { "absolute_change": 1, "relative_change": 1 }, "searches": { "absolute_change": 1, "relative_change": 1 }, "searches_without_clicks": { "absolute_change": 1, "relative_change": 1 }, "searches_without_results": { "absolute_change": 1, "relative_change": 1 }, "sessions": { "absolute_change": 1, "relative_change": 1 }, "sessions_attributed_key_events_1_rate": { "absolute_change": 1, "relative_change": 1 }, "sessions_attributed_key_events_2_rate": { "absolute_change": 1, "relative_change": 1 }, "sessions_attributed_key_events_3_rate": { "absolute_change": 1, "relative_change": 1 }, "sessions_attributed_transaction_rate": { "absolute_change": 1, "relative_change": 1 }, "sessions_click_through_rate": { "absolute_change": 1, "relative_change": 1 }, "sessions_no_results_rate": { "absolute_change": 1, "relative_change": 1 }, "unfiltered_no_results_rate": { "absolute_change": 1, "relative_change": 1 }, "unfiltered_searches_without_results": { "absolute_change": 1, "relative_change": 1 }, "unfiltered_users_without_results": { "absolute_change": 1, "relative_change": 1 }, "users": { "absolute_change": 1, "relative_change": 1 }, "users_attributed_key_events_1_rate": { "absolute_change": 1, "relative_change": 1 }, "users_attributed_key_events_2_rate": { "absolute_change": 1, "relative_change": 1 }, "users_attributed_key_events_3_rate": { "absolute_change": 1, "relative_change": 1 }, "users_attributed_transaction_rate": { "absolute_change": 1, "relative_change": 1 }, "users_click_through_rate": { "absolute_change": 1, "relative_change": 1 }, "users_no_results_rate": { "absolute_change": 1, "relative_change": 1 }, "users_without_results": { "absolute_change": 1, "relative_change": 1 } }, "comparison_metrics": { "attributed_average_order_value": 1, "attributed_cart_value": 1, "attributed_key_events_1": 1, "attributed_key_events_1_rate": 1, "attributed_key_events_2": 1, "attributed_key_events_2_rate": 1, "attributed_key_events_3": 1, "attributed_key_events_3_rate": 1, "attributed_revenue": 1, "attributed_transaction_rate": 1, "attributed_transactions": 1, "average_click_position": 1, "click_through_rate": 1, "clicks": 1, "exit_rate": 1, "last_no_results_at": "2026-04-15T12:00:00Z", "last_unfiltered_no_results_at": "2026-04-15T12:00:00Z", "no_results_rate": 1, "queries": 1, "queries_without_results": 1, "reformulation_rate": 1, "searches": 1, "searches_without_clicks": 1, "searches_without_results": 1, "sessions": 1, "sessions_attributed_key_events_1_rate": 1, "sessions_attributed_key_events_2_rate": 1, "sessions_attributed_key_events_3_rate": 1, "sessions_attributed_transaction_rate": 1, "sessions_click_through_rate": 1, "sessions_no_results_rate": 1, "unfiltered_no_results_rate": 1, "unfiltered_searches_without_results": 1, "unfiltered_users_without_results": 1, "users": 1, "users_attributed_key_events_1_rate": 1, "users_attributed_key_events_2_rate": 1, "users_attributed_key_events_3_rate": 1, "users_attributed_transaction_rate": 1, "users_click_through_rate": 1, "users_no_results_rate": 1, "users_without_results": 1 }, "group": { "channel_id": "example", "consent_granted": true, "context": { "additionalProperty": "example" }, "device": "example", "external_ab_test_variant": "example", "internal_ab_test_id": "example", "internal_ab_test_variant": "example", "landing_page": "example", "landing_page_host": "example", "personalized": true, "platform": "example", "result_type": "example", "returning": true, "surface_id": "example", "touchpoint": "autocomplete", "traffic_source": "direct", "traffic_source_type": "example", "url_host": "example", "url_params": { "additionalProperty": "example" }, "url_path": "example" }, "metrics": { "attributed_average_order_value": 1, "attributed_cart_value": 1, "attributed_key_events_1": 1, "attributed_key_events_1_rate": 1, "attributed_key_events_2": 1, "attributed_key_events_2_rate": 1, "attributed_key_events_3": 1, "attributed_key_events_3_rate": 1, "attributed_revenue": 1, "attributed_transaction_rate": 1, "attributed_transactions": 1, "average_click_position": 1, "click_through_rate": 1, "clicks": 1, "exit_rate": 1, "last_no_results_at": "2026-04-15T12:00:00Z", "last_unfiltered_no_results_at": "2026-04-15T12:00:00Z", "no_results_rate": 1, "queries": 1, "queries_without_results": 1, "reformulation_rate": 1, "searches": 1, "searches_without_clicks": 1, "searches_without_results": 1, "sessions": 1, "sessions_attributed_key_events_1_rate": 1, "sessions_attributed_key_events_2_rate": 1, "sessions_attributed_key_events_3_rate": 1, "sessions_attributed_transaction_rate": 1, "sessions_click_through_rate": 1, "sessions_no_results_rate": 1, "unfiltered_no_results_rate": 1, "unfiltered_searches_without_results": 1, "unfiltered_users_without_results": 1, "users": 1, "users_attributed_key_events_1_rate": 1, "users_attributed_key_events_2_rate": 1, "users_attributed_key_events_3_rate": 1, "users_attributed_transaction_rate": 1, "users_click_through_rate": 1, "users_no_results_rate": 1, "users_without_results": 1 }, "query": "example" } ], "page": 1, "size": 1, "total": 1 } ``` ### 400 Malformed request #### application/json Schema: `ErrorResponse` ##### Attributes | Attribute | Type | Required | Description | Constraints | |---|---|---|---|---| | `exception_details` | `ExceptionDetails` | No | Machine-readable error context; empty object when there is nothing to add. | — | | `exception_details.error_code` | `string` | No | Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. `filter_unknown_field` or `cursor_mismatch`. Safe to branch on; `reason` is not. Absent when the status code says all there is to say. | — | | `exception_details.validation_errors` | `Array` | No | Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value. | — | | `exception_details.validation_errors[].loc` | `Array` | Yes | Path to the offending value from the request root, e.g. `["body", "filters", 0, "operator"]`. | — | | `exception_details.validation_errors[].msg` | `string` | Yes | What is wrong with the value at `loc`. | — | | `exception_details.validation_errors[].type` | `string` | Yes | Stable machine code for the problem, e.g. `missing` or `string_too_short`. | — | | `exception_details.*` | `any` | No | Additional property. | — | | `reason` | `string` | Yes | Human-readable, actionable error message. | — | | `request_id` | `anyOf(string, null)` | No | Request correlation ID (matches the X-Request-Id response header). | — | ##### Response example ```json { "exception_details": { "error_code": "example", "validation_errors": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ] }, "reason": "example", "request_id": "example" } ``` ### 401 Missing or invalid credentials #### application/json Schema: `ErrorResponse` ##### Attributes | Attribute | Type | Required | Description | Constraints | |---|---|---|---|---| | `exception_details` | `ExceptionDetails` | No | Machine-readable error context; empty object when there is nothing to add. | — | | `exception_details.error_code` | `string` | No | Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. `filter_unknown_field` or `cursor_mismatch`. Safe to branch on; `reason` is not. Absent when the status code says all there is to say. | — | | `exception_details.validation_errors` | `Array` | No | Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value. | — | | `exception_details.validation_errors[].loc` | `Array` | Yes | Path to the offending value from the request root, e.g. `["body", "filters", 0, "operator"]`. | — | | `exception_details.validation_errors[].msg` | `string` | Yes | What is wrong with the value at `loc`. | — | | `exception_details.validation_errors[].type` | `string` | Yes | Stable machine code for the problem, e.g. `missing` or `string_too_short`. | — | | `exception_details.*` | `any` | No | Additional property. | — | | `reason` | `string` | Yes | Human-readable, actionable error message. | — | | `request_id` | `anyOf(string, null)` | No | Request correlation ID (matches the X-Request-Id response header). | — | ##### Response example ```json { "exception_details": { "error_code": "example", "validation_errors": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ] }, "reason": "example", "request_id": "example" } ``` ### 403 Authenticated but not permitted #### application/json Schema: `ErrorResponse` ##### Attributes | Attribute | Type | Required | Description | Constraints | |---|---|---|---|---| | `exception_details` | `ExceptionDetails` | No | Machine-readable error context; empty object when there is nothing to add. | — | | `exception_details.error_code` | `string` | No | Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. `filter_unknown_field` or `cursor_mismatch`. Safe to branch on; `reason` is not. Absent when the status code says all there is to say. | — | | `exception_details.validation_errors` | `Array` | No | Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value. | — | | `exception_details.validation_errors[].loc` | `Array` | Yes | Path to the offending value from the request root, e.g. `["body", "filters", 0, "operator"]`. | — | | `exception_details.validation_errors[].msg` | `string` | Yes | What is wrong with the value at `loc`. | — | | `exception_details.validation_errors[].type` | `string` | Yes | Stable machine code for the problem, e.g. `missing` or `string_too_short`. | — | | `exception_details.*` | `any` | No | Additional property. | — | | `reason` | `string` | Yes | Human-readable, actionable error message. | — | | `request_id` | `anyOf(string, null)` | No | Request correlation ID (matches the X-Request-Id response header). | — | ##### Response example ```json { "exception_details": { "error_code": "example", "validation_errors": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ] }, "reason": "example", "request_id": "example" } ``` ### 422 Request validation failed, or the report cannot answer it as asked (`exception_details.problems`). #### application/json Schema: `ReportError` ##### Attributes | Attribute | Type | Required | Description | Constraints | |---|---|---|---|---| | `exception_details` | `ReportExceptionDetails` | Yes | Machine-readable error context. | — | | `exception_details.error_code` | `string` | No | Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. `filter_unknown_field` or `cursor_mismatch`. Safe to branch on; `reason` is not. Absent when the status code says all there is to say. | — | | `exception_details.problems` | `Array` | No | Why the report cannot answer the request as asked; `validation_errors` covers malformed fields. | — | | `exception_details.problems[].code` | `ReportProblemCode` | Yes | Stable code of the problem; switch on it, not on `message`. | — | | `exception_details.problems[].loc` | `Array` | Yes | Where in the request, as in `validation_errors[].loc`, e.g. `["body", "group_by", 1]`. | — | | `exception_details.problems[].message` | `string` | Yes | What to change. | — | | `exception_details.validation_errors` | `Array` | No | Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value. | — | | `exception_details.validation_errors[].loc` | `Array` | Yes | Path to the offending value from the request root, e.g. `["body", "filters", 0, "operator"]`. | — | | `exception_details.validation_errors[].msg` | `string` | Yes | What is wrong with the value at `loc`. | — | | `exception_details.validation_errors[].type` | `string` | Yes | Stable machine code for the problem, e.g. `missing` or `string_too_short`. | — | | `exception_details.*` | `any` | No | Additional property. | — | | `reason` | `string` | Yes | Human-readable, actionable error message. | — | | `request_id` | `anyOf(string, null)` | No | Request correlation ID (matches the X-Request-Id response header). | — | ##### Response example ```json { "exception_details": { "error_code": "example", "problems": [ { "code": "too_many_groups", "loc": [ "example" ], "message": "example" } ], "validation_errors": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ] }, "reason": "example", "request_id": "example" } ``` ### 503 Service temporarily unavailable #### application/json Schema: `ErrorResponse` ##### Attributes | Attribute | Type | Required | Description | Constraints | |---|---|---|---|---| | `exception_details` | `ExceptionDetails` | No | Machine-readable error context; empty object when there is nothing to add. | — | | `exception_details.error_code` | `string` | No | Stable machine code naming why a well-formed request was refused: snake_case, prefixed by its domain — e.g. `filter_unknown_field` or `cursor_mismatch`. Safe to branch on; `reason` is not. Absent when the status code says all there is to say. | — | | `exception_details.validation_errors` | `Array` | No | Every field-level problem found in the request, when validation is what failed. Absent when the rejection is not about a specific value. | — | | `exception_details.validation_errors[].loc` | `Array` | Yes | Path to the offending value from the request root, e.g. `["body", "filters", 0, "operator"]`. | — | | `exception_details.validation_errors[].msg` | `string` | Yes | What is wrong with the value at `loc`. | — | | `exception_details.validation_errors[].type` | `string` | Yes | Stable machine code for the problem, e.g. `missing` or `string_too_short`. | — | | `exception_details.*` | `any` | No | Additional property. | — | | `reason` | `string` | Yes | Human-readable, actionable error message. | — | | `request_id` | `anyOf(string, null)` | No | Request correlation ID (matches the X-Request-Id response header). | — | ##### Response example ```json { "exception_details": { "error_code": "example", "validation_errors": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ] }, "reason": "example", "request_id": "example" } ```