[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-userfields\u002Fcrm\u002Fcreate":3,"docs-tabs-userfields\u002Fcrm\u002Fcreate":6},{"content":4,"lastmod":5},"\n## Создать поле\n\n`POST \u002Fv1\u002Fuserfields\u002F:entity`\n\nСоздаёт новое пользовательское поле для CRM-сущности. Возвращает HTTP `201 Created` с числовым `id` нового поля. Поля передаются плоско в корне JSON — без обёртки `fields`.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `:entity` (path) | string | да | Сущность: `deals`, `leads`, `contacts`, `companies`, `quotes`, `requisites` |\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| `userTypeId` | string | да | Тип поля. Список допустимых значений — [`GET \u002Fv1\u002Fuserfields\u002F:entity\u002Ftypes`](\u002Fdocs\u002Fuserfields\u002Fcrm\u002Ftypes). Примеры: `string`, `enumeration`, `integer`, `double`, `datetime` |\n| `fieldName` | string | нет | Суффикс системного имени. Итоговое имя формируется как `UF_CRM_\u003CFIELD_NAME>` (для реквизитов — `UF_REQUISITE_\u003CFIELD_NAME>`). Если не передать, Битрикс24 сгенерирует имя автоматически |\n| `label` | string | нет | Подпись поля для отображения. Значение автоматически распространяется на все языки портала в `editFormLabel`, `listColumnLabel`, `listFilterLabel`, `errorMessage`, `helpMessage`. Для задания разных подписей по языкам используйте объект `editFormLabel` |\n| `editFormLabel` | object | нет | Подпись в форме редактирования по языкам. Пример: `{ \"ru\": \"Проект\", \"en\": \"Project\" }`. Значения устанавливаются для указанных языков; остальные локали заполняются по правилам Битрикс24 |\n| `sort` | string | нет | Порядок сортировки в интерфейсе Битрикс24. По умолчанию `\"100\"` |\n| `multiple` | string | нет | Разрешить несколько значений: `\"Y\"` или `\"N\"`. По умолчанию `\"N\"` |\n| `mandatory` | string | нет | Обязательное при заполнении: `\"Y\"` или `\"N\"`. По умолчанию `\"N\"` |\n| `showFilter` | string | нет | Отображать в фильтре: `\"N\"` — нет, `\"I\"` — точное значение, `\"E\"` — маска, `\"S\"` — диапазон |\n| `showInList` | string | нет | Показывать в списке записей: `\"Y\"` или `\"N\"` |\n| `editInList` | string | нет | Разрешить редактирование прямо из списка: `\"Y\"` или `\"N\"` |\n| `isSearchable` | string | нет | Участвует в полнотекстовом поиске: `\"Y\"` или `\"N\"` |\n| `xmlId` | string | нет | Внешний идентификатор для интеграций |\n| `settings` | object | нет | Настройки поля, специфичные для `userTypeId`. Для `string` — `SIZE`, `ROWS`, `REGEXP`, `MIN_LENGTH`, `MAX_LENGTH`, `DEFAULT_VALUE`. Состав зависит от типа |\n| `list` | array | нет | Варианты для поля типа `enumeration`. Каждый элемент: `{ \"VALUE\": \"Название\", \"SORT\": 10 }`. Для других типов игнорируется |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fuserfields\u002Fdeals\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"userTypeId\": \"enumeration\",\n    \"fieldName\": \"PROJECT_STATUS\",\n    \"label\": \"Статус проекта\",\n    \"sort\": \"200\",\n    \"showFilter\": \"I\",\n    \"showInList\": \"Y\",\n    \"list\": [\n      { \"VALUE\": \"Новый\", \"SORT\": 10 },\n      { \"VALUE\": \"В работе\", \"SORT\": 20 },\n      { \"VALUE\": \"Завершён\", \"SORT\": 30 }\n    ]\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fuserfields\u002Fdeals\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"userTypeId\": \"enumeration\",\n    \"fieldName\": \"PROJECT_STATUS\",\n    \"label\": \"Статус проекта\",\n    \"sort\": \"200\",\n    \"showFilter\": \"I\",\n    \"showInList\": \"Y\",\n    \"list\": [\n      { \"VALUE\": \"Новый\", \"SORT\": 10 },\n      { \"VALUE\": \"В работе\", \"SORT\": 20 },\n      { \"VALUE\": \"Завершён\", \"SORT\": 30 }\n    ]\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fuserfields\u002Fdeals', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    userTypeId: 'enumeration',\n    fieldName: 'PROJECT_STATUS',\n    label: 'Статус проекта',\n    sort: '200',\n    showFilter: 'I',\n    showInList: 'Y',\n    list: [\n      { VALUE: 'Новый', SORT: 10 },\n      { VALUE: 'В работе', SORT: 20 },\n      { VALUE: 'Завершён', SORT: 30 },\n    ],\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Создано поле с id:', data.id)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fuserfields\u002Fdeals', {\n  method: 'POST',\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    userTypeId: 'enumeration',\n    fieldName: 'PROJECT_STATUS',\n    label: 'Статус проекта',\n    sort: '200',\n    showFilter: 'I',\n    showInList: 'Y',\n    list: [\n      { VALUE: 'Новый', SORT: 10 },\n      { VALUE: 'В работе', SORT: 20 },\n      { VALUE: 'Завершён', SORT: 30 },\n    ],\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\": 7115\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n400 — не передан обязательный параметр `userTypeId`:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"MISSING_FIELD\",\n    \"message\": \"userTypeId is required (e.g. \\\"string\\\", \\\"enumeration\\\", \\\"integer\\\", \\\"double\\\", \\\"datetime\\\")\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `MISSING_FIELD` | Не передан обязательный параметр `userTypeId` |\n| 400 | `INVALID_REQUEST` | Тело запроса не является объектом |\n| 400 | `UNKNOWN_ENTITY` | `:entity` не входит в список поддерживаемых сущностей |\n| 422 | `BITRIX_ERROR` | Передан неизвестный `userTypeId` — не из каталога [`\u002Ftypes`](\u002Fdocs\u002Fuserfields\u002Fcrm\u002Ftypes) |\n| 422 | `BITRIX_ERROR` | Другие ошибки Битрикс24: дублирующее имя поля, некорректные настройки `settings` |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n| 401 | `MISSING_API_KEY` | Отсутствует заголовок `X-Api-Key` |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Автораспространение `label`.** При передаче строки `label` значение автоматически появляется во всех языковых полях `editFormLabel`, `listColumnLabel`, `listFilterLabel`, `errorMessage`, `helpMessage`. Чтобы задать разные подписи для разных языков, передайте объект `editFormLabel`: `{ \"ru\": \"Проект\", \"en\": \"Project\" }`.\n\n## Смотрите также\n\n- [Каталог типов полей](\u002Fdocs\u002Fuserfields\u002Fcrm\u002Ftypes) — список допустимых `userTypeId`\n- [Получить поле](\u002Fdocs\u002Fuserfields\u002Fcrm\u002Fget) — полное описание созданного поля\n- [Обновить поле](\u002Fdocs\u002Fuserfields\u002Fcrm\u002Fupdate) — изменить параметры поля\n- [Удалить поле](\u002Fdocs\u002Fuserfields\u002Fcrm\u002Fdelete) — удалить поле\n- [Поля CRM-сущностей](\u002Fdocs\u002Fuserfields\u002Fcrm) — маппинг полей и поддерживаемые сущности\n- [Пользовательские поля](\u002Fdocs\u002Fuserfields) — обзор раздела\n","2026-07-07",{}]