Папки
Папки необязательны. Это способ задать группе файлов общие правила: видимость, срок хранения и кэш.
Папка в ответе
{
"name": "avatars",
"public": true,
"retention": { "id": 3, "name": "MONTH" },
"cache": { "maxAge": null, "visibility": null },
"createdAt": "2026-11-07T17:10:44+00:00",
"updatedAt": "2026-11-07T17:10:44+00:00"
}public— файлы папки получают публичный адрес/o/…. Корень бакета всегда публичный: файл, загруженный или перенесённый туда, доступен по/o/…без токена.retention— сколько живут файлы папки, считая от загрузки.cache— своя политика кэша;null— как у бакета.
Срок хранения
retention |
Имя | Файлы живут |
|---|---|---|
0 |
NONE |
бессрочно |
1 |
DAY |
сутки |
2 |
WEEK |
неделю |
3 |
MONTH |
месяц |
4 |
QUARTER |
квартал |
5 |
HALF_YEAR |
полгода |
6 |
YEAR |
год |
В запросе передаётся число, в ответе приходит { "id": 3, "name": "MONTH" }.
Истёкшие файлы удаляет планировщик (раз в 5 минут). Срок видно у каждого файла в expiresAt.
POST /v1/folders
{ "name": "avatars", "public": true, "retention": 3 }name — до 100 символов: буквы, цифры, пробел, точка, подчёркивание, дефис; начинается
с буквы или цифры. Возвращает 201 и папку; если такая уже есть — 409.
GET /v1/folders
Список папок, постранично: page, limit, search.
GET /v1/folders/{name}
Одна папка.
PUT /v1/folders/{name}
Меняет имя, видимость и срок хранения — тело как у создания, все поля задаются заново.
Изменения сразу касаются файлов, которые уже лежат в папке:
- видимость меняется у всех файлов: закрыли папку — их публичные адреса
/o/…перестают работать; - срок хранения пересчитывается у всех файлов от даты их загрузки. Если сократить срок, файлы старше нового срока удалятся при ближайшей очистке — в течение 5 минут.
Сокращение срока
Перевод папки, например, с «год» на «неделя» удалит все её файлы старше недели. Проверьте содержимое папки перед таким изменением.
PATCH /v1/folders/{name}/cache
Задаёт папке свою политику кэша.
{ "maxAge": 604800, "visibility": 1 }maxAge — 0–31536000 секунд, visibility — 1 (SHARED) · 2 (PRIVATE) · 3 (NO_STORE).
Это полная замена: оба поля задаются заново, и пропущенное поле тоже становится null — наследовать
от бакета. Подробнее — Кэширование.
DELETE /v1/folders/{name}
Удаляет файлы
Удаление папки удаляет и все файлы в ней. Возвращает 204.