Для AI-агентов: markdown этой страницы — /docs-content/entities/catalog-sections/create.md индекс документации — /llms.txt

Создать раздел

POST /v1/catalog-sections

Создаёт раздел каталога. Поля передаются плоско в корне JSON.

Поля запроса (body)

Поле Тип Обяз. По умолч. Описание
iblockId number да — ID каталога, которому принадлежит раздел. Список: GET /v1/catalogs
name string да — Название раздела
iblockSectionId number нет null ID родительского раздела. null — раздел верхнего уровня. Список: GET /v1/catalog-sections
code string нет null Символьный код раздела
xmlId string нет null Внешний идентификатор
sort number нет 500 Индекс сортировки
active boolean нет true Активен ли раздел
description string нет null Описание раздела

Примеры

curl — личный ключ

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/catalog-sections" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "iblockId": 25,
    "name": "Новинки",
    "sort": 100
  }'

curl — OAuth-приложение

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/catalog-sections" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "iblockId": 25,
    "name": "Новинки",
    "sort": 100
  }'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-sections', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    iblockId: 25,
    name: 'Новинки',
    sort: 100,
  }),
})

const { success, data } = await res.json()
console.log('Section ID:', data.id)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-sections', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    iblockId: 25,
    name: 'Новинки',
    sort: 100,
  }),
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Полный объект созданного раздела
data.id number Идентификатор созданного раздела
data.iblockId number ID каталога. Список: GET /v1/catalogs
data.iblockSectionId number | null ID родительского раздела. null — раздел верхнего уровня. Список: GET /v1/catalog-sections
data.name string Название раздела
data.code string | null Символьный код раздела
data.xmlId string | null Внешний идентификатор
data.sort number Индекс сортировки
data.active boolean Активен ли раздел
data.description string | null Описание раздела
data.descriptionType string Формат описания: text или html

Пример ответа

JSON
{
  "success": true,
  "data": {
    "active": true,
    "code": null,
    "description": null,
    "descriptionType": "text",
    "iblockId": 25,
    "iblockSectionId": null,
    "id": 215,
    "name": "Новинки",
    "sort": 100,
    "xmlId": null
  }
}

Пример ответа при ошибке

422 — не передано обязательное поле:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Required fields: name"
  }
}

Ошибки

HTTP Код Описание
422 BITRIX_ERROR Не передано обязательное поле — сообщение называет недостающее (Required fields: iblockId или Required fields: name)
400 READONLY_FIELD В теле передан id — это поле заполняется системой и не принимается при создании
403 SCOPE_DENIED Ключу не хватает скоупа catalog
401 MISSING_API_KEY Не передан X-Api-Key

Полный список общих ошибок API — Ошибки.

Смотрите также