---
title: "List all filters"
method: GET
path: "/api/v1/filters/"
tags: ["filters"]
---

# List all filters

`GET /api/v1/filters/`

List all filters that can be applied to your filter sets or studies.

## Query parameters

- `detailed` string
- `workspace_id` string
- `filter_tag` string
- `include_deprecated` boolean

## Headers

- `Authorization` string, required

## Response `200`

List of filters

- FilterList
  - `results` FilterListResultsItems[]
    - union
      - SelectFilterListResponse
        - `filter_id` string — The ID of the filter, based on a slugified version of the title at the time the filter was created.
        - `title` string — The title of the filter.
        - `description` string — A description of the filter.
        - `type` 'select' | 'range' — The filter type.
        - `question` string — The question asked of participants to generate this filter.
        - `lifecycle_state` 'ACTIVE' | 'DEPRECATED' — The lifecycle state of this filter. Active filters are visible in filter discovery. Deprecated filters are hidden from discovery but continue to work for existing studies.
        - `choices` object — An object containing all the filter's possible responses as key-value pairs, with sequential integer IDs or database ObjectIDs as the keys and the text of the response as the values.
        - `data_type` 'ChoiceID' | 'ParticipantID' | 'StudyID' | 'ParticipantGroupID' — The format of the keys in the choices object. If the keys are strings representing sequential integers, the data format is integer. If the keys are database ObjectIDs, the type of ID is specified.
      - SelectFilterListDetailedResponse
        - `filter_id` string — The ID of the filter, based on a slugified version of the title at the time the filter was created.
        - `title` string — The title of the filter.
        - `description` string — A description of the filter.
        - `type` 'select' | 'range' — The filter type.
        - `question` string — The question asked of participants to generate this filter.
        - `lifecycle_state` 'ACTIVE' | 'DEPRECATED' — The lifecycle state of this filter. Active filters are visible in filter discovery. Deprecated filters are hidden from discovery but continue to work for existing studies.
        - `choices` object — An object containing all the filter's possible responses as key-value pairs, with sequential integer IDs or database ObjectIDs as the keys and the text of the response as the values.
        - `data_type` 'ChoiceID' | 'ParticipantID' | 'StudyID' | 'ParticipantGroupID' — The format of the keys in the choices object. If the keys are strings representing sequential integers, the data format is integer. If the keys are database ObjectIDs, the type of ID is specified.
        - `researcher_help_text` string, nullable — Some help text to be displayed to researchers in the filter selection modal.
        - `participant_help_text` string, nullable — Some help text to be displayed to participants in the About You section.
        - `category` string, nullable — The category the filter is displayed in About You and the filter selection modal.
        - `subcategory` string, nullable — The sub-category the filter is displayed in the filter selection modal.
        - `display_order` integer, nullable — The order in which the filter is displayed within its sub-category in the filter selection modal.
        - `tags` string[], nullable — Some additional tags that can be used to display the filter in a specific way, e.g. recommended, new, expiring.
      - RangeFilterListResponse
        - `filter_id` string — The ID of the filter, based on a slugified version of the title at the time the filter was created.
        - `title` string — The title of the filter.
        - `description` string — A description of the filter.
        - `type` 'select' | 'range' — The filter type.
        - `question` string — The question asked of participants to generate this filter.
        - `lifecycle_state` 'ACTIVE' | 'DEPRECATED' — The lifecycle state of this filter. Active filters are visible in filter discovery. Deprecated filters are hidden from discovery but continue to work for existing studies.
        - `min` union — The minimum valid value of the range.
          - integer
          - number, double
          - string
        - `max` union — The maximum valid value of the range.
          - integer
          - number, double
          - string
        - `data_type` 'date' | 'integer' | 'float' — The data type of the range. - If the data type is integer, the lower and upper values must be integers. Example: `70`. - If the data type is date, the lower and upper values must be ISO8601 dates. Example: `2025-07-11`. - If the data type is float, the lower and upper values can be provided as floats or integers. Returned values will be floats. Example: `70.5` or `80.0`.
        - `min_max` union — Optional maximum allowed value for the selected_range lower bound.
          - integer
          - number, double
          - string
        - `max_min` union — Optional minimum allowed value for the selected_range upper bound.
          - integer
          - number, double
          - string
      - RangeFilterListDetailedResponse
        - `filter_id` string — The ID of the filter, based on a slugified version of the title at the time the filter was created.
        - `title` string — The title of the filter.
        - `description` string — A description of the filter.
        - `type` 'select' | 'range' — The filter type.
        - `question` string — The question asked of participants to generate this filter.
        - `lifecycle_state` 'ACTIVE' | 'DEPRECATED' — The lifecycle state of this filter. Active filters are visible in filter discovery. Deprecated filters are hidden from discovery but continue to work for existing studies.
        - `min` union — The minimum valid value of the range.
          - integer
          - number, double
          - string
        - `max` union — The maximum valid value of the range.
          - integer
          - number, double
          - string
        - `data_type` 'date' | 'integer' | 'float' — The data type of the range. - If the data type is integer, the lower and upper values must be integers. Example: `70`. - If the data type is date, the lower and upper values must be ISO8601 dates. Example: `2025-07-11`. - If the data type is float, the lower and upper values can be provided as floats or integers. Returned values will be floats. Example: `70.5` or `80.0`.
        - `min_max` union — Optional maximum allowed value for the selected_range lower bound.
          - integer
          - number, double
          - string
        - `max_min` union — Optional minimum allowed value for the selected_range upper bound.
          - integer
          - number, double
          - string
        - `researcher_help_text` string, nullable — Some help text to be displayed to researchers in the filter selection modal.
        - `participant_help_text` string, nullable — Some help text to be displayed to participants in the About You section.
        - `category` string, nullable — The category the filter is displayed in About You and the filter selection modal.
        - `subcategory` string, nullable — The sub-category the filter is displayed in the filter selection modal.
        - `display_order` integer, nullable — The order in which the filter is displayed within its sub-category in the filter selection modal.
        - `tags` string[], nullable — Some additional tags that can be used to display the filter in a specific way, e.g. recommended, new, expiring.
  - `_links` object
  - `meta` object

## Other responses

- `400` — Error

## Changes

- **2026-08-15** `14ddadb04a53` — 5 info
  - added the new optional `query` request parameter `include_deprecated`
  - added the optional property `results/items/oneOf[subschema #1: SelectFilterListResponse]/lifecycle_state` to the response with the `200` status
  - added the optional property `results/items/oneOf[subschema #2: SelectFilterListDetailedResponse]/lifecycle_state` to the response with the `200` status
  - added the optional property `results/items/oneOf[subschema #3: RangeFilterListResponse]/lifecycle_state` to the response with the `200` status
  - …1 more

[Change history](https://skmtc.dev/prolific/apis/api-reference/changes/api/v1/filters/get.md)

---

[API](https://skmtc.dev/prolific/apis/api-reference.md) · [All operations](https://skmtc.dev/prolific/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/prolific/api-reference/revisions/578f400cea53/schema)
