Skip to main content
Файлы принадлежат пользователю и организации. Один пользователь получает 10 ГБ суммарно по всем своим организациям: 1 ГБ = 1000000000 байт. Квота включает карантин и незавершённое удаление. Предел объекта 50 МиБ = 52428800 байт.
  1. POST /v1/files: filename, mime_type, size_bytes, sha256 (64 строчных hex-символа).
  2. PUT точных байтов по upload.url с upload.headers. В браузере Content-Length выставляется автоматически по Blob. Ссылка действует до 300 секунд.
  3. POST /v1/files/ID/complete проверяет размер, SHA-256, сигнатуру типа и антивирус. При недоступном сканере файл остаётся закрыт; повтор complete допустим.
  4. GET /v1/files/ID/download выдаёт ссылку до 300 секунд, не дольше оставшегося срока хранения. GET /v1/files/ID/content возвращает проверенные байты с attachment и private, no-store.
Принимаются PNG/JPEG/WebP, WAV/MP3, MP4, PDF и UTF-8 TXT. Имя не может содержать путь, управляющие символы или скрытое имя с точкой в начале. HTML, SVG, архивы и произвольная загрузка по пользовательскому URL не принимаются. Хранение по умолчанию 7 дней; точное время в retentionUntil. DELETE /v1/files/ID закрывает доступ. Если ссылка PUT ещё действует, квота остаётся занятой до её истечения и удаления объекта. Готовый файл нельзя перезаписать старой ссылкой PUT. GET /v1/files и GET /v1/files/quota показывают метаданные и объём. Пагинация файлов: limit 1–100, after=next_cursor. Ссылки не следует писать в журналы или передавать посторонним: до истечения срока они дают доступ к файлу.