Skip to content

Довідник REST API

Панель надає REST API для операцій з файлами.

Автентифікація

Всі ендпоінти вимагають JWT автентифікації через заголовок Authorization:

Authorization: Bearer <token>

Отримайте токен через ендпоінти автентифікації.

Ендпоінти автентифікації

POST /auth/login

Автентифікація та отримання JWT токена.

Запит:

json
{
  "username": "admin",
  "password": "admin"
}

Відповідь:

json
{
  "success": true,
  "token": "eyJhbG..."
}

Помилки:

СтатусПомилка
401Невірні облікові дані

POST /auth/logout

Інвалідація поточної сесії.

Відповідь:

json
{
  "success": true
}

GET /auth/status

Перевірка чи поточний токен валідний.

Відповідь:

json
{
  "authenticated": true,
  "user": "admin"
}

Ендпоінти файлів

POST /api/files/upload

Завантаження файлу на сервер.

Запит:

  • Content-Type: multipart/form-data
  • Body:
    • file: Файл для завантаження
    • targetDir: Шлях цільової директорії (опціонально, за замовчуванням /)

Відповідь:

json
{
  "success": true,
  "path": "/mods/my-mod.jar"
}

Помилки:

СтатусПомилка
400Файл не надано
413Файл занадто великий (макс 100MB)
500Помилка сервера

Приклад (curl):

bash
curl -X POST \
  -H "Authorization: Bearer <token>" \
  -F "file=@my-mod.jar" \
  -F "targetDir=/mods" \
  http://localhost:3000/api/files/upload

GET /api/files/download

Завантаження файлу або директорії як tar архів.

Параметри запиту:

ПараметрТипОбов'язковоОпис
pathstringТакШлях до файлу або директорії

Відповідь:

  • Content-Type: application/x-tar
  • Content-Disposition: attachment; filename="<name>.tar"

Помилки:

СтатусПомилка
400Шлях обов'язковий
404Файл не знайдено
500Помилка сервера

Приклад (curl):

bash
curl -X GET \
  -H "Authorization: Bearer <token>" \
  "http://localhost:3000/api/files/download?path=/config.json" \
  -o config.tar

Формат відповіді помилки

Всі помилки слідують цьому формату:

json
{
  "success": false,
  "error": "Повідомлення про помилку тут"
}

Обмеження частоти запитів

Наразі обмеження частоти не реалізовано. Розгляньте використання зворотного проксі (nginx, Traefik) з rate limiting для продакшн розгортань.

CORS

CORS увімкнено для origin фронтенду. Для кастомних інтеграцій налаштуйте ваш зворотний проксі відповідно.

Not affiliated with Hypixel Studios or Hytale.