Skip to content

Secure Sharing API

Авторизация: Bearer JWT, Telegram initData или API-токен.

Папки

Список папок

http
GET /api/secure/folders

Ответ:

json
[
  {
    "id": 1,
    "name": "Команда разработки",
    "description": "Доступы к серверам",
    "isPaused": false,
    "fileCount": 3,
    "createdAt": "2025-01-15T10:00:00.000Z",
    "updatedAt": "2025-01-15T10:00:00.000Z"
  }
]

Создание папки

http
POST /api/secure/folders
Content-Type: application/json

{
  "name": "Команда разработки",
  "description": "Доступы к серверам"
}

Обновление папки

http
PATCH /api/secure/folders/:id
Content-Type: application/json

{
  "name": "Новое название"
}

Приостановка / возобновление

http
PATCH /api/secure/folders/:id/pause

Переключает isPaused. При isPaused: true все ссылки внутри папки возвращают 403.

Удаление папки

http
DELETE /api/secure/folders/:id

Каскадно удаляет все файлы и ссылки.

Файлы

Список файлов в папке

http
GET /api/secure/files?folderId=1

Получение файла

http
GET /api/secure/files/:id

Создание файла

http
POST /api/secure/files
Content-Type: application/json

{
  "folderId": 1,
  "name": "SSH ключ",
  "description": "Сервер prod-01",
  "contentType": "text",
  "textContent": "ssh-rsa AAAA..."
}

Загрузка медиа/файла

http
POST /api/secure/files/:id/upload
Content-Type: multipart/form-data

file: <binary>

Удаление файла

http
DELETE /api/secure/files/:id

Ссылки

Список ссылок файла

http
GET /api/secure/links?fileId=1

Создание ссылки

http
POST /api/secure/links
Content-Type: application/json

{
  "fileId": 1,
  "expiresInHours": 24,
  "maxViews": 5
}

Ответ:

json
{
  "id": 1,
  "code": "abc123",
  "url": "https://tgio.app/s/abc123",
  "expiresAt": "2025-01-16T10:00:00.000Z",
  "maxViews": 5,
  "viewCount": 0,
  "isRevoked": false,
  "createdAt": "2025-01-15T10:00:00.000Z"
}

Отзыв ссылки

http
PATCH /api/secure/links/:id/revoke

Восстановление ссылки

http
PATCH /api/secure/links/:id/restore

Удаление ссылки

http
DELETE /api/secure/links/:id

Публичный просмотр (без авторизации)

Метаданные контента

http
GET /api/secure/view/:code

Для текста возвращает lines, для файлов — метаданные (mimeType, fileName, fileSize).

Стриминг файла

http
GET /api/secure/view/:code/stream

Поддерживает HTTP Range для видео.

Скачивание файла

http
GET /api/secure/view/:code/download

Коды ошибок

КодОписание
403Ссылка отозвана или папка приостановлена
404Ссылка не найдена
410Срок ссылки истёк или лимит просмотров
413Файл превышает 10 МБ

Telegram-аналитика для тех, кто понимает