---
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/create-filter.md
  - https://yandex.ru/support/tracker/ru/api/filters/create-filter.md
  - href: ru/api/filters/create-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 method_post yfm-clipboard">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/filters/</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 -->

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

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

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

```json
POST /v3/filters/
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 "Параметры тела запроса" %}

Тело запроса содержит информацию, необходимую для создания нового фильтра:

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

Параметр | Описание | Тип данных
----- | ----- | -----
name | Название фильтра. | Строка

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

#|
|| **Параметр** | **Описание** | **Тип данных** ||
|| [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-метод POST.
> - Создается фильтр с названием «Мои открытые задачи».
> - **Объект `filter`:** отбирает задачи по двум условиям одновременно (логическое И):
>   - Статус — открытые задачи (`open`)
>   - Исполнитель — текущий пользователь (`me()`)
>
> ```json
> POST /v3/filters/ HTTP/1.1
> Host: api.tracker.yandex.net
> Authorization: OAuth y0__xAbc******
> Content-Type: application/json
> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
>
> {
>     "name": "Мои открытые задачи",
>     "filter": {
>         "status": "open",
>         "assignee": "me()"
>     }
> }
> ```

> Пример 2: Создать фильтр с условием, сортировкой и выбором полей
>
> - Используется HTTP-метод POST.
> - Создается фильтр с названием «Открытые задачи».
> - **Объект `filter`:** отбирает только задачи со статусом `open`.
> - **Параметр `sorts`:** результаты сортируются по дате создания (от новых к старым).
> - **Параметр `fields`:** в UI будут отображаться только три поля — `key`, `summary` и `status`. Остальные поля задачи будут скрыты в интерфейсе.
>
> ```json
> POST /v3/filters/ HTTP/1.1
> Host: api.tracker.yandex.net
> Authorization: OAuth y0__xAbc******
> Content-Type: application/json
> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
>
> {
>     "name": "Открытые задачи",
>     "filter": {
>         "status": "open"
>     },
>     "sorts": [
>         {
>             "field": "created",
>             "isAscending": false
>         }
>     ],
>     "fields": ["key", "summary", "status"]
> }
> ```

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

{% list tabs %}

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

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

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

    ```json
    {
        "id": 12345,
        "self": "https://api.tracker.yandex.net/v3/filters/12345",
        "name": "Мои открытые задачи",
        "filter": {
            "assignee": "me()",
            "status": "open"
        },
        "favorite": false,
        "permissions": {
            "READ": {
                "users": [],
                "groups": [
                    {
                        "self": "https://api.tracker.yandex.net/v3/groups/5",
                        "id": "5",
                        "display": "Все сотрудники"
                    }
                ],
                "roles": []
            },
            "WRITE": {
                "users": [
                    {
                        "self": "https://api.tracker.yandex.net/v3/users/1234567890",
                        "id": "1234567890",
                        "display": "Имя Фамилия",
                        "cloudUid": "ajevuhegoiuhfasjhiu",
                        "passportUid": 1234567890
                    }
                ],
                "groups": [],
                "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) | Объект с условиями фильтрации. | Объект
    query | Строка с условиями фильтрации, записанными на языке запросов. | Строка
    favorite | Признак избранного фильтра: `true` — фильтр добавлен в избранное, `false` — не добавлен. | Логический
    [permissions](#permissions) | Объект с информацией о правах доступа к фильтру. | Объект
    [owner](#owner) | Объект с информацией о владельце фильтра. | Объект

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

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

    **Поля объектов** `READ` и `WRITE` {#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 -->

{% endlist %}
