[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Factivities\u002Fconfigurable\u002Fupdate":3,"docs-tabs-entities\u002Factivities\u002Fconfigurable\u002Fupdate":6},{"content":4,"lastmod":5},"\n## Обновить дело\n\n`PATCH \u002Fv1\u002Factivity-configurable\u002F:id`\n\nПерезаписывает конфигурируемое дело. `fields` и `layout` передаются целиком — метод заменяет дело, а не обновляет отдельные поля. Незаданные значения сбрасываются.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID дела. Получен при создании |\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| **`fields`** | object | да | Поля дела |\n| `fields.typeId` | string | нет | Тип дела. По умолчанию `CONFIGURABLE` |\n| `fields.completed` | boolean | нет | Дело закрыто. Принимает `true`\u002F`false`, `1`\u002F`0`, `Y`\u002F`N` |\n| `fields.deadline` | string | нет | Крайний срок исполнения, ISO 8601. Несовместим с `fields.isIncomingChannel` |\n| `fields.pingOffsets` | number[] | нет | Смещения в минутах относительно `fields.deadline`, в которые формируются напоминания |\n| `fields.isIncomingChannel` | boolean | нет | Дело создано из входящего канала. Принимает `true`\u002F`false`, `1`\u002F`0`, `Y`\u002F`N` |\n| `fields.responsibleId` | number | нет | ID ответственного сотрудника. Список: `GET \u002Fv1\u002Fusers` |\n| `fields.badgeCode` | string | нет | Код значка дела на канбане |\n| `fields.originatorId` | string | нет | ID внешнего источника данных |\n| `fields.originId` | string | нет | ID записи во внешнем источнике |\n| **`layout`** | object | да | Оформление дела |\n| `layout.icon.code` | string | да | Код иконки дела |\n| `layout.header.title` | string | да | Заголовок дела |\n| `layout.body.logo.code` | string | да | Код логотипа в теле. Тело без `logo` Битрикс24 отклоняет |\n| `layout.body.blocks` | object | нет | Именованные блоки тела |\n| `layout.footer.buttons` | object | нет | Кнопки футера |\n\nБлок в `layout.body.blocks` имеет `type` и `properties`. Основные типы блоков:\n\n- `text` — значение\n- `link` — ссылка с действием\n- `lineOfBlocks` — строка из вложенных блоков\n- `withTitle` — блок с подписью\n\nДействие у ссылок и кнопок задаёт поле `type`:\n\n- `redirect` — переход по адресу из поля `uri`\n- `openRestApp` — открытие приложения с параметрами `actionParams`\n- `restEvent` — событие приложению по `id`, для пунктов меню\n\n## Примеры\n\nПримеры приведены только для OAuth-приложения.\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X PATCH https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Factivity-configurable\u002F8053 \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"fields\": { \"typeId\": \"CONFIGURABLE\", \"completed\": true, \"responsibleId\": 5 },\n    \"layout\": {\n      \"icon\": { \"code\": \"call-completed\" },\n      \"header\": { \"title\": \"Звонок обработан\" },\n      \"body\": { \"logo\": { \"code\": \"call-incoming\" }, \"blocks\": {} },\n      \"footer\": { \"buttons\": {} }\n    }\n  }'\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Factivity-configurable\u002F8053', {\n  method: 'PATCH',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    fields: { typeId: 'CONFIGURABLE', completed: true, responsibleId: 5 },\n    layout: {\n      icon: { code: 'call-completed' },\n      header: { title: 'Звонок обработан' },\n      body: { logo: { code: 'call-incoming' }, blocks: {} },\n      footer: { buttons: {} },\n    },\n  }),\n})\n\nconst { data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data.activity.id` | number | ID обновлённого дела |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": { \"activity\": { \"id\": 8053 } }\n}\n```\n\n## Пример ответа при ошибке\n\n404 — дело не найдено:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENTITY_NOT_FOUND\",\n    \"message\": \"Элемент не найден\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `VALIDATION_ERROR` | `id` в пути не число, либо не передан `fields` или `layout` |\n| 404 | `ENTITY_NOT_FOUND` | Дела с указанным `id` не существует |\n| 422 | `BITRIX_ERROR` | Битрикс24 отклонил запрос: дело создано другим приложением `ERROR_WRONG_APPLICATION`, не заполнен `layout.body.logo`, пустой `layout` |\n| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `crm` |\n| 401 | `TOKEN_MISSING` | Ключ авторизации передан без токена сессии в заголовке `Authorization: Bearer` |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Только в контексте приложения.** Нужен ключ авторизации `vibe_app_*` с токеном сессии в заголовке `Authorization: Bearer`. Персональный API-ключ `vibe_api_*` Битрикс24 отклоняет с `ERROR_WRONG_CONTEXT`.\n\n**Обновляет только приложение-автор.** Изменить дело может лишь то приложение, которое его создало. Чужое дело Битрикс24 отклоняет с `ERROR_WRONG_APPLICATION`.\n\n## Смотрите также\n\n- [Создать дело](\u002Fdocs\u002Fentities\u002Factivities\u002Fconfigurable\u002Fcreate)\n- [Получить дело](\u002Fdocs\u002Fentities\u002Factivities\u002Fconfigurable\u002Fget)\n- [Конфигурируемые дела](\u002Fdocs\u002Fentities\u002Factivities\u002Fconfigurable)\n","2026-06-24",{}]