# Загрузка

Три пути загрузки файлов в хранилище: прямая форма для небольших файлов, предподписанный PUT для загрузки из браузера и составная загрузка для крупных файлов.

**Скоуп:** `vibe:storage` | **Базовый URL:** `https://vibecode.bitrix24.tech/v1` | **Авторизация:** API-ключ (`X-Api-Key`)

## Операции

- [Прямая загрузка](./upload/direct.md) — `POST /v1/storage/objects/upload`
- [Предподписанный URL](./upload/presigned.md) — `POST /v1/storage/objects`
- [Подтвердить загрузку](./upload/complete.md) — `POST /v1/storage/objects/complete`
- [Создать составную загрузку](./upload/multipart-create.md) — `POST /v1/storage/objects/multipart/create`
- [Завершить составную загрузку](./upload/multipart-complete.md) — `POST /v1/storage/objects/multipart/complete`
- [Отменить составную загрузку](./upload/multipart-abort.md) — `POST /v1/storage/objects/multipart/abort`

## Пути загрузки

| Путь | Размер файла | Шагов |
|---|---|---|
| **A** | до 10 МБ | 1 |
| **B** | до 5 ГБ | 3: создать URL → PUT → подтвердить |
| **C** | до 5 ТБ | 3 + N: создать → N × PUT → завершить |

## Сценарии

**Выбор пути.** Для файлов до 10 МБ используйте путь A — один запрос с полем `file` в форме `multipart/form-data`. Путь B временно отключён и отвечает `503 STORAGE_PRESIGNED_UPLOAD_DISABLED`, поэтому всё, что больше 10 МБ, идёт путём C с параллельными частями от 5 МБ каждая.

**Отмена составной загрузки.** Если загрузка прервана, вызовите `POST /v1/storage/objects/multipart/abort` — незавершённые части занимают место до явной отмены или автоматического удаления через 24 часа.

**Видимость при загрузке.** Атрибут `visibility` задаётся один раз при загрузке: `PRIVATE` (по умолчанию) или `PUBLIC`. Для `PUBLIC`-объектов заблокированы типы `text/html`, `application/javascript`, `application/x-javascript`, `image/svg+xml` — такой файл вернёт `415 STORAGE_FORBIDDEN_CONTENT_TYPE`.

## Смотрите также

- [Хранилище](/docs/storage)
- [Объекты](/docs/storage/objects)
- [Ключи и авторизация](/docs/keys-auth)
