---
title: "Put view"
method: PUT
path: "/api/dm/views/{id}/"
tags: ["Data Manager"]
---

# Put view

`PUT /api/dm/views/{id}/`

Overwrite view data with updated filters and other information for a specific project.

## Path parameters

- `id` string, required

## Request body

- ViewRequestRequest — Public view write contract; runtime conversion remains in ``ViewSerializer``.
  - `data` ViewDataRequestRequest — Established public view payload nested under ``data``.
    - `filters` PrepareParamsFiltersRequest — Filters to apply on tasks. You can use [the helper class `Filters` from this page](https://labelstud.io/sdk/data_manager.html) to create Data Manager Filters.<br>Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}`
      - `conjunction` 'or' | 'and', required
      - `items` object[], required — List of filter items
        - `child_filters` object[] — Ordered child filters AND-merged with their parent. Child filters cannot be nested.
          - `filter` 'filter:tasks:agreement' | 'filter:tasks:annotations_results' | 'filter:tasks:annotators' | 'filter:tasks:cancelled_annotations' | 'filter:tasks:comments' | 'filter:tasks:completed_at' | 'filter:tasks:created_at' | 'filter:tasks:file_upload' | 'filter:tasks:ground_truth' | 'filter:tasks:id' | 'filter:tasks:inner_id' | 'filter:tasks:predictions_model_versions' | 'filter:tasks:predictions_results' | 'filter:tasks:predictions_score' | 'filter:tasks:reviewed' | 'filter:tasks:reviewers' | 'filter:tasks:reviews_accepted' | 'filter:tasks:reviews_rejected' | 'filter:tasks:total_annotations' | 'filter:tasks:total_predictions' | 'filter:tasks:unresolved_comment_count' | 'filter:tasks:updated_at', required — Filter identifier, it should start with `filter:tasks:` prefix, e.g. `filter:tasks:agreement`. For `task.data` fields it may look like `filter:tasks:data.field_name`. If you need more info about columns, check the [Get data manager columns](api:GET/api/dm/columns/) API endpoint. Possible values:<br><li>`filter:tasks:agreement`<br> (Number) Agreement for annotation results for a specific task (Enterprise only)</li><br><li>`filter:tasks:annotations_results`<br> (String) Annotation results for the tasks</li><br><li>`filter:tasks:annotators`<br> (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:cancelled_annotations`<br> (Number) Number of cancelled or skipped annotations for the task</li><br><li>`filter:tasks:comments`<br> (Number) Number of comments in a task</li><br><li>`filter:tasks:completed_at`<br> (Datetime) Time when a task was fully annotated</li><br><li>`filter:tasks:created_at`<br> (Datetime) Time the task was created at</li><br><li>`filter:tasks:file_upload`<br> (String) Name of the file uploaded to create the tasks</li><br><li>`filter:tasks:ground_truth`<br> (Boolean) Ground truth status of the tasks</li><br><li>`filter:tasks:id`<br> (Number) Task ID</li><br><li>`filter:tasks:inner_id`<br> (Number) Task Inner ID, it starts from 1 for all projects</li><br><li>`filter:tasks:predictions_model_versions`<br> (String) Model version used for the predictions</li><br><li>`filter:tasks:predictions_results`<br> (String) Prediction results for the tasks</li><br><li>`filter:tasks:predictions_score`<br> (Number) Prediction score for the task</li><br><li>`filter:tasks:reviewed`<br> (Boolean) Whether the tasks have been reviewed (Enterprise only)</li><br><li>`filter:tasks:reviewers`<br> (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:reviews_accepted`<br> (Number) Number of annotations accepted for a task in review (Enterprise only)</li><br><li>`filter:tasks:reviews_rejected`<br> (Number) Number of annotations rejected for a task in review (Enterprise only)</li><br><li>`filter:tasks:total_annotations`<br> (Number) Total number of annotations on a task</li><br><li>`filter:tasks:total_predictions`<br> (Number) Total number of predictions for the task</li><br><li>`filter:tasks:unresolved_comment_count`<br> (Number) Number of unresolved comments in a task</li><br><li>`filter:tasks:updated_at`<br> (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)</li>
          - `operator` 'contains' | 'ends_with' | 'equal' | 'exists' | 'greater' | 'greater_or_equal' | 'in' | 'in_list' | 'less' | 'less_or_equal' | 'not_contains' | 'not_equal' | 'not_exists' | 'not_in' | 'not_in_list' | 'starts_with', required — Filter operator. Possible values:<br><li>`contains`<br> Contains</li><br><li>`ends_with`<br> Ends with</li><br><li>`equal`<br> Equal to</li><br><li>`exists`<br> Exists</li><br><li>`greater`<br> Greater than</li><br><li>`greater_or_equal`<br> Greater than or equal to</li><br><li>`in`<br> Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`</li><br><li>`in_list`<br> Field value is one of the items in the supplied list. Value must be a JSON array of strings or numbers, e.g. `[1, 2, 3]` or `["a", "b"]`. Supported only for Task ID, Inner ID, and `task.data.*` fields.</li><br><li>`less`<br> Less than</li><br><li>`less_or_equal`<br> Less than or equal to</li><br><li>`not_contains`<br> Does not contain</li><br><li>`not_equal`<br> Not equal to</li><br><li>`not_exists`<br> Does not exist</li><br><li>`not_in`<br> Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`</li><br><li>`not_in_list`<br> Field value is NOT in the supplied list. Value must be a JSON array of strings or numbers. Supported only for Task ID, Inner ID, and `task.data.*` fields.</li><br><li>`starts_with`<br> Starts with</li>
          - `type` string, required — Type of the filter value. Possible values:<br><li>`Boolean`<br> Boolean</li><br><li>`Datetime`<br> Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format</li><br><li>`List`<br> List of items</li><br><li>`Number`<br> Float or Integer</li><br><li>`String`<br> String</li><br><li>`Unknown`<br> Unknown is explicitly converted to string format</li>
          - `value` union, required — Value to filter by
            - object — Dictionary is used for some operator types, e.g. `in` and `not_in`
            - object — List of strings or integers. Used by the `in_list` and `not_in_list` operators, e.g. `[1, 2, 3]` or `["a", "b"]`.
        - `filter` 'filter:tasks:agreement' | 'filter:tasks:annotations_results' | 'filter:tasks:annotators' | 'filter:tasks:cancelled_annotations' | 'filter:tasks:comments' | 'filter:tasks:completed_at' | 'filter:tasks:created_at' | 'filter:tasks:file_upload' | 'filter:tasks:ground_truth' | 'filter:tasks:id' | 'filter:tasks:inner_id' | 'filter:tasks:predictions_model_versions' | 'filter:tasks:predictions_results' | 'filter:tasks:predictions_score' | 'filter:tasks:reviewed' | 'filter:tasks:reviewers' | 'filter:tasks:reviews_accepted' | 'filter:tasks:reviews_rejected' | 'filter:tasks:total_annotations' | 'filter:tasks:total_predictions' | 'filter:tasks:unresolved_comment_count' | 'filter:tasks:updated_at', required — Filter identifier, it should start with `filter:tasks:` prefix, e.g. `filter:tasks:agreement`. For `task.data` fields it may look like `filter:tasks:data.field_name`. If you need more info about columns, check the [Get data manager columns](api:GET/api/dm/columns/) API endpoint. Possible values:<br><li>`filter:tasks:agreement`<br> (Number) Agreement for annotation results for a specific task (Enterprise only)</li><br><li>`filter:tasks:annotations_results`<br> (String) Annotation results for the tasks</li><br><li>`filter:tasks:annotators`<br> (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:cancelled_annotations`<br> (Number) Number of cancelled or skipped annotations for the task</li><br><li>`filter:tasks:comments`<br> (Number) Number of comments in a task</li><br><li>`filter:tasks:completed_at`<br> (Datetime) Time when a task was fully annotated</li><br><li>`filter:tasks:created_at`<br> (Datetime) Time the task was created at</li><br><li>`filter:tasks:file_upload`<br> (String) Name of the file uploaded to create the tasks</li><br><li>`filter:tasks:ground_truth`<br> (Boolean) Ground truth status of the tasks</li><br><li>`filter:tasks:id`<br> (Number) Task ID</li><br><li>`filter:tasks:inner_id`<br> (Number) Task Inner ID, it starts from 1 for all projects</li><br><li>`filter:tasks:predictions_model_versions`<br> (String) Model version used for the predictions</li><br><li>`filter:tasks:predictions_results`<br> (String) Prediction results for the tasks</li><br><li>`filter:tasks:predictions_score`<br> (Number) Prediction score for the task</li><br><li>`filter:tasks:reviewed`<br> (Boolean) Whether the tasks have been reviewed (Enterprise only)</li><br><li>`filter:tasks:reviewers`<br> (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer</li><br><li>`filter:tasks:reviews_accepted`<br> (Number) Number of annotations accepted for a task in review (Enterprise only)</li><br><li>`filter:tasks:reviews_rejected`<br> (Number) Number of annotations rejected for a task in review (Enterprise only)</li><br><li>`filter:tasks:total_annotations`<br> (Number) Total number of annotations on a task</li><br><li>`filter:tasks:total_predictions`<br> (Number) Total number of predictions for the task</li><br><li>`filter:tasks:unresolved_comment_count`<br> (Number) Number of unresolved comments in a task</li><br><li>`filter:tasks:updated_at`<br> (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)</li>
        - `operator` 'contains' | 'ends_with' | 'equal' | 'exists' | 'greater' | 'greater_or_equal' | 'in' | 'in_list' | 'less' | 'less_or_equal' | 'not_contains' | 'not_equal' | 'not_exists' | 'not_in' | 'not_in_list' | 'starts_with', required — Filter operator. Possible values:<br><li>`contains`<br> Contains</li><br><li>`ends_with`<br> Ends with</li><br><li>`equal`<br> Equal to</li><br><li>`exists`<br> Exists</li><br><li>`greater`<br> Greater than</li><br><li>`greater_or_equal`<br> Greater than or equal to</li><br><li>`in`<br> Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`</li><br><li>`in_list`<br> Field value is one of the items in the supplied list. Value must be a JSON array of strings or numbers, e.g. `[1, 2, 3]` or `["a", "b"]`. Supported only for Task ID, Inner ID, and `task.data.*` fields.</li><br><li>`less`<br> Less than</li><br><li>`less_or_equal`<br> Less than or equal to</li><br><li>`not_contains`<br> Does not contain</li><br><li>`not_equal`<br> Not equal to</li><br><li>`not_exists`<br> Does not exist</li><br><li>`not_in`<br> Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`</li><br><li>`not_in_list`<br> Field value is NOT in the supplied list. Value must be a JSON array of strings or numbers. Supported only for Task ID, Inner ID, and `task.data.*` fields.</li><br><li>`starts_with`<br> Starts with</li>
        - `type` string, required — Type of the filter value. Possible values:<br><li>`Boolean`<br> Boolean</li><br><li>`Datetime`<br> Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format</li><br><li>`List`<br> List of items</li><br><li>`Number`<br> Float or Integer</li><br><li>`String`<br> String</li><br><li>`Unknown`<br> Unknown is explicitly converted to string format</li>
        - `value` union, required — Value to filter by
          - object — Dictionary is used for some operator types, e.g. `in` and `not_in`
          - object — List of strings or integers. Used by the `in_list` and `not_in_list` operators, e.g. `[1, 2, 3]` or `["a", "b"]`.
    - `ordering` string[] — List of fields to order by. Fields are similar to filters but without the `filter:` prefix. To reverse the order, add a minus sign before the field name, e.g. `-tasks:created_at`.
  - `project` integer — Project ID

## Response `200`

- View
  - `data` unknown
  - `filter_group` FilterGroup
    - `conjunction` string, required — Type of conjunction
    - `filters` Filter[], required
      - `child_filters` ChildFilter[]
        - `column` string, required — Field name
        - `id` integer, required
        - `index` integer, nullable — Display order among root filters only
        - `operator` string, required — Filter operator
        - `parent` integer, nullable — Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent)
        - `type` string, required — Field type
        - `value` unknown
      - `column` string, required — Field name
      - `id` integer, required
      - `index` integer, nullable — Display order among root filters only
      - `operator` string, required — Filter operator
      - `parent` integer, nullable — Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent)
      - `type` string, required — Field type
      - `value` unknown
    - `id` integer, required
  - `id` integer, required
  - `is_locked` boolean, nullable — Whether this data manager tab is locked against configuration changes
  - `locked_at` string, date-time, nullable — Time when this view was locked
  - `locked_by` object, nullable, required
    - `email` string, email
    - `id` integer
    - `name` string
  - `order` integer, nullable — Position of the tab, starting at the left in data manager and increasing as the tabs go left to right
  - `ordering` unknown
  - `project` integer, required — Project ID
  - `selected_items` unknown
  - `user` integer, nullable — User who made this view

---

[API](https://skmtc.net/humansignal/apis/label-studio-api.md) · [All operations](https://skmtc.net/humansignal/apis/label-studio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/humansignal/label-studio-api/versions/1b113b8df950/schema)
