Все возможности клиента доступны из API: авторизация по токену, потоковая
chunked-загрузка с возобновлением, управление версиями и webhooks.
Примеры кода ниже.
Авторизация
Все запросы отправляются на https://api.vaultix.example/v2
с заголовком Authorization: Bearer <token>.
Токены можно создать в личном кабинете (не более 5 на тарифе Pro).
Частичная загрузка идёт в два шага: сначала создаётся сессия, затем
отправляется каждая часть по отдельности. Порядок частей не важен;
последняя часть закрывает сессию.
# 1. Создать сессию
POST /v2/uploads
{ "file": "backup-2025-01-15.sql", "size": 10737418240 }
# 2. Загрузить часть
PUT /v2/uploads/{id}/parts/{n}
[body: 8 МБ данных, шифрованных AES-256-GCM]
Возобновление
Сессия записывается в метаданные хранилища. Если соединение оборвалось,
запрос к сессии возвращает список загруженных частей; клиент закрывает
только недостающие.
История версий доступна для всех файлов. Восстановление — через указание
нужной версии. Список версий фильтруется по диапазону дат.
GET /v2/files/{fileId}/versions?since=2025-01-01&until=2025-02-01
POST /v2/files/{fileId}/restore
{ "version": "v2025-01-15-05:00" }
Webhooks
Подпишитесь на события: загрузка завершена, ошибка, достигнут квотный
лимит. Вы получите JSON с сигнатурой X-Vaultix-Signature.
POST /v2/hook
{ "url": "https://your.example/hook", "events": ["upload.finished","quota.warned"] }
Лимиты
API использует стандартный throttling по токену: 120 запросов в минуту
на чтение, 30 на запись. Частичные загрузки учтываются отдельно и не
расходуют запись-лимит.
429 Too Many Requests
{ "retry_after": 12 } // секунд до следующей попытки