---
metadata:
  - name: generator
    content: Diplodoc Platform v5.64.0
  - 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/dashboards/update-widget.md
  - https://yandex.ru/support/tracker/ru/api/dashboards/update-widget.md
  - href: https://yandex.ru/support/tracker/ru/api/dashboards/update-widget.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/support/tracker/ru/llms.txt?revision=r21880163
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt?revision=r21880163


# Обновить виджет

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

<div class="request_example yfm-code-floating-container method_patch">
    <p>PATCH</p>
    <pre><code>https://api.tracker.yandex.net/v3/widgets/{id_виджета}?version=WIDGET_VERSION</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-запрос с методом `PATCH`. В теле запроса укажите параметры в формате JSON.

```json translate=no
PATCH /v3/widgets/{id_виджета}?version=WIDGET_VERSION
Host: api.tracker.yandex.net
Authorization: OAuth API_TOKEN
Content-Type: application/json
X-Org-ID или X-Cloud-Org-ID: ИДЕНТИФИКАТОР_ОРГАНИЗАЦИИ

{
    "type": "filter",
    "description": "WIDGET_NAME",
    "perPage": 20,
    "fields": ["summary"],
    "filterParams": {
        "filter": {
            "author": "me()"
        }
    }
}
```

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

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

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

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

    - `Bearer IAM_TOKEN` при авторизации с помощью 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 -->

<!-- source: ru/api/_includes/resource-widget-id.md -->
{% cut "Ресурс" %}

#|
|| **Параметр** | **Описание** | **Тип данных** ||
|| id_виджета | Идентификатор виджета. | Число ||
|#

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

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

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

#|
|| **Параметр** | **Описание** | **Тип данных** ||
|| version | Текущая версия виджета. Передайте версию, полученную в ответе на запрос [Получить виджет](https://yandex.ru/support/tracker/ru/api/dashboards/get-widget.md) или [Создать виджет](https://yandex.ru/support/tracker/ru/api/dashboards/create-dashboard-widget.md). Каждое изменение виджета увеличивает номер версии. | Число ||
|#

{% endcut %}

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

Передайте `type` и только изменяемые поля. Непереданные поля сохраняют текущие значения. Таблицы ниже описывают поля каждого типа; обязательность указана для создания виджета.

#|
|| **Параметр** | **Описание** | **Тип данных** ||
|| type | Тип виджета. Должен совпадать с типом изменяемого виджета, иначе API вернет `404`. Допустимые значения:<ul><li>`info` — виджет «Полезные ссылки»;</li><li>`security` — виджет безопасности;</li><li>`filter` — виджет «Задачи»;</li><li>`created-vs-resolved` — график «Создано/Решено»;</li><li>`issues` — виджет «Статистика по задачам»;</li><li>`table-sum` — виджет «Сводная таблица с суммой»;</li><li>`table` — виджет «Сводная таблица»;</li><li>`time-since` — виджет «График событий»;</li><li>`note` — заметка;</li><li>`invite-links` — ссылки-приглашения;</li><li>`orgAdmin` — виджет «Информация для сотрудников»;</li><li>`burndown-chart` — диаграмма сгорания;</li><li>`cycle-time` — диаграмма времени цикла;</li><li>`flow` — диаграмма потока;</li><li>`velocity` — диаграмма скорости;</li><li>`goalFilter` — виджет «Цели»;</li><li>`projectPortfolioFilter` — виджет «Проекты и портфели».</li></ul> | Строка ||
|| description | Название виджета. Обязателен при создании и импорте. | Строка ||
|| color | Цвет виджета. Необязательный параметр. | Число ||
|| refresh | Период обновления виджета. Необязательный параметр. | Число ||
|#

<!-- source: ru/api/_includes/dashboard-widget-types.md -->
**Параметры типов виджетов**

Укажите поля из строки выбранного типа. Для создания и импорта параметры из второго столбца обязательны.

#|
|| **Тип виджета** | **Обязательные параметры** | **Необязательные параметры** ||
|| `info` | `subtype`: `links`, `presets`, `test_drive` | — ||
|| `security` | `fields`, `perPage` | `queues` ||
|| `filter` | `fields`, `perPage`, `filterParams` | — ||
|| `created-vs-resolved` | `filterParams` | `groupBy`, `daysCount`, `cumulative`, `unresolvedIssuesTrend`, `versions`: `all`, `main`, `none` ||
|| `issues` | `filterParams`, `field`, `perPage` | `orderBySum`, `orderAsc` ||
|| `table` | `filterParams`, `fieldX`, `fieldY`, `perPage` | `showSum`, `orderBySum`, `orderAsc` ||
|| `table-sum` | `filterParams`, `rowField`, `columnField`, `sumField`, `initialRowsLimit` | `showTotals`, `rowOrderAsc`, `columnOrderAsc` ||
|| `time-since` | `filterParams`, `field` | `groupBy`, `daysCount`, `cumulative` ||
|#

#|
|| **Параметр** | **Описание** ||
|| subtype | Подтип полезных ссылок: `links`, `presets` или `test_drive`. ||
|| fields | Отображаемые поля. Для виджетов задач см. [описание массива](#fields). ||
|| perPage | Число элементов на странице виджета. ||
|| queues | Очереди виджета безопасности. ||
|| filterParams | Параметры фильтрации задач. См. [описание объекта](#filterParams). ||
|| field | Поле группировки. ||
|| fieldX, fieldY | Поля осей таблицы. `fieldY` должно отличаться от `fieldX`. ||
|| rowField, columnField | Поля строк и столбцов. `columnField` должно отличаться от `rowField`. ||
|| sumField | Поле для расчета суммы. ||
|| initialRowsLimit | Начальное число строк: от 1 до 200. ||
|| showSum, showTotals | Отображение суммы и итогов. ||
|| orderBySum, orderAsc | Сортировка по сумме и по возрастанию. ||
|| rowOrderAsc, columnOrderAsc | Сортировка строк и столбцов по возрастанию. ||
|| groupBy | Группировка: `hour`, `day`, `week`, `month`, `quarter`, `year`. ||
|| daysCount | Период группировки. По умолчанию — 30. Максимум зависит от `groupBy`: `hour` — 10, `day` — 300, `week` — 1750, остальные — 3500. ||
|| cumulative | Накопительный режим графика. ||
|| unresolvedIssuesTrend | Отображение динамики нерешенных задач. ||
|| versions | Версии для графика «Создано/Решено»: `all`, `main`, `none`. ||
|#
<!-- endsource: ru/api/_includes/dashboard-widget-types.md -->

<!-- source: ru/api/_includes/dashboard-widget-charts.md -->
**Дополнительные типы для создания и изменения**

Эти типы доступны в запросах создания и изменения виджета. Импорт их не поддерживает.

#|
|| **Тип виджета** | **Обязательные параметры** | **Необязательные параметры** ||
|| `note` | `text`, `markupType`: `md`, `plain` | — ||
|| `burndown-chart` | `sprintId`, `withHolidays` | — ||
|| `goalFilter` | — | `filter`, `filterFieldsOrder`, `fields`, `perPage` ||
|| `projectPortfolioFilter` | — | `filter`, `filterFieldsOrder`, `fields`, `perPage` ||
|| `cycle-time` | — | `filter`, `query`, `filterId`, `fromStatuses`, `toStatuses`, `excludedStatuses`, `includedStatuses`, `forStatus`, `bucket`, `calendar`, `lines`, `mode`: `common-lines`, `common-lines-and-points`, `status-lines`, `autoUpdatable`, `start`, `end`, `targetY` ||
|| `flow` | — | `filter`, `query`, `filterId`, `bucket`, `showIssues`: `SHOW_ALL`, `HIDE`, `fullView`, `mode`: `precise`, `smooth`, `statusColors`, `autoUpdatable`, `start`, `end` ||
|| `velocity` | `calculationSettings` | `filter`, `query`, `filterId`, `bucket`, `autoUpdatable`, `start`, `end` ||
|#

Виджеты `invite-links` и `orgAdmin` используют только общие параметры `description`, `color` и `refresh`.

Для `goalFilter` параметр `fields` задает поля целей, для `projectPortfolioFilter` — поля проектов и портфелей. `perPage` принимает значения от 1 до 50.

Для `flow` и `velocity` передайте только один источник задач: `filter`, `query` или `filterId`.

#|
|| **Параметр** | **Описание** ||
|| text, markupType | Текст заметки и формат разметки: `md` или `plain`. ||
|| sprintId, withHolidays | Идентификатор спринта и признак учета нерабочих дней. ||
|| filterFieldsOrder | Порядок полей фильтра. ||
|| filter, query, filterId | Источник задач: фильтр, строка запроса или идентификатор сохраненного фильтра. ||
|| fromStatuses, toStatuses, excludedStatuses, includedStatuses, forStatus | Параметры статусов диаграммы времени цикла. ||
|| calendar | Календарь для расчета диаграммы. ||
|| autoUpdatable | Автоматическое обновление диаграммы. ||
|| targetY | Целевое значение диаграммы времени цикла. ||
|| fullView | Полный вид диаграммы потока. ||
|| bucket | Шаг группировки: `{"type": "days", "count": 1}`. Вместо `days` можно передать `weeks` или `months`. Для группировки по спринтам: `{"type": "sprints", "board": 123}`. По умолчанию: `{"type": "days", "count": 1}`. ||
|| start, end | Границы периода диаграммы: дата или выражение, например `now() - 3d`. `start` не может быть позже `end`. Здесь `start` задает начало периода диаграммы; в запросе импорта `start` задает дату создания виджета. ||
|| lines | Объект настроек линий `cycle-time`: логические `movingAverage` и `standardDeviation`, массив чисел `percentile` и число `cakePercentile`. ||
|| statusColors | Массив цветов статусов для `flow`, например `[{"status": "open", "color": "#00AA00"}]`. ||
|| calculationSettings | Объект настроек расчета скорости. Допустимые значения `type` перечислены ниже. ||
|#

**Поля объекта** `calculationSettings`

#|
|| **Значение type** | **Параметры** ||
|| `byCompletedTasks` | `toStatuses` ||
|| `byWorklog` | `toStatuses` ||
|| `byStatuses` | `statuses`, `calendar` ||
|| `byNumericField` | `valueField`, `toStatuses`, `strategy` ||
|#

Для `byStatuses` параметр `calendar` обязателен. Для `byNumericField` обязателен `valueField`: поле типа integer, long, float или длительность учета времени. `strategy` — объект с `type`: `byValueChangingSmooth` или `byValueChangingPrecise`, и логическим `byValueIncreasing`.

`planCalculationSettings` со значением `{"type": "byOriginalValue"}` внутри `calculationSettings` допустим только для `byCompletedTasks` и `byNumericField` с `bucket` типа `sprints`. Для `byNumericField` этот параметр несовместим с `"byValueIncreasing": true`.
<!-- endsource: ru/api/_includes/dashboard-widget-charts.md -->

**Элементы массива** `fields` {#fields}

Параметр `fields` определяет, какие поля задач будут отображаться в виджете. Каждый элемент массива — ключ поля задачи. Например, `["summary"]` — в виджете будет отображаться только колонка с названием задачи.

Примеры ключей стандартных полей задач:

#|
|| **Параметр** | **Описание** ||
|| key | Ключ задачи. ||
|| summary | Название задачи. ||
|| status | Статус задачи. ||
|| assignee | Исполнитель задачи. ||
|| priority | Приоритет задачи. ||
|| created | Дата создания задачи. ||
|| updated | Дата обновления задачи. ||
|#

Полный список полей задачи доступен в интерфейсе Трекера на странице **Администрирование** → **Поля** (`https://tracker.yandex.ru/admin/fields`). Список полей также можно получить через API — запрос [`GET /v3/fields`](https://yandex.ru/support/tracker/ru/api/issues/get-issue-fields.md).

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

#|
|| **Параметр** | **Описание** | **Тип данных** ||
|| filter | Фильтр задач по параметрам в формате `{"ПОЛЕ": "ЗНАЧЕНИЕ"}`. | Объект ||
|| query | Фильтр задач на [языке запросов](https://yandex.ru/support/tracker/user/query-filter.html). | Строка ||
|#

{% note info "" %}

Если в теле запроса одновременно указаны параметры `filter` и `query`, приоритетным источником задач будет `query` (язык запросов).

{% endnote %}

{% endcut %}

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

{% list tabs %}

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

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

    Тело ответа содержит JSON-объект с обновленными параметрами виджета.

    Набор полей зависит от типа виджета. Ниже приведен пример ответа для `filter`. Поля раскладки возвращает только запрос [Получить виджет](https://yandex.ru/support/tracker/ru/api/dashboards/get-widget.md).

    ```json translate=no
    {
        "id": 123456,
        "version": 2,
        "type": "filter",
        "self": "https://api.tracker.yandex.net/v3/widgets/123456",
        "dashboard": {
            "self": "https://api.tracker.yandex.net/v3/dashboards/18",
            "id": "18",
            "display": "Новый дашборд"
        },
        "createdBy": {
            "self": "https://api.tracker.yandex.net/v3/users/8000000000000007",
            "id": "11********",
            "display": "Имя Фамилия",
            "cloudUid": "ajeppa7dgp53********",
            "passportUid": 1100000000000000
        },
        "description": "new desc-2",
        "color": 0,
        "createdAt": "2026-08-27T10:34:30.363+0000",
        "fields": [
            {
                "self": "https://api.tracker.yandex.net/v3/fields/summary",
                "id": "summary",
                "name": "Задача",
                "key": "summary",
                "version": 0,
                "schema": {
                    "type": "string",
                    "required": true
                },
                "readonly": false,
                "options": false,
                "suggest": false,
                "queryProvider": {
                    "type": "SummaryQueryProvider"
                },
                "order": 6,
                "category": {
                    "self": "https://api.tracker.yandex.net/v3/fields/categories/000000000000000000000001",
                    "id": "000000000000000000000001",
                    "display": "Системные"
                },
                "type": "standard"
            }
        ],
        "perPage": 20,
        "filterParams": {
            "filter": {
                "author": "me()"
            }
        }
    }
    ```

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

    #|
    || **Параметр** | **Описание** | **Тип данных** ||
    || id | Идентификатор виджета. | Число ||
    || version | Версия виджета. Каждое изменение виджета увеличивает номер версии. | Число ||
    || type | Тип виджета. | Строка ||
    || self | Адрес ресурса API, который содержит параметры виджета. | Строка ||
    || [dashboard](#dashboard) | Объект с информацией о дашборде, на котором размещен виджет. | Объект ||
    || [createdBy](#user) | Объект с информацией о создателе виджета. | Объект ||
    || description | Название виджета. | Строка ||
    || text | Текст заметки. Возвращается для виджета `note`. | Строка ||
    || color | Служебный параметр. | Число ||
    || createdAt | Дата и время создания виджета в формате ```YYYY-MM-DDThh:mm:ss.sss±hhmm```. | Строка ||
    || [fields](#fields-answer) | Массив объектов с информацией о полях задач, отображаемых в виджете. | Массив объектов ||
    || perPage | Количество задач на одной странице виджета. | Число ||
    || [filterParams](#filterParams-answer) | Параметры фильтрации задач для виджета. | Объект ||
    |#

    **Поля объектов массивов** `fromStatuses` и `toStatuses` {#statuses}

    <!-- source: ru/api/_includes/status.md -->
    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Адрес ресурса API, который содержит информацию о статусе. | Строка
    id | Идентификатор статуса. | Строка
    key | Ключ статуса. | Строка
    display | Отображаемое название статуса. | Строка
    <!-- endsource: ru/api/_includes/status.md -->

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

    #|
    || **Параметр** | **Описание** | **Тип данных** ||
    || self | Адрес ресурса API, который содержит параметры дашборда. | Строка ||
    || id | Идентификатор дашборда. | Строка ||
    || display | Название дашборда. | Строка ||
    |#

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

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

    **Поля элементов массива** `fields` {#fields-answer}

    #|
    || **Параметр** | **Описание** | **Тип данных** ||
    || self | Адрес ресурса API, который содержит параметры поля. | Строка ||
    || id | Идентификатор поля. | Строка ||
    || name | Название поля. | Строка ||
    || key | Ключ поля. | Строка ||
    || version | Версия поля. | Число ||
    || [schema](#schema) | Схема поля. | Объект ||
    || readonly | Признак того, что поле доступно только для чтения. | Логический ||
    || options | Признак того, что поле имеет фиксированный набор значений. | Логический ||
    || suggest | Признак того, что для поля доступны подсказки. | Логический ||
    || [queryProvider](#queryProvider) | Провайдер запросов для поля. | Объект ||
    || order | Порядок отображения поля. | Число ||
    || [category](#category) | Категория поля. | Объект ||
    || type | Тип поля. | Строка ||
    |#

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

    #|
    || **Параметр** | **Описание** | **Тип данных** ||
    || type | Тип данных поля. | Строка ||
    || required | Признак того, что поле обязательно для заполнения. | Логический ||
    |#

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

    #|
    || **Параметр** | **Описание** | **Тип данных** ||
    || type | Тип провайдера запросов. | Строка ||
    |#

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

    #|
    || **Параметр** | **Описание** | **Тип данных** ||
    || self | Адрес ресурса API, который содержит параметры категории. | Строка ||
    || id | Идентификатор категории. | Строка ||
    || display | Название категории. | Строка ||
    |#

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

    #|
    || **Параметр** | **Описание** | **Тип данных** ||
    || filter | Фильтр задач по параметрам. | Объект ||
    || query | Фильтр задач на языке запросов, если он задан. | Строка ||
    |#

    {% 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-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 -->

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

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

    <!-- source: ru/api/_includes/answer-error-422.md -->
    422 
    :   Ошибка валидации JSON, запрос отклонен.
    <!-- endsource: ru/api/_includes/answer-error-422.md -->

    <!-- source: ru/api/_includes/answer-error-500.md -->
    500
    :   Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время.
    <!-- endsource: ru/api/_includes/answer-error-500.md -->

    <!-- source: ru/api/_includes/answer-error-503.md -->
    503
    :   Сервис API временно недоступен.    
    <!-- endsource: ru/api/_includes/answer-error-503.md -->

{% endlist %}
