## Patch Screener

`ScreenerPatchScreenerResponse v1().screener().patchScreener(ScreenerPatchScreenerParamsparams = ScreenerPatchScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())`

**patch** `/v1/saved-screeners/{screener_id}`

Partially update a saved screener configuration.

Every field is optional. Omitting a field, or sending it as `null`,
leaves the stored value unchanged. Sending a field's empty value clears
it: `columns: []` clears the stored columns, `sorts: []` clears the
stored sort, and `filters: []` clears the stored filters. `name: ""` is
rejected -- a screener's name cannot be cleared. `shared: false` sets it
to `false`; it is a value, not a clear.

Unknown fields are rejected with a 422.

### Parameters

- `ScreenerPatchScreenerParams params`

  - `Optional<String> screenerId`

  - `Optional<List<FieldRef>> columns`

    Structured field references to include when running this screener.
    Omit or send `null` to leave unchanged; `[]` clears the stored columns.

    - `String name`

      The field name.

    - `Optional<FieldLookback> 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<FieldPeriod> period`

      Optional reporting period (e.g. quarter or TTM).

      - `QUARTER("QUARTER")`

      - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")`

      - `ANNUAL("ANNUAL")`

    - `Optional<FieldType> 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<List<SearchFilter>> filters`

    Structured search filter criteria. Omit or send `null` to leave
    unchanged; `[]` clears the stored filters.

    - `FieldRef left`

      The field to filter on.

      - `String name`

        The field name.

      - `Optional<FieldLookback> lookback`

        Optional historical lookback window.

      - `Optional<FieldPeriod> period`

        Optional reporting period (e.g. quarter or TTM).

      - `Optional<FieldType> valueType`

        The data type of the field value. Present only in responses.

    - `Optional<FilterOpSpec> 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<List<OperatorArg>> 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<List<FilterValue>> right`

      The value(s) to compare against. Omit together with `op` for an unenabled filter.

      - `Optional<Value> value`

        - `double`

        - `String`

      - `Optional<Variable> variable`

        A variable reference.

        - `String name`

          The variable name.

        - `Optional<FieldLookback> lookback`

          Optional historical lookback window.

        - `Optional<Modifier> modifier`

          Optional arithmetic modifier.

          - `List<Arg> args`

            - `double`

            - `String`

          - `ModifierOp name`

            The modifier operation.

            - `ADD("ADD")`

            - `SUBTRACT("SUBTRACT")`

        - `Optional<FieldPeriod> period`

          Optional reporting period.

  - `Optional<String> name`

    The name for this screener configuration. Omit or send `null` to
    leave unchanged. Cannot be set to an empty string.

  - `Optional<Boolean> shared`

    Whether any user may fetch this screener by id. Omit or send `null`
    to leave unchanged. `false` is a value, not a clear.

  - `Optional<List<SortSpec>> sorts`

    Multi-field sort specifications. Omit or send `null` to leave
    unchanged; `[]` clears the stored sort.

    - `FieldRef field`

      The field to sort by.

    - `Optional<SortDirection> direction`

      Sort direction (defaults to DESC).

      - `ASC("ASC")`

      - `DESC("DESC")`

### Returns

- `class ScreenerPatchScreenerResponse:`

  - `ScreenerEntry data`

    A saved screener configuration entry

    - `String id`

    - `LocalDateTime createdAt`

    - `List<SearchFilter> filters`

      - `FieldRef left`

        The field to filter on.

        - `String name`

          The field name.

        - `Optional<FieldLookback> 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<FieldPeriod> period`

          Optional reporting period (e.g. quarter or TTM).

          - `QUARTER("QUARTER")`

          - `TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")`

          - `ANNUAL("ANNUAL")`

        - `Optional<FieldType> 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<FilterOpSpec> 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<List<OperatorArg>> 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<List<FilterValue>> right`

        The value(s) to compare against. Omit together with `op` for an unenabled filter.

        - `Optional<Value> value`

          - `double`

          - `String`

        - `Optional<Variable> variable`

          A variable reference.

          - `String name`

            The variable name.

          - `Optional<FieldLookback> lookback`

            Optional historical lookback window.

          - `Optional<Modifier> modifier`

            Optional arithmetic modifier.

            - `List<Arg> args`

              - `double`

              - `String`

            - `ModifierOp name`

              The modifier operation.

              - `ADD("ADD")`

              - `SUBTRACT("SUBTRACT")`

          - `Optional<FieldPeriod> period`

            Optional reporting period.

    - `String name`

    - `boolean shared`

      Whether any user may fetch this screener by id.

    - `LocalDateTime updatedAt`

    - `Optional<List<FieldRef>> columns`

      Field references included when running this screener.

      - `String name`

        The field name.

      - `Optional<FieldLookback> lookback`

        Optional historical lookback window.

      - `Optional<FieldPeriod> period`

        Optional reporting period (e.g. quarter or TTM).

      - `Optional<FieldType> valueType`

        The data type of the field value. Present only in responses.

    - `Optional<List<SortSpec>> sorts`

      - `FieldRef field`

        The field to sort by.

      - `Optional<SortDirection> 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.ScreenerPatchScreenerParams;
import com.clearstreet.api.models.v1.screener.ScreenerPatchScreenerResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        ClearStreetClient client = ClearStreetOkHttpClient.builder()
            .fromEnv()
            .apiKey("My API Key")
            .build();

        ScreenerPatchScreenerResponse response = client.v1().screener().patchScreener("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": "GREATER_OR_EQUAL"
        },
        "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"
  }
}
```
