> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /filter/bylist

```
URL: http://<db.host>:<db.port>/filter/bylist
```

Calculates which records from a table have values in the given list for the
corresponding column. The operation is synchronous, meaning that a response
will not be returned until all the objects are fully available. The response
payload provides the count of the resulting set. A new resultant set (view)
which satisfies the input filter specification is also created if a input
parameter *view\_name* is passed in as part of the request.

For example, if a type definition has the columns 'x' and 'y', then a filter by
list query with the column map \{"x":\["10.1", "2.3"], "y":\["0.0", "-31.5",
"42.0"]} will return the count of all data points whose x and y values match
both in the respective x- and y-lists, e.g., "x = 10.1 and y = 0.0", "x = 2.3
and y = -31.5", etc. However, a record with "x = 10.1 and y = -31.5" or "x =
2.3 and y = 0.0" would not be returned because the values in the given lists do
not correspond.

## Input Parameter Description

<ParamField body="table_name" type="string">
  Name of the table to filter, in \[schema\_name.]table\_name format, using standard [name resolution rules](../../concepts/tables/#table-name-resolution). This may be the name of a table or a view (when chaining queries).
</ParamField>

<ParamField body="view_name" type="string">
  If provided, then this will be the name of the view containing the results, in \[schema\_name.]view\_name format, using standard [name resolution rules](../../concepts/tables/#table-name-resolution) and meeting [table naming criteria](../../concepts/tables/#table-naming-criteria). Must not be an already existing table or view.

  The default value is ''.
</ParamField>

<ParamField body="column_values_map" type="map of string to arrays of strings">
  List of values for the corresponding column in the table.
</ParamField>

<ParamField body="options" type="map of string to strings">
  Optional parameters.

  The default value is an empty map ( \{} ).

  <Expandable title="options">
    <ParamField body="create_temp_table">
      If *true*, a unique temporary table name will be generated in the sys\_temp schema and used in place of input parameter *view\_name*. This is always allowed even if the caller does not have permission to create tables. The generated name is returned in *qualified\_view\_name*.

      The default value is `false`.

      The supported values are:

      * true
      * false
    </ParamField>

    <ParamField body="collection_name">
      \[DEPRECATED--please specify the containing schema for the view as part of input parameter *view\_name* and use [/create/schema](/content/api/rest/create_schema_rest) to create the schema if non-existent] Name of a schema for the newly created view. If the schema provided is non-existent, it will be automatically created.
    </ParamField>

    <ParamField body="filter_mode">
      String indicating the filter mode, either 'in\_list' or 'not\_in\_list'.

      The default value is `in_list`.

      * **in\_list**: The filter will match all items that are in the provided list(s).
      * **not\_in\_list**: The filter will match all items that are not in the provided list(s).
    </ParamField>
  </Expandable>
</ParamField>

## Output Parameter Description

The Kinetica server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query.  Here is a description of the various fields of the wrapper:

<ResponseField name="status" type="String">
  'OK' or 'ERROR'
</ResponseField>

<ResponseField name="message" type="String">
  Empty if success or an error message
</ResponseField>

<ResponseField name="data_type" type="String">
  'filter\_by\_list\_response' or 'none' in case of an error
</ResponseField>

<ResponseField name="data" type="String">
  Empty string
</ResponseField>

<ResponseField name="data_str" type="JSON or String">
  This embedded JSON represents the result of the /filter/bylist endpoint:

  <Expandable title="data_str">
    <ResponseField name="count" type="long">
      The number of records passing the list filter.
    </ResponseField>

    <ResponseField name="info" type="map of string to strings">
      Additional information.

      The default value is an empty map ( \{} ).

      <Expandable title="info">
        <ResponseField name="qualified_view_name">
          The fully qualified name of the view (i.e. including the schema).
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>

  Empty string in case of an error.
</ResponseField>
