# Screener ## Search Screener `ScreenerSearchScreenerResponse v1().screener().searchScreener(ScreenerSearchScreenerParamsparams = ScreenerSearchScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **post** `/v1/screener` Search instruments using structured filters. Returns a columnar response where each row is an array of column objects. Each column contains a human-readable name, a field reference, an optional type hint (e.g. `CURR_USD`, `PERCENT`), and the value. Use `columns` to select which columns appear in each row. When omitted, the default field set is returned. ### Parameters - `ScreenerSearchScreenerParams params` - `Optional> columns` Subset of fields to include in the response. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional> fieldFilter` Deprecated: use `columns` instead. Ignored when `columns` is provided. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> filters` Filter conditions to apply. - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `Optional pageSize` The number of items to return per page (only used when page_token is not provided) - `Optional pageToken` Token for retrieving the next page of results. Contains encoded pagination state (limit + offset). When provided, page_size is ignored. - `Optional sortCaseSensitive` Whether string sorts should be case-sensitive (default: false). - `Optional> sorts` Multi-field sort specifications. - `FieldRef field` The field to sort by. - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Returns - `class ScreenerSearchScreenerResponse:` - `List> data` - `FieldRef field` Field reference (same shape as filter/sort field references) - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `String name` Human-readable display name for this field - `Optional value` - `double` - `String` - `Optional type` Value format hint: "CURR_USD", "PERCENT", etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply. ### Example ```java package com.clearstreet.api.example; import com.clearstreet.api.client.ClearStreetClient; import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient; import com.clearstreet.api.models.v1.screener.ScreenerSearchScreenerParams; import com.clearstreet.api.models.v1.screener.ScreenerSearchScreenerResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); ScreenerSearchScreenerResponse response = client.v1().screener().searchScreener(); } } ``` #### Response ```json { "data": [ [ { "field": { "name": "symbol" }, "name": "Symbol", "value": "AAPL" }, { "field": { "name": "price" }, "name": "Price", "type": "CURR_USD", "value": 175.05 }, { "field": { "name": "market_cap" }, "name": "Market Cap", "type": "CURR_USD", "value": 3500000000000 }, { "field": { "name": "beta" }, "name": "Beta", "value": 1.2 }, { "field": { "lookback": "ONE_WEEK", "name": "change_pct" }, "name": "Change (1W)", "type": "PERCENT", "value": 2.35 }, { "field": { "name": "consensus_rating" }, "name": "Consensus Rating", "value": "STRONG_BUY" }, { "field": { "name": "earnings_per_share", "period": "QUARTER" }, "name": "EPS (Q)", "type": "CURR_USD", "value": 1.55 } ], [ { "field": { "name": "symbol" }, "name": "Symbol", "value": "F" }, { "field": { "name": "price" }, "name": "Price", "type": "CURR_USD", "value": 12.5 }, { "field": { "name": "market_cap" }, "name": "Market Cap", "type": "CURR_USD", "value": 45000000000 }, { "field": { "name": "beta" }, "name": "Beta", "value": 1.5 }, { "field": { "lookback": "ONE_WEEK", "name": "change_pct" }, "name": "Change (1W)", "type": "PERCENT", "value": -0.85 }, { "field": { "name": "consensus_rating" }, "name": "Consensus Rating", "value": "HOLD" }, { "field": { "name": "earnings_per_share", "period": "QUARTER" }, "name": "EPS (Q)", "type": "CURR_USD", "value": 0.23 } ] ], "metadata": { "next_page_token": "AAAAAAAAAAoAAAAAAAAAAg", "request_id": "abc-123" } } ``` ## Get Screeners `ScreenerGetScreenersResponse v1().screener().getScreeners(ScreenerGetScreenersParamsparams = ScreenerGetScreenersParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **get** `/v1/saved-screeners` List saved screener configurations. Returns all screener configurations for the authenticated user. ### Parameters - `ScreenerGetScreenersParams params` ### Returns - `class ScreenerGetScreenersResponse:` - `List data` - `String id` - `LocalDateTime createdAt` - `List filters` - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `String name` - `LocalDateTime updatedAt` - `Optional> columns` Field references included when running this screener. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> fieldFilter` Deprecated: use `columns` instead. Mirrors `columns`. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> sorts` - `FieldRef field` The field to sort by. - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Example ```java package com.clearstreet.api.example; import com.clearstreet.api.client.ClearStreetClient; import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient; import com.clearstreet.api.models.v1.screener.ScreenerGetScreenersParams; import com.clearstreet.api.models.v1.screener.ScreenerGetScreenersResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); ScreenerGetScreenersResponse response = client.v1().screener().getScreeners(); } } ``` #### Response ```json { "data": [ { "created_at": "2026-03-20T14:30:00Z", "filters": [ { "left": { "name": "market_cap" }, "op": { "name": "GTE" }, "right": [ { "value": 1000000000 } ] } ], "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Tech Large Caps", "sorts": [ { "direction": "DESC", "field": { "name": "market_cap" } } ], "updated_at": "2026-03-20T14:30:00Z" }, { "columns": [ { "name": "symbol" }, { "name": "price" }, { "name": "volume" } ], "created_at": "2026-03-21T09:00:00Z", "filters": [ { "left": { "name": "volume" }, "op": { "name": "GTE" }, "right": [ { "value": 10000000 } ] } ], "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "name": "High Volume", "updated_at": "2026-03-21T09:00:00Z" } ], "error": null, "metadata": { "request_id": "1a2b3c4d-5e6f-7890-1234-5a6b7c8d9e0f" } } ``` ## Get Screener By ID `ScreenerGetScreenerByIdResponse v1().screener().getScreenerById(ScreenerGetScreenerByIdParamsparams = ScreenerGetScreenerByIdParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **get** `/v1/saved-screeners/{screener_id}` Get a saved screener configuration by ID. Returns a single screener configuration for the authenticated user. ### Parameters - `ScreenerGetScreenerByIdParams params` - `Optional screenerId` ### Returns - `class ScreenerGetScreenerByIdResponse:` - `ScreenerEntry data` A saved screener configuration entry - `String id` - `LocalDateTime createdAt` - `List filters` - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `String name` - `LocalDateTime updatedAt` - `Optional> columns` Field references included when running this screener. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> fieldFilter` Deprecated: use `columns` instead. Mirrors `columns`. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> sorts` - `FieldRef field` The field to sort by. - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Example ```java package com.clearstreet.api.example; import com.clearstreet.api.client.ClearStreetClient; import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient; import com.clearstreet.api.models.v1.screener.ScreenerGetScreenerByIdParams; import com.clearstreet.api.models.v1.screener.ScreenerGetScreenerByIdResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); ScreenerGetScreenerByIdResponse response = client.v1().screener().getScreenerById("550e8400-e29b-41d4-a716-446655440000"); } } ``` #### Response ```json { "data": { "columns": [ { "name": "symbol" }, { "name": "price" }, { "name": "market_cap" } ], "created_at": "2026-03-20T14:30:00Z", "filters": [ { "left": { "name": "market_cap" }, "op": { "name": "GTE" }, "right": [ { "value": 1000000000 } ] } ], "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Tech Large Caps", "sorts": [ { "direction": "DESC", "field": { "name": "market_cap" } } ], "updated_at": "2026-03-20T14:30:00Z" }, "error": null, "metadata": { "request_id": "1a2b3c4d-5e6f-7890-1234-5a6b7c8d9e0f" } } ``` ## Create Screener `ScreenerCreateScreenerResponse v1().screener().createScreener(ScreenerCreateScreenerParamsparams = ScreenerCreateScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **post** `/v1/saved-screeners` Create a saved screener configuration. Persists a screener configuration for the authenticated user. ### Parameters - `ScreenerCreateScreenerParams params` - `Optional> columns` Structured field references to include when running this screener - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional> fieldFilter` Deprecated: use `columns` instead. Ignored when `columns` is provided. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> filters` Structured search filter criteria - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `Optional name` The name for this screener configuration - `Optional> sorts` Multi-field sort specifications - `FieldRef field` The field to sort by. - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Returns - `class ScreenerCreateScreenerResponse:` - `ScreenerEntry data` A saved screener configuration entry - `String id` - `LocalDateTime createdAt` - `List filters` - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `String name` - `LocalDateTime updatedAt` - `Optional> columns` Field references included when running this screener. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> fieldFilter` Deprecated: use `columns` instead. Mirrors `columns`. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> sorts` - `FieldRef field` The field to sort by. - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Example ```java package com.clearstreet.api.example; import com.clearstreet.api.client.ClearStreetClient; import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient; import com.clearstreet.api.models.v1.screener.ScreenerCreateScreenerParams; import com.clearstreet.api.models.v1.screener.ScreenerCreateScreenerResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); ScreenerCreateScreenerResponse response = client.v1().screener().createScreener(); } } ``` #### Response ```json { "data": { "columns": [ { "name": "symbol" }, { "name": "price" }, { "name": "market_cap" } ], "created_at": "2026-03-20T14:30:00Z", "filters": [ { "left": { "name": "market_cap" }, "op": { "name": "GTE" }, "right": [ { "value": 1000000000 } ] } ], "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Tech Large Caps", "sorts": [ { "direction": "DESC", "field": { "name": "market_cap" } } ], "updated_at": "2026-03-20T14:30:00Z" }, "error": null, "metadata": { "request_id": "1a2b3c4d-5e6f-7890-1234-5a6b7c8d9e0f" } } ``` ## Replace Screener `ScreenerReplaceScreenerResponse v1().screener().replaceScreener(ScreenerReplaceScreenerParamsparams = ScreenerReplaceScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **put** `/v1/saved-screeners/{screener_id}` Update a saved screener configuration. Replaces the screener configuration for the authenticated user. If `name` is null, the existing name is preserved. ### Parameters - `ScreenerReplaceScreenerParams params` - `Optional screenerId` - `Optional> columns` Structured field references to include when running this screener - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional> fieldFilter` Deprecated: use `columns` instead. Ignored when `columns` is provided. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> filters` Structured search filter criteria - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `Optional name` The name for this screener configuration - `Optional> sorts` Multi-field sort specifications - `FieldRef field` The field to sort by. - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Returns - `class ScreenerReplaceScreenerResponse:` - `ScreenerEntry data` A saved screener configuration entry - `String id` - `LocalDateTime createdAt` - `List filters` - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `String name` - `LocalDateTime updatedAt` - `Optional> columns` Field references included when running this screener. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> fieldFilter` Deprecated: use `columns` instead. Mirrors `columns`. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> sorts` - `FieldRef field` The field to sort by. - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Example ```java package com.clearstreet.api.example; import com.clearstreet.api.client.ClearStreetClient; import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient; import com.clearstreet.api.models.v1.screener.ScreenerReplaceScreenerParams; import com.clearstreet.api.models.v1.screener.ScreenerReplaceScreenerResponse; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); ScreenerReplaceScreenerResponse response = client.v1().screener().replaceScreener("550e8400-e29b-41d4-a716-446655440000"); } } ``` #### Response ```json { "data": { "columns": [ { "name": "symbol" }, { "name": "price" }, { "name": "market_cap" } ], "created_at": "2026-04-23T13:37:04.041398Z", "filters": [ { "left": { "name": "market_cap" }, "op": { "name": "GTE" }, "right": [ { "value": 1000000000 } ] } ], "id": "69fcb40a-1812-4856-b2d3-97dec805efee", "name": "Tech Large Caps", "sorts": [ { "direction": "ASC", "field": { "name": "market_cap" } } ], "updated_at": "2026-04-23T13:37:21.860106Z" }, "metadata": { "request_id": "71ac58a8-9b12-49b9-8301-6239febe4e56" } } ``` ## Delete Screener `v1().screener().deleteScreener(ScreenerDeleteScreenerParamsparams = ScreenerDeleteScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **delete** `/v1/saved-screeners/{screener_id}` Delete a saved screener configuration. Deletes the screener configuration for the authenticated user. ### Parameters - `ScreenerDeleteScreenerParams params` - `Optional screenerId` ### Example ```java package com.clearstreet.api.example; import com.clearstreet.api.client.ClearStreetClient; import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient; import com.clearstreet.api.models.v1.screener.ScreenerDeleteScreenerParams; public final class Main { private Main() {} public static void main(String[] args) { ClearStreetClient client = ClearStreetOkHttpClient.builder() .fromEnv() .apiKey("My API Key") .build(); client.v1().screener().deleteScreener("550e8400-e29b-41d4-a716-446655440000"); } } ``` #### Response ```json { "error": { "code": 404, "message": "Some requested entity was not found" }, "metadata": { "request_id": "aafc54ec-939e-49a9-ab6e-bbabca005cb2" } } ``` ## Domain Types ### Field Lookback - `enum FieldLookback:` Historical lookback window for price/change fields. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` ### Field Period - `enum FieldPeriod:` Reporting period for financial data fields. - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` ### Field Ref - `class FieldRef:` A reference to a screener field. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` ### Field Type - `enum FieldType:` The data type of a screener field value. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` ### Filter Op Spec - `class FilterOpSpec:` Operator specification with optional behavioral arguments. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` ### Filter Operator - `enum FilterOperator:` Filter operators supported by the screener. Abbreviated and lowercase forms are accepted as serde aliases for backward compatibility with earlier API revisions; the canonical wire form is the SCREAMING_SNAKE_CASE rendering. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` ### Filter Value - `class FilterValue:` A filter value: either a literal or a variable reference. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` ### Modifier - `class Modifier:` Arithmetic modifier applied to a variable value. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` ### Modifier Op - `enum ModifierOp:` Modifier operation applied to a variable. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` ### Operator Arg - `enum OperatorArg:` Argument that modifies operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` ### Screener Column - `class ScreenerColumn:` A single column in the screener search response. - `FieldRef field` Field reference (same shape as filter/sort field references) - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `String name` Human-readable display name for this field - `Optional value` - `double` - `String` - `Optional type` Value format hint: "CURR_USD", "PERCENT", etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply. ### Screener Entry - `class ScreenerEntry:` A saved screener configuration entry - `String id` - `LocalDateTime createdAt` - `List filters` - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `String name` - `LocalDateTime updatedAt` - `Optional> columns` Field references included when running this screener. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> fieldFilter` Deprecated: use `columns` instead. Mirrors `columns`. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `Optional period` Optional reporting period (e.g. quarter or TTM). - `Optional valueType` The data type of the field value. Present only in responses. - `Optional> sorts` - `FieldRef field` The field to sort by. - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Screener Filter - `class ScreenerFilter:` A single filter criterion for the screener. - `String field` Field to filter on (e.g., "market_cap", "sector", "price") - `String operator` Comparison operator (e.g., "eq", "gte", "lte", "in") - `JsonValue value` Filter value ### Search Filter - `class SearchFilter:` A single filter condition. When `op` and `right` are both absent, the filter is "unenabled": it persists a `left` field reference without applying any predicate. Unenabled filters are skipped during search execution but still round-trip through save/load so callers can preserve draft state. - `FieldRef left` The field to filter on. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional op` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `FilterOperator name` The operator to apply. - `LESS_THAN("LESS_THAN")` - `LESS_OR_EQUAL("LESS_OR_EQUAL")` - `GREATER_THAN("GREATER_THAN")` - `GREATER_OR_EQUAL("GREATER_OR_EQUAL")` - `EQUAL("EQUAL")` - `BETWEEN("BETWEEN")` - `NOT_BETWEEN("NOT_BETWEEN")` - `ONE_OF("ONE_OF")` - `REGEX("REGEX")` - `BEGINS_WITH("BEGINS_WITH")` - `ENDS_WITH("ENDS_WITH")` - `CONTAINS("CONTAINS")` - `IS_NULL("IS_NULL")` - `IS_NOT_NULL("IS_NOT_NULL")` - `Optional> args` Optional arguments that modify operator behavior. - `LEFT_INCLUSIVE("LEFT_INCLUSIVE")` - `RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")` - `LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")` - `RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")` - `CASE_INSENSITIVE("CASE_INSENSITIVE")` - `Optional> right` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `Optional value` - `double` - `String` - `Optional variable` A variable reference. - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. ### Sort Spec - `class SortSpec:` A sort specification pairing a field with a direction. - `FieldRef field` The field to sort by. - `String name` The field name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional period` Optional reporting period (e.g. quarter or TTM). - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")` - `Optional valueType` The data type of the field value. Present only in responses. - `DECIMAL("DECIMAL")` - `INTEGER("INTEGER")` - `STRING("STRING")` - `ANALYST_RATING("ANALYST_RATING")` - `DATE("DATE")` - `Optional direction` Sort direction (defaults to DESC). - `ASC("ASC")` - `DESC("DESC")` ### Variable - `class Variable:` A variable reference (field or built-in like `today`). - `String name` The variable name. - `Optional lookback` Optional historical lookback window. - `ONE_DAY("ONE_DAY")` - `ONE_WEEK("ONE_WEEK")` - `ONE_MONTH("ONE_MONTH")` - `THREE_MONTHS("THREE_MONTHS")` - `SIX_MONTHS("SIX_MONTHS")` - `YEAR_TO_DATE("YEAR_TO_DATE")` - `ONE_YEAR("ONE_YEAR")` - `Optional modifier` Optional arithmetic modifier. - `List args` - `double` - `String` - `ModifierOp name` The modifier operation. - `ADD("ADD")` - `SUBTRACT("SUBTRACT")` - `Optional period` Optional reporting period. - `QUARTER("QUARTER")` - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")`