[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Ftasks\u002Ftime\u002Fupdate":3,"docs-tabs-entities\u002Ftasks\u002Ftime\u002Fupdate":6},{"content":4,"lastmod":5},"\n## Обновить запись учёта времени\n\n`PATCH \u002Fv1\u002Ftasks\u002F:taskId\u002Ftime\u002F:itemId`\n\nИзменяет существующую запись учёта времени. Передавайте только изменяемые поля.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `taskId` (path) | number | да | ID задачи |\n| `itemId` (path) | number | да | ID записи учёта времени |\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| `seconds` | number | | Новая длительность в секундах. После обновления `MINUTES` пересчитывается автоматически |\n| `comment` | string | | Новый комментарий к записи |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X PATCH \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002F289\u002Ftime\u002F161\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"seconds\": 900,\n    \"comment\": \"Уточнённая оценка\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X PATCH \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002F289\u002Ftime\u002F161\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"seconds\": 900,\n    \"comment\": \"Уточнённая оценка\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002F289\u002Ftime\u002F161', {\n  method: 'PATCH',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    seconds: 900,\n    comment: 'Уточнённая оценка',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002F289\u002Ftime\u002F161', {\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    seconds: 900,\n    comment: 'Уточнённая оценка',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успешном обновлении |\n| `data.id` | number | Идентификатор обновлённой записи |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 161\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n422 — запись не найдена или недоступна:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BITRIX_ERROR\",\n    \"message\": \"TASKS_ERROR_EXCEPTION_#512; Check listitem not found or not accessible; 512\u002FTE\u002FITEM_NOT_FOUND_OR_NOT_ACCESSIBLE\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `READONLY_FIELD` | Передан `userId` — автора записи изменить нельзя (см. «Известные особенности») |\n| 422 | `BITRIX_ERROR` | Запись с таким `itemId` не найдена или родительская задача недоступна |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `task` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Автора записи (`userId`) изменить нельзя.** Метод Bitrix24 `task.elapseditem.update` принимает только `seconds`, `comment` и дату; любое другое поле, включая `userId`, он отвергает целиком (`256\u002FTE\u002FWRONG_ARGUMENTS`), отбрасывая заодно переданные в том же запросе `seconds`\u002F`comment`. Поэтому `userId` в `PATCH` отклоняется заранее с `400 READONLY_FIELD`. Автор фиксируется при создании записи. Чтобы «переназначить» время, удалите запись и создайте новую с нужным `userId`.\n\n**Ответ — только `id`, без остальных полей.** Чтобы прочитать обновлённую запись со всеми полями, сделайте [`GET \u002Fv1\u002Ftasks\u002F:taskId\u002Ftime\u002F:itemId`](.\u002Fget.md).\n\n## Смотрите также\n\n- [Получить запись](.\u002Fget.md) — прочитать запись после обновления\n- [Список записей](.\u002Flist.md) — все записи задачи\n- [Добавить запись](.\u002Fcreate.md) — создать новую\n- [Удалить запись](.\u002Fdelete.md) — снять запись\n- [Задачи](\u002Fdocs\u002Fentities\u002Ftasks) — родительская сущность\n","2026-06-18",{}]