Для AI-агентов: markdown этой страницы — /docs-content/entities/storages/folders.md индекс документации — /llms.txt
Создать папку в корне хранилища
POST /v1/storages/:id/folders
Создаёт папку в корне хранилища. В отличие от POST /v1/folders, искать parentId не нужно. Скоуп disk. READONLY-ключ получает 403.
Поля запроса
id в пути — целое положительное ID хранилища. Найдите его через GET /v1/storages, например с filter[entityType]=user. Справочник типов неполный.
Тело: name — обязательная непустая строка. Лишние поля, включая rights, не принимаются. Права наследуются от корня. Дубли имени Битрикс24 отклоняет, уникализации нет.
Примеры
curl — личный ключ
curl -X POST 'https://vibecode.bitrix24.tech/v1/storages/3/folders' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"name":"Reports"}'
curl — OAuth-приложение
curl -X POST 'https://vibecode.bitrix24.tech/v1/storages/3/folders' \
-H 'X-Api-Key: YOUR_APP_KEY' \
-H 'Authorization: Bearer USER_SESSION_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"name":"Reports"}'
JavaScript — личный ключ
const response = await fetch('https://vibecode.bitrix24.tech/v1/storages/3/folders', {
method: 'POST',
headers: {"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
body: JSON.stringify({"name": "Reports"}),
})
const result = await response.json()
console.log(result)
JavaScript — OAuth-приложение
const response = await fetch('https://vibecode.bitrix24.tech/v1/storages/3/folders', {
method: 'POST',
headers: {"X-Api-Key": "YOUR_APP_KEY", "Authorization": "Bearer USER_SESSION_TOKEN", "Content-Type": "application/json"},
body: JSON.stringify({"name": "Reports"}),
})
const result = await response.json()
console.log(result)
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Признак успешного запроса |
data |
object | Созданная папка |
HTTP 201, папка в проекции folders.
{"success":true,"data":{"id":7,"type":"folder","name":"Reports","parentId":9,"storageId":3}}
Запись не повторяется автоматически при сбое сети или таймауте. Исход может быть неизвестен: перечитайте содержимое корня перед повтором.
Ошибки
Пример отказа (400):
{"success":false,"error":{"code":"INVALID_ID","message":"id must be a positive integer."}}
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_ID |
Неверный ID хранилища |
| 400 | MISSING_REQUIRED_FIELDS |
Нет name, пустое или неверное имя, лишние поля |
| 400 | INVALID_PARAMS |
Нет name, пустое или неверное имя, лишние поля |
| 403 | SCOPE_DENIED |
Скоуп, режим ключа или права Битрикс24 |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Скоуп, режим ключа или права Битрикс24 |
| 403 | BITRIX_ACCESS_DENIED |
Скоуп, режим ключа или права Битрикс24 |
| 404 | ENTITY_NOT_FOUND |
Хранилище не найдено |
| 422 | BITRIX_ERROR |
Дубль имени, бизнес-отказ Битрикс24 или ответ без папки |
| 422 | OPERATION_FAILED |
Дубль имени, бизнес-отказ Битрикс24 или ответ без папки |
Общие отказы — Ошибки.