[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Fcatalog-product-properties\u002Fcreate":3,"docs-tabs-entities\u002Fcatalog-product-properties\u002Fcreate":6},{"content":4,"lastmod":5},"\n## Создать свойство товара\n\n`POST \u002Fv1\u002Fcatalog-product-properties`\n\nСоздаёт свойство товара в каталоге. Поля передаются плоско в корне JSON. В ответ приходит полный объект созданного свойства.\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| `iblockId` | number | да | ID каталога. Список: `GET \u002Fv1\u002Fcatalogs` |\n| `name` | string | да | Название свойства для отображения |\n| `propertyType` | string | да | Базовый тип. `N` число, `S` строка, `L` список, `F` файл, `E` привязка к элементу, `G` привязка к разделу |\n| `code` | string | нет | Символьный код. Латинские буквы, цифры, подчёркивание. Первый символ не цифра |\n| `active` | boolean | нет | Активно ли свойство. По умолчанию `true` |\n| `sort` | number | нет | Индекс сортировки |\n| `defaultValue` | string | нет | Значение по умолчанию |\n| `userType` | string | нет | Пользовательский тип, например `directory`, `DateTime`, `Money`, `HTML` |\n| `userTypeSettings` | object | нет | Настройки пользовательского типа |\n| `listType` | string | нет | Вид списка. `L` выпадающий, `C` флажки |\n| `multiple` | boolean | нет | Множественное значение |\n| `multipleCnt` | number | нет | Число полей ввода для множественных значений |\n| `withDescription` | boolean | нет | Поле описания значения |\n| `searchable` | boolean | нет | Участвует в поиске |\n| `filtrable` | boolean | нет | Участвует в фильтре |\n| `isRequired` | boolean | нет | Обязательное к заполнению |\n| `linkIblockId` | number | нет | ID связанного каталога для типов привязки |\n| `fileType` | string | нет | Допустимые расширения файлов для типа `F` |\n| `xmlId` | string | нет | Внешний идентификатор |\n| `hint` | string | нет | Подсказка к полю |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcatalog-product-properties\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"iblockId\": 19,\n    \"name\": \"Материал\",\n    \"propertyType\": \"S\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcatalog-product-properties\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"iblockId\": 19,\n    \"name\": \"Материал\",\n    \"propertyType\": \"S\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcatalog-product-properties', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    iblockId: 19,\n    name: 'Материал',\n    propertyType: 'S',\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Property ID:', data.id)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcatalog-product-properties', {\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    iblockId: 19,\n    name: 'Материал',\n    propertyType: 'S',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Полный объект созданного свойства. Набор полей — как у [`GET \u002Fv1\u002Fcatalog-product-properties\u002F:id`](.\u002Fget.md) |\n\nИдентификатор созданного свойства `id` совпадает с `NNN` в ключе `propertyNNN`, которым значение этого свойства приходит у товара в [Товары каталога](\u002Fdocs\u002Fentities\u002Fcatalog-products):\n\n```\npropertyNNN  →  property659\n```\n\n`NNN` — значение поля `id`. По нему строится сопоставление `id → name` для подписи значений `propertyNNN`.\n\n## Пример ответа\n\nПоказаны основные поля.\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 659,\n    \"iblockId\": 19,\n    \"name\": \"Материал\",\n    \"propertyType\": \"S\",\n    \"code\": \"s12\",\n    \"active\": true,\n    \"sort\": null,\n    \"defaultValue\": null,\n    \"userType\": \"directory\",\n    \"userTypeSettings\": {\n      \"group\": \"N\",\n      \"multiple\": \"N\",\n      \"size\": 1,\n      \"tableName\": \"b_hlbd_categories\",\n      \"width\": 0\n    },\n    \"listType\": \"L\",\n    \"multiple\": false,\n    \"multipleCnt\": null,\n    \"withDescription\": null,\n    \"searchable\": false,\n    \"filtrable\": false,\n    \"isRequired\": false,\n    \"linkIblockId\": null,\n    \"fileType\": null,\n    \"xmlId\": null,\n    \"hint\": null,\n    \"timestampX\": \"2026-03-19T18:23:02.000Z\"\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n422 — не передано обязательное поле:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BITRIX_ERROR\",\n    \"message\": \"Required fields: name\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|----------|\n| 422 | `BITRIX_ERROR` | Не передано обязательное поле — сообщение перечисляет недостающие (`Required fields: name`, `Required fields: propertyType`) |\n| 422 | `BITRIX_ERROR` | Каталог с указанным `iblockId` не найден (`Iblock Not Found`) |\n| 400 | `READONLY_FIELD` | В теле передано поле только для чтения, например `id` или `timestampX` |\n| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `catalog` |\n| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Список свойств товаров](\u002Fdocs\u002Fentities\u002Fcatalog-product-properties\u002Flist)\n- [Получить свойство товара](\u002Fdocs\u002Fentities\u002Fcatalog-product-properties\u002Fget)\n- [Обновить свойство товара](\u002Fdocs\u002Fentities\u002Fcatalog-product-properties\u002Fupdate)\n- [Удалить свойство товара](\u002Fdocs\u002Fentities\u002Fcatalog-product-properties\u002Fdelete)\n- [Товары каталога](\u002Fdocs\u002Fentities\u002Fcatalog-products)\n- [Batch](\u002Fdocs\u002Fbatch)\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","2026-06-27",{}]