---
metadata:
  - name: generator
    content: Diplodoc Platform v5.57.3
  - property: og:type
    content: article
  - property: article:section
    content: Справочник API
  - property: og:title
    content: Редактировать фильтр
  - property: article:tag
    content: Техническая инструкция
alternate:
  - https://yandex.ru/support/tracker/en/api/filters/update-filter.md
  - https://yandex.ru/support/tracker/ru/api/filters/update-filter.md
  - href: ru/api/filters/update-filter.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt


# Редактировать фильтр

Запрос позволяет изменить параметры фильтра задач.

<div class="request_example yfm-code-floating-container method_patch">
    <p>PATCH</p>
    <pre><code>https://api.tracker.yandex.net/v3/filters/&lt;id_фильтра></code></pre>
    <button class="yfm-clipboard-button"><svg width="16" height="16" viewBox="0 0 24 24" class="yfm-clipboard-icon" data-animation="15">
    <path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path>
    <path stroke="currentColor" fill="transparent" strokewidth="1.5" d="M9.5 13l3 3l5 -5" visibility="hidden">
        <animate id="visibileAnimation-15" attributeName="visibility" from="hidden" to="visible" dur="0.2s" fill="freeze" begin=""></animate>
        <animate id="hideAnimation-15" attributeName="visibility" from="visible" to="hidden" dur="1s" begin="visibileAnimation-15.end+1" fill="freeze"></animate>
    </path>
</svg>
</button>
</div>

<!-- source: ru/api/_assets/style/methods.md -->

<!-- endsource: ru/api/_assets/style/methods.md -->

{% note warning %}

При редактировании фильтра параметр `filter` заменяется полностью, а не обновляется частично. Если вам нужно сохранить существующие условия фильтрации и добавить новые, передайте в запросе все условия — и старые, и новые.

{% endnote %}

## Формат запроса {#query}

Перед выполнением запроса [получите доступ к API](https://yandex.ru/support/tracker/ru/api/access.md).

Чтобы отредактировать фильтр, используйте HTTP-запрос с методом `PATCH`. В теле запроса укажите параметры в формате JSON.

```json
PATCH /v3/filters/<id_фильтра>
Host: api.tracker.yandex.net
Authorization: OAuth y0__xAbc******
Content-Type: application/json
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
    "name": "<новое_название_фильтра>",
    "filter": {
        "status": "open"
    }
}
```

<!-- source: ru/api/_includes/headings.md -->
{% cut "Заголовки" %}

* `Host`: адрес узла, предоставляющего API.

* <!-- source: ru/api/_includes/authorization.md -->
  `Authorization`: токен для авторизации в одном из форматов:

    - `OAuth <OAuth-токен>` при авторизации по протоколу OAuth 2.0. [Читать подробнее](https://yandex.ru/support/tracker/ru/api/access.md#about_OAuth)

    - `Bearer <IAM-токен>` при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Identity Hub. [Читать подробнее](https://yandex.ru/support/tracker/ru/api/access.md#iam-token)
  <!-- endsource: ru/api/_includes/authorization.md -->

* <!-- source: ru/api/_includes/content-type-json.md -->
  `Content-Type`: формат тела запроса. Должен иметь значение `application/json`.
  <!-- endsource: ru/api/_includes/content-type-json.md -->


* <!-- source: ru/api/_includes/org-id.md -->
  `X-Org-ID` или `X-Cloud-Org-ID`: идентификатор организации.

  - если к Трекеру привязана организация Яндекс 360 для бизнеса, используйте заголовок `X-Org-ID`,

  - если к Трекеру привязана организация Yandex Identity Hub, используйте заголовок `X-Cloud-Org-ID`.
  <!-- endsource: ru/api/_includes/org-id.md -->

  <!-- source: ru/api/_includes/org-id.md -->
  Чтобы узнать идентификатор организации, перейдите на страницу **Администрирование** → [**Организации**](https://tracker.yandex.ru/admin/orgs) и скопируйте значение поля **идентификатор**.
  <!-- endsource: ru/api/_includes/org-id.md -->


{% endcut %}
<!-- endsource: ru/api/_includes/headings.md -->

{% cut "Параметры запроса" %}

**Обязательные параметры**

Параметр | Описание | Тип данных
----- | ----- | -----
\<id_фильтра\> | Идентификатор фильтра. | Число

{% endcut %}

{% cut "Параметры тела запроса" %}

В теле запроса передается JSON-объект с изменяемыми параметрами фильтра.

**Дополнительные параметры**

#|
|| **Параметр** | **Описание** | **Тип данных** ||
|| [filter](#filter) | Объект с параметрами фильтрации, определяет **условия отбора задач** — какие задачи попадут в результат фильтрации. Ключи объекта — это имена полей задачи, значения — условия фильтрации для этих полей.

Полный список поддерживаемых параметров можно найти на странице [https://tracker.yandex.ru/admin/fields](https://tracker.yandex.ru/admin/fields).

Примеры значений для разных типов полей:
- **Текстовые поля и пользователи:** `"assignee": "me()"`, `"assignee": "userlogin"`, `"createdBy": "username"`
- **Статусы и перечисления:** `"status": "open"` или массив `"status": ["open", "inProgress"]`
- **Даты:** `"created": "2024-01-01..2024-12-31"` (диапазон дат) | Объект ||
|| query |  Условия фильтра в виде [языка запросов](https://yandex.ru/support/tracker/user/query-filter.html). | Строка ||
|| fields | Список полей задачи для отображения в пользовательском интерфейсе Tracker. Например: `["key", "summary", "status", "assignee", "priority", "created", "updated"]`.

Параметр `fields` влияет только на отображение в интерфейсе Tracker, но не влияет на результаты API-запросов. При использовании фильтра через API (метод `/v2/issues/_search`) возвращаются поля задачи в зависимости от параметров, переданных при вызове метода `_search`.| Массив строк ||
|| [sorts](#sorts) | Массив объектов для сортировки результатов. | Массив объектов ||
|| groupBy | Поле для группировки результатов. | Строка или объект ||
|| folder | Папка, в которой будет сохранен фильтр. | Строка или объект ||
|#

{% note info %}

Вы можете использовать либо параметр `query`, либо `filter`. Использование обоих параметров одновременно не поддерживается.

{% endnote %}

**Поля объекта** `sorts` {#sorts}

Параметр | Описание | Тип данных
----- | ----- | -----
field | Ключ поля задачи, по которому выполняется сортировка. | Строка
isAscending | Направление сортировки: `true` — по возрастанию, `false` — по убыванию. | Логический

{% endcut %}

> Пример 1: Изменить название фильтра
>
> - Используется HTTP-метод PATCH.
> - Редактируется фильтр с идентификатором 12345.
> - Изменяется только параметр `name` — название фильтра.
> - **Объект `filter`:** не указан, поэтому условия фильтрации остаются без изменений.
>
> ```json
> PATCH /v3/filters/12345 HTTP/1.1
> Host: api.tracker.yandex.net
> Authorization: OAuth y0__xAbc******
> Content-Type: application/json
> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
>
> {
>     "name": "Новое название фильтра"
> }
> ```

> Пример 2: Изменить условия фильтрации
>
> - Используется HTTP-метод PATCH.
> - Редактируется фильтр с идентификатором 12345.
> - **Цель:** изменить фильтр так, чтобы он показывал задачи с высоким приоритетом, назначенные на текущего пользователя.
> - **Объект `filter`:** устанавливаются два новых условия:
>   - Приоритет — критический (`critical`)
>   - Исполнитель — текущий пользователь (`me()`)
> - **Важно:** параметр `filter` заменяет условия полностью. Все предыдущие условия фильтрации будут удалены.
>
> ```json translate=no
> PATCH /v3/filters/12345 HTTP/1.1
> Host: api.tracker.yandex.net
> Authorization: OAuth y0__xAbc******
> Content-Type: application/json
> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
>
> {
>     "filter": {
>         "priority": "critical",
>         "assignee": "me()"
>     }
> }
> ```

> Пример 3: Добавить сортировку по приоритету
>
> - Используется HTTP-метод PATCH.
> - Редактируется фильтр с идентификатором 12345.
> - **Цель:** добавить сортировку по приоритету (от высокого к низкому) к существующему фильтру.
> - **Параметр `sorts`:** добавляется сортировка результатов по полю `priority` в порядке убывания (`isAscending: false`).
> - **Примечание:** в этом примере не указан параметр `filter`, поэтому существующие условия фильтрации остаются без изменений. Изменяется только сортировка.
>
> ```json translate=no
> PATCH /v3/filters/12345 HTTP/1.1
> Host: api.tracker.yandex.net
> Authorization: OAuth y0__xAbc******
> Content-Type: application/json
> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
>
> {
>     "sorts": [
>         {
>             "field": "priority",
>             "isAscending": false
>         }
>     ]
> }
> ```

## Формат ответа {#answer}

{% list tabs %}

- Запрос выполнен успешно

    <!-- source: ru/api/_includes/answer-200.md -->
    В случае успешного выполнения запроса API возвращает ответ с кодом `200 OK`.
    <!-- endsource: ru/api/_includes/answer-200.md -->

    Тело ответа содержит информацию об обновленном фильтре в формате JSON.

    ```json
    {
        "id": 12345,
        "self": "https://api.tracker.yandex.net/v3/filters/12345",
        "name": "Новое название фильтра",
        "filter": {
            "assignee": "me()",
            "status": "open"
        },
        "sorts": [
            {
                "field": {
                    "self": "https://api.tracker.yandex.net/v3/fields/priority",
                    "id": "priority",
                    "display": "Приоритет"
                },
                "isAscending": false
            }
        ],
        "favorite": false,
        "permissions": {
            "WRITE": {
                "users": [
                    {
                        "self": "https://api.tracker.yandex.net/v3/users/1234567890",
                        "id": "1234567890",
                        "display": "Имя Фамилия",
                        "cloudUid": "ajevuhegoiuhfasjhiu",
                        "passportUid": 1234567890
                    }
                ],
                "groups": [],
                "roles": []
            },
            "READ": {
                "users": [],
                "groups": [
                    {
                        "self": "https://api.tracker.yandex.net/v3/groups/5",
                        "id": "5",
                        "display": "Все сотрудники"
                    }
                ],
                "roles": []
            }
        },
        "owner": {
            "self": "https://api.tracker.yandex.net/v3/users/1234567890",
            "id": "1234567890",
            "display": "Имя Фамилия",
            "cloudUid": "ajevuhegoiuhfasjhiu",
            "passportUid": 1234567890
        }
    }
    ```

    {% cut "Параметры ответа" %}

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    id | Идентификатор фильтра. | Число
    self | Адрес ресурса API, который содержит информацию о фильтре. | Строка
    name | Название фильтра. | Строка
    [filter](#filter-response) | Объект с условиями фильтрации. | Объект
    [sorts](#sorts-response) | Массив объектов для сортировки результатов. Возвращается, если для фильтра настроена сортировка. | Массив объектов
    favorite | Признак избранного фильтра: `true` — фильтр добавлен в избранное, `false` — не добавлен. | Логический
    [permissions](#permissions) | Объект с информацией о правах доступа к фильтру. | Объект
    [owner](#owner) | Объект с информацией о владельце фильтра. | Объект

    **Поля объектов массива** `sorts` {#sorts-response}

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    [field](#sort-field) | Объект с информацией о поле, по которому выполняется сортировка. | Объект
    isAscending | Направление сортировки: `true` — по возрастанию, `false` — по убыванию. | Логический

    **Поля объекта** `field` {#sort-field}

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Адрес ресурса API, который содержит информацию о поле. | Строка
    id | Идентификатор поля. | Строка
    display | Отображаемое название поля. | Строка

    **Поля объекта** `permissions` {#permissions}

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    [WRITE](#permission-item) | Объект с информацией о правах на редактирование фильтра. | Объект
    [READ](#permission-item) | Объект с информацией о правах на чтение фильтра. | Объект

    **Поля объектов** `WRITE` и `READ` {#permission-item}

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    users | Массив пользователей, у которых есть соответствующие права. | Массив объектов
    groups | Массив групп, у которых есть соответствующие права. | Массив объектов
    roles | Массив ролей, у которых есть соответствующие права. | Массив объектов

    **Поля объекта** `owner` {#owner}

    <!-- source: ru/api/_includes/user.md -->
    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Адрес ресурса API, который содержит информацию о пользователе. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка
    passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число
    cloudUid | Уникальный идентификатор пользователя в Yandex Identity Hub. | Строка
    <!-- endsource: ru/api/_includes/user.md -->

    {% endcut %}

- Запрос выполнен с ошибкой

    Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:

    <!-- source: ru/api/_includes/answer-error-400.md -->
    400
    :   Один или несколько параметров запроса имеют недопустимое значение.
    <!-- endsource: ru/api/_includes/answer-error-400.md -->

    <!-- source: ru/api/_includes/answer-error-401.md -->
    401
    :   Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе [Доступ к API](https://yandex.ru/support/tracker/ru/api/access.md).
    <!-- endsource: ru/api/_includes/answer-error-401.md -->

    <!-- source: ru/api/_includes/answer-error-403.md -->
    403
    :   У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
    <!-- endsource: ru/api/_includes/answer-error-403.md -->

    <!-- source: ru/api/_includes/answer-error-404.md -->
    404
    :   Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
    <!-- endsource: ru/api/_includes/answer-error-404.md -->

{% endlist %}
