[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-storage\u002Fobjects\u002Flist":3,"docs-tabs-storage\u002Fobjects\u002Flist":6},{"content":4,"lastmod":5},"## Список объектов\n\n`GET \u002Fv1\u002Fstorage\u002Fobjects`\n\nВозвращает список объектов хранилища с фильтрацией по префиксу ключа и навигацией по курсору. В список попадают только завершённые, не удалённые объекты. Результаты отсортированы от новых к старым.\n\n## Параметры\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `limit` | number | `50` | Количество объектов на страницу. Максимум 500; значения выше 500 усекаются без ошибки |\n| `prefix` | string | — | Фильтр по началу ключа. Пример: `prefix=reports\u002F2024` вернёт все объекты, ключи которых начинаются с `reports\u002F2024` |\n| `cursor` | string | — | Курсор для перехода на следующую страницу, полученный из поля `cursor` предыдущего ответа |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fstorage\u002Fobjects?limit=10&prefix=reports\u002F2024\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fstorage\u002Fobjects?limit=10&prefix=reports\u002F2024\" \\\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(\n  'https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fstorage\u002Fobjects?limit=10&prefix=reports%2F2024',\n  { headers: { 'X-Api-Key': 'YOUR_API_KEY' } }\n)\nconst { data, cursor, total } = await res.json()\nconsole.log(`Объектов: ${total}`)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch(\n  'https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fstorage\u002Fobjects?limit=10&prefix=reports%2F2024',\n  {\n    headers: {\n      'X-Api-Key': 'YOUR_APP_KEY',\n      'Authorization': 'Bearer USER_SESSION_TOKEN',\n    },\n  }\n)\nconst { data, cursor, total } = await res.json()\n```\n\n## Поля ответа\n\nОтвет не содержит обёртку `success` — возвращается объект напрямую.\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `data` | array | Массив объектов |\n| `data[].id` | string | Идентификатор объекта (CUID) |\n| `data[].key` | string | Ключ объекта в хранилище |\n| `data[].contentType` | string | MIME-тип содержимого |\n| `data[].sizeBytes` | string | Размер в байтах. Передаётся строкой из-за ограничений JSON на большие числа |\n| `data[].sha256` | string \\| null | SHA-256 хэш содержимого, если был вычислен при загрузке |\n| `data[].visibility` | string | Видимость: `PRIVATE` или `PUBLIC` |\n| `data[].uploadStatus` | string | Статус загрузки. В списке всегда `COMPLETED` |\n| `data[].createdAt` | string | Дата создания в формате ISO 8601 |\n| `data[].deletedAt` | null | Всегда `null` — удалённые объекты в список не попадают |\n| `cursor` | string \\| null | Курсор для следующей страницы. `null`, если объектов больше нет |\n| `total` | number | Общее количество объектов, соответствующих запросу |\n\n## Пример ответа\n\n```json\n{\n  \"data\": [\n    {\n      \"id\": \"cmabcdef1234567890abcdef\",\n      \"key\": \"reports\u002F2024\u002Fannual.pdf\",\n      \"contentType\": \"application\u002Fpdf\",\n      \"sizeBytes\": \"204800\",\n      \"sha256\": null,\n      \"visibility\": \"PRIVATE\",\n      \"uploadStatus\": \"COMPLETED\",\n      \"createdAt\": \"2024-06-15T10:30:00.000Z\",\n      \"deletedAt\": null\n    }\n  ],\n  \"cursor\": null,\n  \"total\": 1\n}\n```\n\n## Пример ответа при ошибке\n\n400 — некорректный `limit`:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"STORAGE_INVALID_LIMIT\",\n    \"message\": \"limit must be a positive integer\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `STORAGE_INVALID_LIMIT` | Параметр `limit` не является положительным целым числом |\n| 401 | `MISSING_API_KEY` | API-ключ не передан |\n| 403 | `STORAGE_SCOPE_REQUIRED` | У API-ключа нет скоупа `vibe:storage` |\n\nПолный список общих ошибок — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Объекты](\u002Fdocs\u002Fstorage\u002Fobjects)\n- [Скачать объект](\u002Fdocs\u002Fstorage\u002Fobjects\u002Fget)\n- [Метаданные объекта](\u002Fdocs\u002Fstorage\u002Fobjects\u002Fhead)\n- [Загрузка](\u002Fdocs\u002Fstorage\u002Fupload)\n","2026-06-25",{}]