Для AI-агентов: markdown этой страницы — /docs-content/entities/files/list.md индекс документации — /llms.txt
Список файлов папки
GET /v1/files
Возвращает список объектов в указанной папке: папки и файлы вместе.
Параметры
| Параметр | Тип | Обяз. | По умолч. | Описание |
|---|---|---|---|---|
ПараметрfolderId (query) |
Типnumber | Обяз.да | По умолч.— | ОписаниеID папки, содержимое которой нужно получить. Список папок: GET /v1/folders |
Параметрlimit (query) |
Типnumber | Обяз.нет | По умолч.50 |
ОписаниеКоличество записей (до 5000) |
Параметрoffset (query) |
Типnumber | Обяз.нет | По умолч.0 |
ОписаниеПропустить N записей |
Параметрsort (query) |
Типstring | Обяз.нет | По умолч.— | ОписаниеПоле для сортировки |
Параметрorder (query) |
Типobject | string | Обяз.нет | По умолч.— | ОписаниеДве формы. Объектная, ?order[name]=desc, действует, только если не передан sort: направление — asc или desc, другое значение возвращает 400 INVALID_SORT_DIRECTION. Строковая, ?order=desc, переводит поля из sort на убывание и без sort не действует |
Параметрselect (query) |
Типstring | Обяз.нет | По умолч.все поля | ОписаниеСписок возвращаемых полей через запятую. Пример: ?select=id,name. Имена — из GET /v1/files/fields |
Параметрinclude (query) |
Типstring | Обяз.нет | По умолч.— | ОписаниеПодгрузить к каждой записи папку, в которой она лежит. Доступное значение — folder. Результат приходит в поле _included каждой записи |
ПараметрwithTotal (query) |
Типstring | Обяз.нет | По умолч.— | ОписаниеПринимается, но на ответ не влияет: meta.total приходит при любом значении и при любом offset |
Параметрfilter (query) |
Типobject | Обяз.нет | По умолч.— | ОписаниеФильтрация только по полям, которые умеет фильтровать Битрикс24: id, name, code, storageId, type, folderId, deletedType, createdAt, updatedAt, deletedAt. Остальные поля из GET /v1/files/fields (например createdBy, size, updatedBy) фильтровать нельзя — такой запрос вернёт 400 UNSUPPORTED_FILTER со списком допустимых. Операторы ($gt, $contains и прочие) не поддерживаются: только точное совпадение и $in.Синтаксис фильтрации. Пример: ?filter[type]=file |
Пагинация. При limit > 50 Вайбкод автоматически выполняет несколько запросов к Битрикс24 и возвращает все записи в одном ответе. Максимум — 5000 записей за вызов.
Примеры
curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/files?folderId=27&limit=10" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/files?folderId=27&limit=10" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/files?folderId=27&limit=10', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data, meta } = await res.json()
console.log(`Объектов в папке: ${meta.total}`)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/files?folderId=27&limit=10', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data, meta } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
Полеsuccess |
Типboolean | ОписаниеВсегда true при успехе |
Полеdata |
Типarray | ОписаниеМассив объектов папки (папки и файлы). Полный список полей элемента — ниже |
Полеdata[].id |
Типnumber | ОписаниеИдентификатор объекта |
Полеdata[].name |
Типstring | ОписаниеИмя объекта |
Полеdata[].code |
Типstring|null | ОписаниеСимвольный код. null, если не задан |
Полеdata[].storageId |
Типnumber | ОписаниеID хранилища. Список хранилищ: GET /v1/storages |
Полеdata[].type |
Типstring | ОписаниеТип: "file" или "folder" |
Полеdata[].folderId |
Типnumber | ОписаниеID родительской папки |
Полеdata[].deletedType |
Типnumber | ОписаниеСтатус удаления: 0 — активен, 3 — в корзине, 4 — удалён вместе с папкой |
Полеdata[].realObjectId |
Типnumber | ОписаниеВнутренний ID объекта. Присутствует только у папок |
Полеdata[].createdBy |
Типnumber | ОписаниеID создателя. Список пользователей: GET /v1/users |
Полеdata[].updatedBy |
Типnumber | ОписаниеID автора последнего изменения. Список пользователей: GET /v1/users |
Полеdata[].deletedBy |
Типnumber|null | ОписаниеID пользователя, удалившего объект. null — не удалён |
Полеdata[].createdAt |
Типdatetime | ОписаниеДата создания (ISO 8601) |
Полеdata[].updatedAt |
Типdatetime | ОписаниеДата последнего изменения (ISO 8601) |
Полеdata[].deletedAt |
Типdatetime|null | ОписаниеДата удаления (ISO 8601). null — не удалён |
Полеdata[].detailUrl |
Типstring | ОписаниеСсылка на объект в интерфейсе Битрикс24 |
Полеdata[].size |
Типnumber | ОписаниеРазмер файла в байтах. Приходит у записей-файлов |
Полеdata[].fileId |
Типnumber | ОписаниеВнутренний ID файла. Приходит у записей-файлов |
Полеdata[].globalContentVersion |
Типnumber | ОписаниеСчётчик версий файла. Приходит у записей-файлов |
Полеdata[].downloadUrl |
Типstring | ОписаниеАдрес скачивания через API Вайбкод — GET /v1/files/:id/download. Приходит у записей-файлов. Запрос по нему передаёт заголовок X-Api-Key |
Полеdata[].contentProvider |
Типstring | ОписаниеПровайдер контента. Возвращается только у файлов из внешних провайдеров контента — у файлов на Диске Битрикс24 не возвращается |
Полеmeta.total |
Типnumber | ОписаниеОбщее количество объектов в папке |
Полеmeta.hasMore |
Типboolean | ОписаниеЕсть ли ещё объекты за пределами limit |
Пример ответа
{
"success": true,
"data": [
{
"id": 1275,
"name": "Архив проекта",
"code": "ARCHIVE_PROJECT",
"storageId": 1,
"type": "folder",
"folderId": 27,
"deletedType": 0,
"realObjectId": 1275,
"createdBy": 5,
"updatedBy": 5,
"deletedBy": null,
"createdAt": "2023-04-12T08:30:00.000Z",
"updatedAt": "2023-04-12T08:30:01.000Z",
"deletedAt": null,
"detailUrl": "https://example.bitrix24.ru/docs/path/to/folder/"
},
{
"id": 205,
"name": "presentation_q1.pdf",
"code": null,
"storageId": 1,
"type": "file",
"folderId": 27,
"size": 31232,
"fileId": 363,
"globalContentVersion": 1,
"downloadUrl": "https://vibecode.bitrix24.tech/v1/files/205/download",
"deletedType": 0,
"createdBy": 5,
"updatedBy": 5,
"deletedBy": null,
"createdAt": "2023-03-15T09:29:09.000Z",
"updatedAt": "2023-03-15T09:29:09.000Z",
"deletedAt": null,
"detailUrl": "https://example.bitrix24.ru/docs/path/to/file/"
}
],
"meta": { "total": 40, "hasMore": true }
}
Пример ответа при ошибке
400 — не передан folderId:
{
"success": false,
"error": {
"code": "MISSING_REQUIRED_PARAMS",
"message": "GET /v1/files requires query parameters: folderId. Example: GET /v1/files?folderId=..."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| HTTP400 | КодMISSING_REQUIRED_PARAMS |
ОписаниеНе передан обязательный параметр folderId |
| HTTP400 | КодUNKNOWN_SELECT_FIELD |
ОписаниеВ select передано неизвестное поле. Сообщение перечисляет допустимые имена |
| HTTP400 | КодINVALID_INCLUDE |
ОписаниеЗначение include не поддерживается. Доступное значение — folder |
| HTTP400 | КодINVALID_SORT_DIRECTION |
ОписаниеВ объектной форме order передано направление, отличное от asc и desc |
| HTTP403 | КодSCOPE_DENIED |
ОписаниеAPI-ключ не имеет скоупа disk |
| HTTP401 | КодTOKEN_MISSING |
ОписаниеAPI-ключ не имеет настроенных токенов портала |
| HTTP401 | КодINVALID_API_KEY |
ОписаниеКлюч не опознан: такой строки на платформе нет |
| HTTP429 | КодRATE_LIMITED |
ОписаниеПревышен лимит запросов: 300 в минуту на портал, все API-ключи портала делят один лимит. Действующее значение — в заголовке x-ratelimit-limit. Повторите после срока из заголовка Retry-After |
Полный список общих ошибок API — Ошибки.