## Create Screener

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

Create a saved screener configuration.

Persists a screener configuration for the authenticated user.

### Body Parameters

- `columns: optional array of FieldRef`

  Structured field references to include when running this screener

  - `name: string`

    The field name.

  - `lookback: optional FieldLookback`

    Optional historical lookback window.

    - `"ONE_DAY"`

    - `"ONE_WEEK"`

    - `"ONE_MONTH"`

    - `"THREE_MONTHS"`

    - `"SIX_MONTHS"`

    - `"YEAR_TO_DATE"`

    - `"ONE_YEAR"`

  - `period: optional FieldPeriod`

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

    - `"QUARTER"`

    - `"TRAILING_TWELVE_MONTHS"`

  - `value_type: optional FieldType`

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

    - `"DECIMAL"`

    - `"INTEGER"`

    - `"STRING"`

    - `"ANALYST_RATING"`

    - `"DATE"`

- `field_filter: optional array of FieldRef`

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

  - `name: string`

    The field name.

  - `lookback: optional FieldLookback`

    Optional historical lookback window.

  - `period: optional FieldPeriod`

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

  - `value_type: optional FieldType`

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

- `filters: optional array of SearchFilter`

  Structured search filter criteria

  - `left: FieldRef`

    The field to filter on.

    - `name: string`

      The field name.

    - `lookback: optional FieldLookback`

      Optional historical lookback window.

    - `period: optional FieldPeriod`

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

    - `value_type: optional FieldType`

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

  - `op: optional FilterOpSpec`

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

    - `name: FilterOperator`

      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`

      - `number`

      - `string`

    - `variable: optional Variable`

      A variable reference.

      - `name: string`

        The variable name.

      - `lookback: optional FieldLookback`

        Optional historical lookback window.

      - `modifier: optional Modifier`

        Optional arithmetic modifier.

        - `args: array of number or string`

          - `number`

          - `string`

        - `name: ModifierOp`

          The modifier operation.

          - `"ADD"`

          - `"SUBTRACT"`

      - `period: optional FieldPeriod`

        Optional reporting period.

- `name: optional string`

  The name for this screener configuration

- `sorts: optional array of SortSpec`

  Multi-field sort specifications

  - `field: FieldRef`

    The field to sort by.

  - `direction: optional SortDirection`

    Sort direction (defaults to DESC).

    - `"ASC"`

    - `"DESC"`

### Returns

- `data: ScreenerEntry`

  A saved screener configuration entry

  - `id: string`

  - `created_at: string`

  - `filters: array of SearchFilter`

    - `left: FieldRef`

      The field to filter on.

      - `name: string`

        The field name.

      - `lookback: optional FieldLookback`

        Optional historical lookback window.

        - `"ONE_DAY"`

        - `"ONE_WEEK"`

        - `"ONE_MONTH"`

        - `"THREE_MONTHS"`

        - `"SIX_MONTHS"`

        - `"YEAR_TO_DATE"`

        - `"ONE_YEAR"`

      - `period: optional FieldPeriod`

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

        - `"QUARTER"`

        - `"TRAILING_TWELVE_MONTHS"`

      - `value_type: optional FieldType`

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

        - `"DECIMAL"`

        - `"INTEGER"`

        - `"STRING"`

        - `"ANALYST_RATING"`

        - `"DATE"`

    - `op: optional FilterOpSpec`

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

      - `name: FilterOperator`

        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`

        - `number`

        - `string`

      - `variable: optional Variable`

        A variable reference.

        - `name: string`

          The variable name.

        - `lookback: optional FieldLookback`

          Optional historical lookback window.

        - `modifier: optional Modifier`

          Optional arithmetic modifier.

          - `args: array of number or string`

            - `number`

            - `string`

          - `name: ModifierOp`

            The modifier operation.

            - `"ADD"`

            - `"SUBTRACT"`

        - `period: optional FieldPeriod`

          Optional reporting period.

  - `name: string`

  - `updated_at: string`

  - `columns: optional array of FieldRef`

    Field references included when running this screener.

    - `name: string`

      The field name.

    - `lookback: optional FieldLookback`

      Optional historical lookback window.

    - `period: optional FieldPeriod`

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

    - `value_type: optional FieldType`

      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 FieldLookback`

      Optional historical lookback window.

    - `period: optional FieldPeriod`

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

    - `value_type: optional FieldType`

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

  - `sorts: optional array of SortSpec`

    - `field: FieldRef`

      The field to sort by.

    - `direction: optional SortDirection`

      Sort direction (defaults to DESC).

      - `"ASC"`

      - `"DESC"`

### Example

```http
curl https://api.clearstreet.com/v1/saved-screeners \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $API_KEY" \
    -d '{}'
```

#### 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"
  }
}
```
