## Create Screener

`$ clst v1:screener create-screener`

**post** `/v1/saved-screeners`

Create a saved screener configuration.

Persists a screener configuration for the authenticated user.

### Parameters

- `--column: optional array of FieldRef`

  Structured field references to include when running this screener

- `--field-filter: optional array of FieldRef`

  Deprecated: use `columns` instead. Ignored when `columns` is provided.

- `--filter: optional array of SearchFilter`

  Structured search filter criteria

- `--name: optional string`

  The name for this screener configuration

- `--sort: optional array of SortSpec`

  Multi-field sort specifications

### Returns

- `V1ScreenerNewScreenerResponse: BaseResponse`

  - `data: object { id, created_at, filters, 5 more }`

    A saved screener configuration entry

    - `id: string`

    - `created_at: string`

    - `filters: array of SearchFilter`

      - `left: object { name, lookback, period, value_type }`

        The field to filter on.

        - `name: string`

          The field name.

        - `lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more`

          Optional historical lookback window.

          - `"ONE_DAY"`

          - `"ONE_WEEK"`

          - `"ONE_MONTH"`

          - `"THREE_MONTHS"`

          - `"SIX_MONTHS"`

          - `"YEAR_TO_DATE"`

          - `"ONE_YEAR"`

        - `period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS"`

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

          - `"QUARTER"`

          - `"TRAILING_TWELVE_MONTHS"`

        - `value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more`

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

          - `"DECIMAL"`

          - `"INTEGER"`

          - `"STRING"`

          - `"ANALYST_RATING"`

          - `"DATE"`

      - `op: optional object { name, args }`

        The operator and optional arguments. Omit together with `right` for an unenabled filter.

        - `name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more`

          The operator to apply.

          - `"LESS_THAN"`

          - `"LESS_OR_EQUAL"`

          - `"GREATER_THAN"`

          - `"GREATER_OR_EQUAL"`

          - `"EQUAL"`

          - `"BETWEEN"`

          - `"NOT_BETWEEN"`

          - `"ONE_OF"`

          - `"REGEX"`

          - `"BEGINS_WITH"`

          - `"ENDS_WITH"`

          - `"CONTAINS"`

          - `"IS_NULL"`

          - `"IS_NOT_NULL"`

        - `args: optional array of OperatorArg`

          Optional arguments that modify operator behavior.

          - `"LEFT_INCLUSIVE"`

          - `"RIGHT_INCLUSIVE"`

          - `"LEFT_EXCLUSIVE"`

          - `"RIGHT_EXCLUSIVE"`

          - `"CASE_INSENSITIVE"`

      - `right: optional array of FilterValue`

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

        - `value: optional number or string`

          - `union_member_0: number`

          - `union_member_1: string`

        - `variable: optional object { name, lookback, modifier, period }`

          A variable reference.

          - `name: string`

            The variable name.

          - `lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more`

            Optional historical lookback window.

            - `"ONE_DAY"`

            - `"ONE_WEEK"`

            - `"ONE_MONTH"`

            - `"THREE_MONTHS"`

            - `"SIX_MONTHS"`

            - `"YEAR_TO_DATE"`

            - `"ONE_YEAR"`

          - `modifier: optional object { args, name }`

            Optional arithmetic modifier.

            - `args: array of number or string`

              - `union_member_0: number`

              - `union_member_1: string`

            - `name: "ADD" or "SUBTRACT"`

              The modifier operation.

              - `"ADD"`

              - `"SUBTRACT"`

          - `period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS"`

            Optional reporting period.

            - `"QUARTER"`

            - `"TRAILING_TWELVE_MONTHS"`

    - `name: string`

    - `updated_at: string`

    - `columns: optional array of FieldRef`

      Field references included when running this screener.

      - `name: string`

        The field name.

      - `lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more`

        Optional historical lookback window.

      - `period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS"`

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

      - `value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more`

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

    - `field_filter: optional array of FieldRef`

      Deprecated: use `columns` instead. Mirrors `columns`.

      - `name: string`

        The field name.

      - `lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more`

        Optional historical lookback window.

      - `period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS"`

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

      - `value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more`

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

    - `sorts: optional array of SortSpec`

      - `field: object { name, lookback, period, value_type }`

        The field to sort by.

        - `name: string`

          The field name.

        - `lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more`

          Optional historical lookback window.

        - `period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS"`

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

        - `value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more`

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

      - `direction: optional "ASC" or "DESC"`

        Sort direction (defaults to DESC).

        - `"ASC"`

        - `"DESC"`

### Example

```cli
clst v1:screener create-screener \
  --api-key 'My API Key'
```

#### 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": "GREATER_OR_EQUAL"
        },
        "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"
  },
  "metadata": {
    "request_id": "1a2b3c4d-5e6f-7890-1234-5a6b7c8d9e0f"
  }
}
```
