Перейти к содержимому
CalabДокументация

Файлы

Загрузка файлов в пространство, личные сообщения и задачи, скачивание и миниатюры.

Файлы в Calab загружаются отдельно от сообщений: сначала файл, затем его id в attachmentIds сообщения или задачи. Скачивание и миниатюры требуют того же заголовка Authorization, что и остальной API, — публичных ссылок на файлы нет.

ДействиеПраво
загрузить в пространство или личные сообщенияATTACH_FILES
загрузить для задачиправа на задачу (CREATE_TASKS / EDIT_TASKS)
скачать, миниатюрадоступ к комнате, задаче или объекту, где файл используется

Маршруты

МетодПутьЧто делает
POST/api/workspaces/{id}/filesЗагрузить файл в пространство (multipart file) → {file}
POST/api/dms/{id}/filesЗагрузить файл в личные сообщения → {file}
POST/api/boards/{id}/filesЗагрузить файл для описания или комментария задачи → {file}
GET/api/files/{id}Скачать файл
GET/api/files/{id}/thumbnailМиниатюра изображения

Недоступно ботам

POST /api/files/convert — преобразование HEIC в JPEG для клиентов без декодера HEIF; это служебный маршрут приложения, не часть API ботов.

Загрузить

Ответ — FileMeta:

ПолеОписание
idid файла — его передают в attachmentIds
name, mimeИмя и тип (тип определяет сервер по содержимому)
sizeРазмер в байтах — строка (uint64)
width, heightДля изображений, иначе 0
sha256Хеш, вычисленный сервером при приёме
url, thumbnailUrl/api/files/{id} и /api/files/{id}/thumbnail (только для изображений)
curl -s -X POST $CALAB/api/workspaces/$WS/files -H "Authorization: Bearer $TOKEN" -F file=@chart.png
JSON
{
  "file": {
    "id": "0192b3f0-0000-7000-8000-0000000000f1",
    "workspaceId": "0191f0aa-0000-7000-8000-000000000001",
    "uploaderId": "0192a1b2-3c4d-7e5f-8a9b-0c1d2e3f4a5b",
    "name": "chart.png",
    "mime": "image/png",
    "size": "48213",
    "width": 1200,
    "height": 800,
    "sha256": "9f2c…",
    "url": "/api/files/0192b3f0-0000-7000-8000-0000000000f1",
    "thumbnailUrl": "/api/files/0192b3f0-0000-7000-8000-0000000000f1/thumbnail",
    "createdAt": "2026-10-14T10:00:00Z"
  }
}

Скачать

curl -s -L -o chart.png $CALAB/api/files/$FILE -H "Authorization: Bearer $TOKEN"

Лимиты

ЛимитЗначение
Загрузки бота30 сразу, 120 в час
Размер файла и квота хранилищапо тарифу пространства (413 FILE_TOO_LARGE, 413 FILE_QUOTA_EXCEEDED)
Вложений в сообщении≤ 20