[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Ftasks\u002Ffields":3,"docs-tabs-entities\u002Ftasks\u002Ffields":6},{"content":4,"lastmod":5},"\n## Поля задачи\n\n`GET \u002Fv1\u002Ftasks\u002Ffields`\n\nВозвращает схему полей задачи: типы, флаги «только чтение», статические перечисления значений для `status` и `priority`.\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002Ffields\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002Ffields\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002Ffields', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nconsole.log('Полей:', Object.keys(data.fields).length)\nconsole.log('Значения status:', data.fields.status.enum)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftasks\u002Ffields', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\nНиже описаны основные поля задачи в camelCase. Помимо них в ответе приходят дополнительные поля в формате UPPER_SNAKE_CASE, у которых нет camelCase-версии — например `STAGE_ID`, `SPRINT_ID`, `BACKLOG_ID`, `FLOW_ID`, `MARK`, `CHECKLIST`. Полный набор полей виден в живом ответе `GET \u002Fv1\u002Ftasks\u002Ffields`.\n\n| Поле | Битрикс24 | Тип | RO | Описание |\n|------|----------|-----|:--:|---------|\n| `id` | `ID` | number | да | Идентификатор задачи |\n| `title` | `TITLE` | string | | Название задачи |\n| `description` | `DESCRIPTION` | string | | Описание (поддерживает BB-код) |\n| `responsibleId` | `RESPONSIBLE_ID` | number | | Ответственный. Список: `GET \u002Fv1\u002Fusers` |\n| `createdBy` | `CREATED_BY` | number | | Постановщик. Задаётся только при создании (по умолчанию — пользователь ключа); в PATCH отклоняется. Список: `GET \u002Fv1\u002Fusers` |\n| `status` | `STATUS` | number | | Статус задачи. Допустимые значения в `fields.status.enum`. ⚠ **`filter[status]` — виртуальный (мета-)фильтр**: Bitrix24 понимает здесь `−1` (просрочена), `−2` (не просмотрена), `−3` (почти просрочена), а не число из поля `status` ответа — поэтому `filter[status]=2` НЕ вернёт все задачи со статусом `2`. Для фильтра по фактическому статусу используйте `realStatus` |\n| `realStatus` | `REAL_STATUS` | number | да | Реальный (фактически сохранённый) статус задачи — совпадает со значением поля `status` в ответе. Только для `filter`\u002F`sort`: `?filter[realStatus]=2`, `?sort=realStatus` — в отличие от виртуального `filter[status]`, фильтрует по хранимому статусу. Значения те же, что у `status` (см. `fields.status.enum`). В теле ответа отдельно не возвращается (реальный статус уже есть в `status`); менять статус — через `status` |\n| `priority` | `PRIORITY` | number | | Приоритет задачи. Допустимые значения в `fields.priority.enum` |\n| `groupId` | `GROUP_ID` | number | | Рабочая группа. Список: `GET \u002Fv1\u002Fworkgroups` |\n| `parentId` | `PARENT_ID` | number | | Родительская задача. Список: `GET \u002Fv1\u002Ftasks` |\n| `deadline` | `DEADLINE` | datetime | | Крайний срок (ISO 8601) |\n| `dateStart` | `DATE_START` | datetime | да | Фактическая дата начала работы над задачей. Фильтруется: `?filter[>=dateStart]=2026-05-01T00:00:00` |\n| `startDatePlan` | `START_DATE_PLAN` | datetime | | Плановая дата начала |\n| `endDatePlan` | `END_DATE_PLAN` | datetime | | Плановая дата окончания |\n| `timeEstimate` | `TIME_ESTIMATE` | number | | Оценка трудозатрат в секундах |\n| `tags` | `TAGS` | object \\| array | | Метки задачи. У задачи С метками — объект-словарь `{ \"\u003Cid>\": { \"id\": \u003Cid>, \"title\": \"\u003Cметка>\" } }`; у задачи БЕЗ меток приходит пустой массив `[]` (а не пустой объект) — тип зависит от данных, проверяйте `Array.isArray()` перед обращением по ключу. Фильтр по одной метке: `?filter[tags]=метка` (транслируется в B24 `TAG`) |\n| `accomplices` | `ACCOMPLICES` | array | | Соисполнители. Список: `GET \u002Fv1\u002Fusers`. Фильтр по одному пользователю: `?filter[accomplices]=25` (транслируется в B24 `ACCOMPLICE`) |\n| `auditors` | `AUDITORS` | array | | Наблюдатели. Список: `GET \u002Fv1\u002Fusers`. Фильтр по одному пользователю: `?filter[auditors]=25` (транслируется в B24 `AUDITOR`) |\n| `closedDate` | `CLOSED_DATE` | datetime | да | Дата закрытия (заполняется при переводе в статус `5` или `6`) |\n| `createdDate` | `CREATED_DATE` | datetime | да | Дата создания |\n| `changedDate` | `CHANGED_DATE` | datetime | да | Дата последнего изменения |\n| `activityDate` | `ACTIVITY_DATE` | datetime | да | Дата последней активности (учитывает комментарии, в отличие от `changedDate`). Возвращается всегда и выбирается через `?select=activityDate`. ⚠ Не фильтруется на стороне Bitrix24 — для фильтра используйте `changedDate` |\n\n**Расшифровка `status`** — поле `fields.status.enum`:\n\n| Значение | Метка | Описание |\n|----------|-------|----------|\n| `1` | New | Начальное состояние. Новые задачи создаются со статусом `2`; `1` встречается у задач, импортированных из внешних систем или мигрированных со старых версий портала |\n| `2` | Pending | Ждёт выполнения. Статус по умолчанию для новых задач |\n| `3` | In Progress | Выполняется |\n| `4` | Awaiting Control | Ожидает контроля. Исполнитель пометил задачу как сделанную, постановщик должен подтвердить |\n| `5` | Completed | Завершена |\n| `6` | Deferred | Отложена |\n| `7` | Declined | Отклонена |\n\n**Расшифровка `priority`** — поле `fields.priority.enum`:\n\n| Значение | Метка |\n|----------|-------|\n| `0` | Низкий |\n| `1` | Обычный |\n| `2` | Высокий |\n\n**Пользовательские поля (`UF_*`)** принимаются при создании\u002Fобновлении и в фильтрах в обоих написаниях — `ufCrmTask` и `UF_CRM_TASK` (camelCase конвертируется автоматически). ⚠ `UF_CRM_TASK` (привязка к CRM) принимает **массив** идентификаторов привязок — `[\"D_123\"]` (сделка), `[\"C_45\"]` (контакт), `[\"CO_7\"]` (компания), `[\"L_9\"]` (лид). Строка вместо массива (`\"D_123\"`) молча игнорируется Bitrix24 — значение не сохранится (проверено на живом портале).\n\n**Нульность.** Многие необязательные поля приходят `null`, когда не заполнены: `parentId`, `dateStart`, `startDatePlan`, `endDatePlan`, `deadline`, `closedBy`, `closedDate`, `mark`, `sprintId`, `backlogId`, `durationFact`, `durationPlan`, `timeSpentInLogs`, `sorting`, `flowId`, `xmlId`, `ufCrmTask`, `ufMailMessage` и др. Типобезопасным клиентам (TS) объявляйте такие поля как `T | null`. Документированные пустые случаи `accomplices`\u002F`auditors`\u002F`checklist` приходят как `[]`; **`tags` — исключение**: без меток приходит `[]`, с метками — объект (см. выше).\n\n## Пример ответа\n\nПоказаны основные поля. Полный ответ дополнительно содержит UPPER_SNAKE-эквиваленты и системные служебные поля.\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"fields\": {\n      \"id\": { \"type\": \"number\", \"readonly\": true },\n      \"title\": { \"type\": \"string\", \"readonly\": false },\n      \"description\": { \"type\": \"string\", \"readonly\": false },\n      \"responsibleId\": { \"type\": \"number\", \"readonly\": false },\n      \"createdBy\": { \"type\": \"number\", \"readonly\": false, \"createOnly\": true },\n      \"status\": {\n        \"type\": \"number\",\n        \"readonly\": false,\n        \"enum\": [\n          { \"value\": 1, \"label\": \"New\", \"labelRu\": \"Новая\" },\n          { \"value\": 2, \"label\": \"Pending\", \"labelRu\": \"Ждёт выполнения\" },\n          { \"value\": 3, \"label\": \"In Progress\", \"labelRu\": \"Выполняется\" },\n          { \"value\": 4, \"label\": \"Awaiting Control\", \"labelRu\": \"Ожидает контроля\" },\n          { \"value\": 5, \"label\": \"Completed\", \"labelRu\": \"Завершена\" },\n          { \"value\": 6, \"label\": \"Deferred\", \"labelRu\": \"Отложена\" },\n          { \"value\": 7, \"label\": \"Declined\", \"labelRu\": \"Отклонена\" }\n        ]\n      },\n      \"priority\": {\n        \"type\": \"number\",\n        \"readonly\": false,\n        \"enum\": [\n          { \"value\": 0, \"label\": \"Low\", \"labelRu\": \"Низкий\" },\n          { \"value\": 1, \"label\": \"Normal\", \"labelRu\": \"Обычный\" },\n          { \"value\": 2, \"label\": \"High\", \"labelRu\": \"Высокий\" }\n        ]\n      },\n      \"deadline\": { \"type\": \"datetime\", \"readonly\": false },\n      \"createdDate\": { \"type\": \"datetime\", \"readonly\": true },\n      \"changedDate\": { \"type\": \"datetime\", \"readonly\": true }\n    }\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'tasks' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `tasks` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Создать задачу](.\u002Fcreate.md) — какие поля передавать\n- [Обновить задачу](.\u002Fupdate.md) — какие поля можно изменять\n- [Список задач](.\u002Flist.md) — фильтрация и сортировка по полям\n- [Поиск задач](.\u002Fsearch.md) — те же поля в POST-варианте\n- [Агрегация задач](.\u002Faggregate.md) — группировка по полям\n- [Entity API](\u002Fdocs\u002Fentity-api) — `select` для выборки нужных полей\n","2026-07-02",{}]