---
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/queues/workflows/patch-workflow.md
  - https://yandex.ru/support/tracker/ru/api/queues/workflows/patch-workflow.md
  - href: ru/api/queues/workflows/patch-workflow.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_patch yfm-clipboard">
    <p>PATCH</p>
    <pre><code>https://api.tracker.yandex.net/v3/workflows/&lt;id>?version=&lt;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`. В теле запроса укажите только те параметры, которые требуется изменить. Текущую версию рабочего процесса передайте в query-параметре `version` или заголовке `If-Match`.

```json translate=no
PATCH /v3/workflows/<id>?version=<version>
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
Content-Type: application/json
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
    "name": "Updated process",
    "type": "VISUAL",
    "initialAction": {
        "id": "open",
        "name": { "ru": "Открыть", "en": "Open" },
        "target": "open"
    },
    "steps": [
        {
            "status": "open",
            "actions": [
                {
                    "id": "inProgress",
                    "name": { "ru": "Взять в работу", "en": "Start progress" },
                    "target": "inProgress"
                }
            ]
        },
        {
            "status": "inProgress",
            "actions": [
                {
                    "id": "close",
                    "name": { "ru": "Закрыть", "en": "Close" },
                    "target": "closed"
                }
            ]
        },
        {
            "status": "closed",
            "actions": []
        }
    ]
}
```

<!-- 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\> | Идентификатор рабочего процесса. | Строка
\<version\> | Версия рабочего процесса. Используется для предотвращения конфликтов при одновременном изменении. Текущую версию можно узнать с помощью [запроса на получение рабочего процесса](get-workflow.md). Вместо query-параметра можно использовать заголовок `If-Match`. | Число

{% endcut %}

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

Параметр | Описание | Тип данных | Обязательный
----- | ----- | ----- | -----
name | Новое название рабочего процесса. | Строка | Нет
type | Тип рабочего процесса. Сейчас доступен тип `visual`. В запросе используйте значение `VISUAL`. В ответе API возвращает `visual`. У созданных ранее рабочих процессов поле может отсутствовать. | Строка | Нет
[initialAction](post-workflow.md#action-fields) | Новое начальное действие. Структура объекта описана в разделе [Создать рабочий процесс](post-workflow.md#action-fields). | Объект | Нет
[steps](post-workflow.md#step-fields) | Обновленный массив шагов рабочего процесса. Структура объектов описана в разделе [Создать рабочий процесс](post-workflow.md#step-fields). | Массив объектов | Нет
issueTypeResolutions | Массив с настройками резолюций для типов задач. | Массив объектов | Нет

{% endcut %}

> Пример: Изменить рабочий процесс `W21` — задать новое название и обновить шаги с переходами на тестирование и завершение (версия `3`)
>
> ```json
> PATCH /v3/workflows/W21?version=3
> Host: api.tracker.yandex.net
> Authorization: OAuth y0__xAbc******
> Content-Type: application/json
> X-Org-ID: 1234******
>
> {
>     "name": "QA process",
>     "initialAction": {
>         "id": "new",
>         "name": { "ru": "Создать", "en": "Create" },
>         "target": "new"
>     },
>     "steps": [
>         {
>             "status": "new",
>             "actions": [
>                 {
>                     "id": "needInfo",
>                     "name": { "ru": "Отправить на тестирование", "en": "Send to testing" },
>                     "target": "testing"
>                 }
>             ]
>         },
>         {
>             "status": "testing",
>             "actions": [
>                 {
>                     "id": "resolved",
>                     "name": { "ru": "Завершить", "en": "Resolve" },
>                     "target": "resolved"
>                 }
>             ]
>         },
>         {
>             "status": "resolved",
>             "actions": []
>         }
>     ]
> }
> ```

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

{% list tabs %}

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

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

  Тело ответа содержит информацию об измененном рабочем процессе в формате JSON. При каждом изменении значение поля `version` увеличивается.

  Незаполненные необязательные поля API не возвращает в ответе. Например, `queue`, `type`, `createdBy` и `updatedBy`.

    ```json translate=no
    {
        "self": "https://api.tracker.yandex.net/v3/workflows/W21",
        "id": "W21",
        "name": "Updated process",
        "version": 2,
        "steps": [
            {
                "status": {
                    "self": "https://api.tracker.yandex.net/v3/statuses/1",
                    "id": "1",
                    "key": "open",
                    "display": "Открыт"
                },
                "actions": [
                    {
                        "id": "inProgress",
                        "name": "Взять в работу",
                        "target": {
                            "self": "https://api.tracker.yandex.net/v3/statuses/3",
                            "id": "3",
                            "key": "inProgress",
                            "display": "В работе"
                        }
                    }
                ]
            },
            {
                "status": {
                    "self": "https://api.tracker.yandex.net/v3/statuses/3",
                    "id": "3",
                    "key": "inProgress",
                    "display": "В работе"
                },
                "actions": [
                    {
                        "id": "close",
                        "name": "Закрыть",
                        "target": {
                            "self": "https://api.tracker.yandex.net/v3/statuses/8",
                            "id": "8",
                            "key": "closed",
                            "display": "Закрыт"
                        }
                    }
                ]
            },
            {
                "status": {
                    "self": "https://api.tracker.yandex.net/v3/statuses/8",
                    "id": "8",
                    "key": "closed",
                    "display": "Закрыт"
                }
            }
        ],
        "initialAction": {
            "id": "open",
            "name": "Открыть",
            "target": {
                "self": "https://api.tracker.yandex.net/v3/statuses/1",
                "id": "1",
                "key": "open",
                "display": "Открыт"
            }
        },
        "queue": {
            "self": "https://api.tracker.yandex.net/v3/queues/DESIGN",
            "id": "4",
            "key": "DESIGN",
            "display": "DESIGN"
        },
        "created": "2026-08-11T14:37:06.356+0000",
        "updated": "2026-08-11T15:10:00.000+0000",
        "createdBy": {
            "self": "https://api.tracker.yandex.net/v3/users/11********",
            "id": "11********",
            "display": "Имя Фамилия",
            "cloudUid": "ajeppa7dgp53********",
            "passportUid": 1100000000
        },
        "updatedBy": {
            "self": "https://api.tracker.yandex.net/v3/users/11********",
            "id": "11********",
            "display": "Имя Фамилия",
            "cloudUid": "ajeppa7dgp53********",
            "passportUid": 1100000000
        },
        "deleted": false,
        "type": "visual"
    }
    ```

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

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Ссылка на рабочий процесс. | Строка
    id | Идентификатор рабочего процесса. | Строка
    name | Название рабочего процесса. | Строка
    version | Версия рабочего процесса. Каждое изменение увеличивает номер версии. | Число
    [steps](#steps-response) | Массив шагов рабочего процесса. | Массив объектов
    [initialAction](#action-response) | Начальное действие. | Объект
    [queue](#queue-response) | Очередь, к которой привязан рабочий процесс. | Объект
    created | Дата и время создания. | Строка
    updated | Дата и время последнего изменения. | Строка
    [createdBy](#user-response) | Автор рабочего процесса. | Объект
    [updatedBy](#user-response) | Пользователь, последним изменивший рабочий процесс. | Объект
    deleted | Признак удаленного рабочего процесса. | Логический
    type | Тип рабочего процесса. Сейчас единственное значение — `visual`. У созданных ранее рабочих процессов поле может отсутствовать. | Строка

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

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    [status](#status-response) | Статус шага. | Объект
    [actions](#action-response) | Массив действий (переходов), доступных из этого статуса. | Массив объектов

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

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Ссылка на статус. | Строка
    id | Идентификатор статуса. | Строка
    key | Ключ статуса. | Строка
    display | Отображаемое название статуса. | Строка

    **Поля объектов** `action` и `initialAction` {#action-response}

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    id | Идентификатор действия. | Строка
    name | Название действия. | Строка
    [target](#target-response) | Целевой статус, в который переводит действие. | Объект

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

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Ссылка на статус. | Строка
    id | Идентификатор статуса. | Строка
    key | Ключ статуса. | Строка
    display | Отображаемое название статуса. | Строка

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

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Ссылка на очередь. | Строка
    id | Идентификатор очереди. | Строка
    key | Ключ очереди. | Строка
    display | Отображаемое название очереди. | Строка

    **Поля объекта пользователя** (`createdBy`, `updatedBy`) {#user-response}

    Параметр | Описание | Тип данных
    ----- | ----- | -----
    self | Ссылка на пользователя. | Строка
    id | Идентификатор пользователя. | Строка
    display | Отображаемое имя пользователя. | Строка
    cloudUid | Уникальный идентификатор пользователя в Яндекс Облаке. | Строка
    passportUid | Уникальный идентификатор аккаунта пользователя в Яндекс Паспорте. | Число

    {% endcut %}

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

    Если запрос не был успешно обработан, ответное сообщение содержит информацию о возникших ошибках:

    <!-- 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 -->

    <!-- 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-428.md -->
    428
    :   Доступ к ресурсу отклонен. Проверьте, указаны ли все обязательные условия выполнения запроса. 
    <!-- endsource: ru/api/_includes/answer-error-428.md -->

{% endlist %}
