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

# Update view

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

Update view data with additional filters and other information for a specific project.

## Path parameters

- `id` string, required

## Request body

- object
  - `data` object — Custom view data
    - `filters` object — 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 — Logical conjunction for the filters. This conjunction (either "or" or "and") will be applied to all items in the filters list. It is not possible to combine "or" and "and" within one list of filters. All filters will be either combined with "or" or with "and", but not a mix of both.
      - `items` object[], required — List of filter items
        - `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_filter` 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

## Changes

- **2026-07-16** `4005021a10e7` — 1 breaking, 5 info
  - the `locked_by` response's property type/format changed from `integer`/`` to `object`/`` for status `200`
  - added the optional property `locked_by/email` to the response with the `200` status
  - added the optional property `locked_by/id` to the response with the `200` status
  - added the optional property `locked_by/name` to the response with the `200` status
  - …2 more
- **2026-07-14** `b45b0029f79f` — 3 info
  - added the optional property `is_locked` to the response with the `200` status
  - added the optional property `locked_at` to the response with the `200` status
  - added the optional property `locked_by` to the response with the `200` status
- **2026-05-18** `c80722dcb684` — 2 info
  - added the new `in_list` enum value to the request property `data/filters/items/items/operator`
  - added the new `not_in_list` enum value to the request property `data/filters/items/items/operator`

[Change history](https://skmtc.dev/humansignal/apis/label-studio-api/changes/api/dm/views/:id/patch.md)

---

[API](https://skmtc.dev/humansignal/apis/label-studio-api.md) · [All operations](https://skmtc.dev/humansignal/apis/label-studio-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/humansignal/label-studio-api/revisions/d5d4ab7eb2bd/schema)
