Skip to content

Обзор API

Базовый URL

Все API-эндпоинты доступны по пути /api/v1:

https://slozy.net/api/v1

Для локальной разработки:

http://localhost:8080/api/v1

Аутентификация

API использует JWT Bearer-токены. Токен передаётся в заголовке Authorization:

Authorization: Bearer <access_token>

Получить токен можно через эндпоинты /auth/register и /auth/login. Токен живёт 8 часов (настраивается через JWT_EXPIRATION). По истечении токен обновляется через /auth/refresh.

Формат ответов

Все ответы возвращаются в JSON. Успешные ответы:

json
{
  "success": true,
  "data": { ... }
}

Ответы со списками поддерживают пагинацию:

json
{
  "success": true,
  "data": {
    "items": [],
    "total": 42,
    "page": 1,
    "page_size": 10,
    "has_next": true
  }
}

Ответы с ошибками:

json
{
  "success": false,
  "error": "Описание ошибки",
  "details": "Детали (могут отсутствовать)"
}

HTTP-статусы

КодОписание
200Успешный запрос
201Успешное создание
204Успешное удаление
400Некорректный запрос
401Не авторизован
403Доступ запрещён
404Ресурс не найден
413Слишком большое тело запроса
429Превышен rate limit
500Внутренняя ошибка сервера

Rate Limiting

Действуют два уровня ограничений:

  • Глобальный: 1000 запросов в минуту
  • На IP: 100 запросов в минуту

При превышении возвращается 429 Too Many Requests. Заголовки ответа содержат информацию о лимитах:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 2026-06-11T14:00:00Z

Версионирование

API версионируется через путь: /api/v1/, /api/v2/ и т.д. Обратная совместимость в рамках одной мажорной версии гарантируется. Изменения, нарушающие совместимость, публикуются в release notes.

Группы эндпоинтов

ГруппаПрефиксОписание
Auth/api/v1/authРегистрация, вход, выход, обновление токенов
SLO/api/v1/slosCRUD для Service Level Objectives
Prometheus/api/v1/prometheusSLO-расчёты, метрики в реальном времени
Notifications/api/v1/notificationsКаналы оповещений, правила, история
Cache/api/v1/cacheУправление кэшем, статистика, конфигурация
Health/api/v1/healthПроверки состояния сервиса