09.03.2026 16:45

Add

[POST] …/v1/file/add

Создаёт новый файл и возвращает его ID.

Метод поддерживает два формата запроса:

  • application/json для обратной совместимости, когда содержимое файла передаётся в data как Base64.
  • multipart/form-data для потоковой загрузки бинарного файла без Base64 в клиентском запросе.

Входные параметры

Для application/json:

Название Тип данных Обязательность Описание
name String Обязательный Отображаемое имя файла
extension String Обязательный Расширение файла без точки
data String Обязательный Содержимое файла в Base64
access_level FileAccessLevelEnum Обязательный personal или public
folder_id Int64 Необязательный Целевая папка. Если не передано, используется 1 (root)

Для multipart/form-data:

Название Тип данных Обязательность Описание
name String Необязательный Имя файла. Если не передано, сервер возьмёт его из имени загружаемого файла
extension String Необязательный Расширение файла без точки. Если не передано, сервер возьмёт его из имени загружаемого файла
file File Обязательный Бинарный поток файла
access_level FileAccessLevelEnum Обязательный personal или public
folder_id Int64 Необязательный Целевая папка. Если не передано, используется 1 (root)

Примечания:

  • Проверки существования/доступности папки выполняются только при версии БД >= 365.
  • Для версии БД < 365 работает режим совместимости (без проверок папок).

Ограничения и проверки

  • Метод принимает только один файл за запрос.
  • name не длиннее 200 символов.
  • extension не длиннее 10 символов.
  • Для JSON-режима учитывайте увеличение размера тела запроса из-за Base64.

Пример запроса

{
  "name": "contract.pdf",
  "extension": "pdf",
  "data": "JVBERi0xLjQKJ...",
  "access_level": "personal",
  "folder_id": 10
}

Пример multipart-запроса

curl -X POST "https://example.com/v1/file/add" \
  -H "Authorization: Bearer <token>" \
  -F "access_level=personal" \
  -F "folder_id=10" \
  -F "file=@contract.pdf"

Выходные параметры

Название Тип данных Описание
new_id long ID созданного файла

Пример ответа

{
  "ok": true,
  "result": {
    "new_id": 12345
  }
}