Изменить рабочий процесс
Запрос позволяет изменить существующий рабочий процесс: название, начальное действие, шаги, тип и настройки резолюций для типов задач.
PATCH
https://api.tracker.yandex.net/v3/workflows/<id>?version=<version>
Формат запроса
Перед выполнением запроса получите доступ к API.
Чтобы изменить рабочий процесс, используйте HTTP-запрос с методом PATCH. В теле запроса укажите только те параметры, которые требуется изменить. Текущую версию рабочего процесса передайте в query-параметре version или заголовке If-Match.
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": []
}
]
}
Заголовки
-
Host: адрес узла, предоставляющего API. -
Authorization: токен для авторизации в одном из форматов:-
OAuth <OAuth-токен>при авторизации по протоколу OAuth 2.0. Читать подробнее -
Bearer <IAM-токен>при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Identity Hub. Читать подробнее
-
-
Content-Type: формат тела запроса. Должен иметь значениеapplication/json. -
X-Org-IDилиX-Cloud-Org-ID: идентификатор организации.-
если к Трекеру привязана организация Яндекс 360 для бизнеса, используйте заголовок
X-Org-ID, -
если к Трекеру привязана организация Yandex Identity Hub, используйте заголовок
X-Cloud-Org-ID.
Чтобы узнать идентификатор организации, перейдите на страницу Администрирование → Организации и скопируйте значение поля идентификатор.
-
Ресурс
| Параметр | Описание | Тип данных |
|---|---|---|
| <id> | Идентификатор рабочего процесса. | Строка |
| <version> | Версия рабочего процесса. Используется для предотвращения конфликтов при одновременном изменении. Текущую версию можно узнать с помощью запроса на получение рабочего процесса. Вместо query-параметра можно использовать заголовок If-Match. |
Число |
Параметры тела запроса
| Параметр | Описание | Тип данных | Обязательный |
|---|---|---|---|
| name | Новое название рабочего процесса. | Строка | Нет |
| type | Тип рабочего процесса. Сейчас доступен тип visual. В запросе используйте значение VISUAL. В ответе API возвращает visual. У созданных ранее рабочих процессов поле может отсутствовать. |
Строка | Нет |
| initialAction | Новое начальное действие. Структура объекта описана в разделе Создать рабочий процесс. | Объект | Нет |
| steps | Обновленный массив шагов рабочего процесса. Структура объектов описана в разделе Создать рабочий процесс. | Массив объектов | Нет |
| issueTypeResolutions | Массив с настройками резолюций для типов задач. | Массив объектов | Нет |
Пример: Изменить рабочий процесс
W21— задать новое название и обновить шаги с переходами на тестирование и завершение (версия3)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": [] } ] }
Формат ответа
В случае успешного выполнения запроса API возвращает ответ с кодом 200 OK.
Тело ответа содержит информацию об измененном рабочем процессе в формате JSON. При каждом изменении значение поля version увеличивается.
Незаполненные необязательные поля API не возвращает в ответе. Например, queue, type, createdBy и updatedBy.
{
"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"
}
Параметры ответа
| Параметр | Описание | Тип данных |
|---|---|---|
| self | Ссылка на рабочий процесс. | Строка |
| id | Идентификатор рабочего процесса. | Строка |
| name | Название рабочего процесса. | Строка |
| version | Версия рабочего процесса. Каждое изменение увеличивает номер версии. | Число |
| steps | Массив шагов рабочего процесса. | Массив объектов |
| initialAction | Начальное действие. | Объект |
| queue | Очередь, к которой привязан рабочий процесс. | Объект |
| created | Дата и время создания. | Строка |
| updated | Дата и время последнего изменения. | Строка |
| createdBy | Автор рабочего процесса. | Объект |
| updatedBy | Пользователь, последним изменивший рабочий процесс. | Объект |
| deleted | Признак удаленного рабочего процесса. | Логический |
| type | Тип рабочего процесса. Сейчас единственное значение — visual. У созданных ранее рабочих процессов поле может отсутствовать. |
Строка |
Поля объектов массива steps
| Параметр | Описание | Тип данных |
|---|---|---|
| status | Статус шага. | Объект |
| actions | Массив действий (переходов), доступных из этого статуса. | Массив объектов |
Поля объекта status
| Параметр | Описание | Тип данных |
|---|---|---|
| self | Ссылка на статус. | Строка |
| id | Идентификатор статуса. | Строка |
| key | Ключ статуса. | Строка |
| display | Отображаемое название статуса. | Строка |
Поля объектов action и initialAction
| Параметр | Описание | Тип данных |
|---|---|---|
| id | Идентификатор действия. | Строка |
| name | Название действия. | Строка |
| target | Целевой статус, в который переводит действие. | Объект |
Поля объекта target
| Параметр | Описание | Тип данных |
|---|---|---|
| self | Ссылка на статус. | Строка |
| id | Идентификатор статуса. | Строка |
| key | Ключ статуса. | Строка |
| display | Отображаемое название статуса. | Строка |
Поля объекта queue
| Параметр | Описание | Тип данных |
|---|---|---|
| self | Ссылка на очередь. | Строка |
| id | Идентификатор очереди. | Строка |
| key | Ключ очереди. | Строка |
| display | Отображаемое название очереди. | Строка |
Поля объекта пользователя (createdBy, updatedBy)
| Параметр | Описание | Тип данных |
|---|---|---|
| self | Ссылка на пользователя. | Строка |
| id | Идентификатор пользователя. | Строка |
| display | Отображаемое имя пользователя. | Строка |
| cloudUid | Уникальный идентификатор пользователя в Яндекс Облаке. | Строка |
| passportUid | Уникальный идентификатор аккаунта пользователя в Яндекс Паспорте. | Число |
Если запрос не был успешно обработан, ответное сообщение содержит информацию о возникших ошибках:
- 400
- Один или несколько параметров запроса имеют недопустимое значение.
- 401
- Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе Доступ к API.
- 403
- У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
- 404
- Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
- 412
- При редактировании объекта возник конфликт. Возможно, ошибка возникла из-за неправильно указанной версии изменений.
- 422
- Ошибка валидации JSON, запрос отклонен.
- 428
- Доступ к ресурсу отклонен. Проверьте, указаны ли все обязательные условия выполнения запроса.