[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Fstorages\u002Flist":3,"docs-tabs-entities\u002Fstorages\u002Flist":6},{"content":4,"lastmod":5},"\n## Список хранилищ\n\n`GET \u002Fv1\u002Fstorages`\n\nВозвращает список хранилищ Битрикс24.Диска с фильтрацией по точному совпадению полей и автопагинацией.\n\n## Параметры\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `limit` | number | `50` | Количество записей (до 5000). При `limit > 50` Вайбкод автоматически запрашивает несколько страниц |\n| `offset` | number | `0` | Пропустить N записей. Применяется для чтения выборок больше 5000 записей |\n| `select` | string | — | Выборка полей: `?select=id,name`. Возвращаются только перечисленные поля |\n| `filter` | object | — | Фильтрация по точному совпадению полей `GET \u002Fv1\u002Fstorages\u002Ffields`.\u003Cbr>[Синтаксис фильтрации](\u002Fdocs\u002Ffiltering). Пример: `?filter[entityType]=group` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fstorages?limit=10&filter[entityType]=group\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fstorages?limit=10&filter[entityType]=group\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fstorages?limit=10&filter[entityType]=group', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data, meta } = await res.json()\nconsole.log(`Всего хранилищ под фильтром: ${meta.total}`)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fstorages?limit=10&filter[entityType]=group', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data, meta } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив хранилищ |\n| `data[].id` | number | Идентификатор хранилища |\n| `data[].name` | string | Название хранилища |\n| `data[].code` | string \\| null | Символьный код. На проверенных порталах `null` |\n| `data[].module` | string | Модуль-владелец хранилища, для Диска — `disk` |\n| `data[].entityType` | string | Тип владельца: `user`, `group`, `common` |\n| `data[].entityId` | string | Идентификатор владельца. Строка, у общего диска нечисловая |\n| `data[].rootFolderId` | number | Идентификатор корневой папки хранилища |\n| `meta.total` | number | Общее количество записей, соответствующих фильтру |\n| `meta.hasMore` | boolean | Признак наличия дополнительных записей |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Летта\",\n      \"code\": null,\n      \"module\": \"disk\",\n      \"entityType\": \"user\",\n      \"entityId\": \"1\",\n      \"rootFolderId\": 1\n    },\n    {\n      \"id\": 11,\n      \"name\": \"Общий диск\",\n      \"code\": null,\n      \"module\": \"disk\",\n      \"entityType\": \"common\",\n      \"entityId\": \"shared_files_s1\",\n      \"rootFolderId\": 19\n    }\n  ],\n  \"meta\": {\n    \"total\": 490,\n    \"hasMore\": true\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'disk' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_SORT_FIELD` | Передан `order` или `sort` — хранилища не поддерживают сортировку |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `disk` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Выборки больше 5000 записей.** За один ответ возвращается до 5000 хранилищ. Общее число записей под фильтром приходит в `meta.total`, признак наличия продолжения — в `meta.hasMore`. Если под фильтр попадает больше 5000 записей, читайте продолжение параметром `offset`, увеличивая его на размер полученной порции.\n\n## Смотрите также\n\n- [Получить хранилище](\u002Fdocs\u002Fentities\u002Fstorages\u002Fget) — данные одного хранилища по ID\n- [Поля хранилища](\u002Fdocs\u002Fentities\u002Fstorages\u002Ffields) — схема полей\n- [Хранилища](\u002Fdocs\u002Fentities\u002Fstorages) — обзор раздела\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Batch](\u002Fdocs\u002Fbatch) — объединение нескольких запросов\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n","2026-07-14",{}]