# entity.section.add

URL: https://chugunov.pro/api-bitrix24/entity/sections/entity-section-add/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Добавить раздел хранилища
Scope: `entity`
Кто может выполнять метод: пользователь с уровнем права W (запись) или X (управление) на хранилище данных

## Описание

Метод `entity.section.add` добавляет раздел в хранилище данных приложения.

Метод работает только в контексте [приложения](https://apidocs.bitrix24.ru/settings/app-installation/index.html).

## Параметры

- `ENTITY` `string` — необязательный. Идентификатор хранилища данных приложения. Используйте значение, которое указали при создании хранилища.
  Получить идентификатор можно методом [entity.get](https://chugunov.pro/api-bitrix24/entity/entities/entity-get/)
- `NAME` `string` — необязательный. Название раздела
- `SECTION` `integer` — необязательный. Идентификатор родительского раздела.
- `ACTIVE` `string` — необязательный. Флаг активности раздела:
  - `Y` — раздел активен
  - `N` — раздел неактивен
- `SORT` `integer` — необязательный. Индекс сортировки раздела
- `CODE` `string` — необязательный. Символьный код раздела
- `DESCRIPTION` `string` — необязательный. Описание раздела
- `PICTURE` `file` — необязательный. Картинка раздела. Формат файла — в статье [Как загрузить файлы](https://apidocs.bitrix24.ru/api-reference/files/how-to-upload-files.html)
- `DETAIL_PICTURE` `file` — необязательный. Детальная картинка раздела. Формат файла — в статье [Как загрузить файлы](https://apidocs.bitrix24.ru/api-reference/files/how-to-upload-files.html)
- `UF_` `any` — необязательный. Пользовательские поля раздела `UF_*`.
  Передаются отдельными параметрами в формате `"UF_КОД": значение`, например: `"UF_COLOR": "#ff6600"`

## Ответ

HTTP-статус: 200

```json
{
    "result": 673,
    "time": {
        "start": 1774275397,
        "finish": 1774275397.576672,
        "duration": 0.5766720771789551,
        "processing": 0,
        "date_start": "2026-03-23T17:16:37+03:00",
        "date_finish": "2026-03-23T17:16:37+03:00",
        "operating_reset_at": 1774275997,
        "operating": 0
    }
}
```

### Возвращаемые данные

- `result` `integer`. Идентификатор созданного раздела
- `time` `time`. Информация о времени выполнения запроса

## Ошибки

HTTP-статус: 400

```json
{
    "error": "ERROR_ENTITY_NOT_FOUND",
    "error_description": "Entity not found"
}
```

- `ERROR_ARGUMENT` — Argument 'ENTITY' is null or empty. Параметр `ENTITY` не передан или пустой после очистки
- `ERROR_ARGUMENT` — Entity code is too long. Max length is N characters.. Слишком длинное значение `ENTITY`
- `ERROR_ENTITY_NOT_FOUND` — Entity not found. Хранилище с переданным `ENTITY` не найдено
- `ACCESS_DENIED` — Access denied!. Недостаточно прав для создания раздела
- `ERROR_CORE` — Internal error adding entity section. Try adding again.. Внутренняя ошибка при создании раздела
- `ERROR_CORE` — Неверный раздел-родитель!. Передан невалидный `SECTION`
- `ERROR_CORE` — Код блока раздела не совпадает с кодом блока раздела-родителя!. Родительский раздел принадлежит другому хранилищу
- `ERROR_CORE` — Неверный тип файла. Передан файл неподдерживаемого типа в `PICTURE` или `DETAIL_PICTURE`

## Примеры запроса

### cURL (OAuth)

```bash
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ENTITY":"dish","NAME":"Тестовый раздел","SECTION":671,"ACTIVE":"Y","SORT":500,"CODE":"testovyy-razdel","DESCRIPTION":"Описание тестового раздела","PICTURE":["section.jpg","**base64_section_image**"],"DETAIL_PICTURE":["section-detail.jpg","**base64_section_detail_image**"],"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/entity.section.add
```

### JS (TS)

```ts
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'

declare const $b24: B24Frame

try {
  const response = await $b24.actions.v2.call.make<number>({
    method: 'entity.section.add',
    params: {
      ENTITY: 'dish',
      NAME: 'Test section',
      SECTION: 671,
      ACTIVE: 'Y',
      SORT: 500,
      CODE: 'testovyy-razdel',
      DESCRIPTION: 'Test section description',
      PICTURE: ['section.jpg', '**base64_section_image**'],
      DETAIL_PICTURE: ['section-detail.jpg', '**base64_section_detail_image**'],
    },
    requestId: Text.getUuidRfc4122()
  })

  // The payload is available only on a successful response
  if (!response.isSuccess) {
    console.error(response.getErrorMessages().join('; '))
  } else {
    const result = response.getData()!.result
    console.info('Created section ID:', result)
  }
} catch (error) {
  // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
  console.error(error)
}
```

### JS (UMD)

```html
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
  async function addEntitySection() {
    try {
      // Initialize the SDK inside a Bitrix24 frame
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.actions.v2.call.make({
        method: 'entity.section.add',
        params: {
          ENTITY: 'dish',
          NAME: 'Test section',
          SECTION: 671,
          ACTIVE: 'Y',
          SORT: 500,
          CODE: 'testovyy-razdel',
          DESCRIPTION: 'Test section description',
          PICTURE: ['section.jpg', '**base64_section_image**'],
          DETAIL_PICTURE: ['section-detail.jpg', '**base64_section_detail_image**'],
        },
        requestId: B24Js.Text.getUuidRfc4122()
      })

      // The payload is available only on a successful response
      if (!response.isSuccess) {
        console.error(response.getErrorMessages().join('; '))
        return
      }

      const result = response.getData().result
      console.info('Created section ID:', result)
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

  document.addEventListener('DOMContentLoaded', addEntitySection)
</script>
```

### Python

```python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.entity.section.add(
        entity="dish",
        name="Test section",
        section=671,
        active=True,
        sort=500,
        code="testovyy-razdel",
        description="Test section description",
        picture=(
            "section.jpg",
            "**base64_section_image**",
        ),
        detail_picture=(
            "section-detail.jpg",
            "**base64_section_detail_image**",
        ),
    ).response
    result = bitrix_response.result
    print(result)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")
```

### PHP

```php
try {
    $response = $b24Service
        ->core
        ->call(
            'entity.section.add',
            [
                'ENTITY' => 'dish',
                'NAME' => 'Тестовый раздел',
                'SECTION' => 671,
                'ACTIVE' => 'Y',
                'SORT' => 500,
                'CODE' => 'testovyy-razdel',
                'DESCRIPTION' => 'Описание тестового раздела',
                'PICTURE' => ['section.jpg', '**base64_section_image**'],
                'DETAIL_PICTURE' => ['section-detail.jpg', '**base64_section_detail_image**'],
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    echo '<pre>';
    print_r($result);
    echo '</pre>';

} catch (Throwable $e) {
    error_log($e->getMessage());
    echo 'Error adding entity section: ' . $e->getMessage();
}
```

### BX24.js

```js
BX24.callMethod(
    'entity.section.add',
    {
        ENTITY: 'dish',
        NAME: 'Тестовый раздел',
        SECTION: 671,
        ACTIVE: 'Y',
        SORT: 500,
        CODE: 'testovyy-razdel',
        DESCRIPTION: 'Описание тестового раздела',
        PICTURE: ['section.jpg', '**base64_section_image**'],
        DETAIL_PICTURE: ['section-detail.jpg', '**base64_section_detail_image**'],
    },
    (result) => {
        result.error()
            ? console.error(result.error())
            : console.info(result.data())
        ;
    },
);
```

### PHP CRest

```php
require_once('crest.php');

$result = CRest::call(
    'entity.section.add',
    [
        'ENTITY' => 'dish',
        'NAME' => 'Тестовый раздел',
        'SECTION' => 671,
        'ACTIVE' => 'Y',
        'SORT' => 500,
        'CODE' => 'testovyy-razdel',
        'DESCRIPTION' => 'Описание тестового раздела',
        'PICTURE' => ['section.jpg', '**base64_section_image**'],
        'DETAIL_PICTURE' => ['section-detail.jpg', '**base64_section_detail_image**'],
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
```

### Go

```go
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "entity.section.add", b24.Params{
	"ENTITY":         "dish",
	"NAME":           "Тестовый раздел",
	"SECTION":        671,
	"ACTIVE":         "Y",
	"SORT":           500,
	"CODE":           "testovyy-razdel",
	"DESCRIPTION":    "Описание тестового раздела",
	"PICTURE":        []string{"section.jpg", "**base64_section_image**"},
	"DETAIL_PICTURE": []string{"section-detail.jpg", "**base64_section_detail_image**"},
})
if err != nil {
	return fmt.Errorf("entity.section.add: %w", err)
}

var newID b24.ID
if err := json.Unmarshal(res.Result, &newID); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("идентификатор:", newID)
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/entity/sections/entity-section-add.html
