Обзор API
StatusRadar предоставляет версионированный REST API для программного доступа к данным мониторинга, а также эндпоинты приёма данных от probe, серверных агентов и телеметрии observability. На этой странице перечислена вся поверхность API, сгруппированная по семействам, с указанием схемы аутентификации, которую использует каждое семейство.
Базовые URL
Все эндпоинты находятся под префиксом /v1. Хост зависит от семейства:
| Хост | Используется |
|---|---|
https://api.statusradar.dev/v1 |
Public API, User API, Probe API, Agent API |
https://statusradar.dev/v1 |
То же, что и выше (псевдоним) |
https://otlp.statusradar.dev/v1 |
Приём OTLP (traces, logs, metrics) |
https://rum.statusradar.dev/v1 |
Приём RUM |
Версия API
Текущая версия API: v1. Версия является частью пути URL. Будущие версии будут выходить под новыми префиксами (v2, …), при этом v1 останется стабильной.
Аутентификация вкратце
Схемы аутентификации различаются в зависимости от семейства. Не предполагайте, что везде используется Bearer-токен.
| Семейство | Схема | Где |
|---|---|---|
| Public API | Нет | — |
| User API | Authorization: Bearer <user_api_token> |
Заголовок |
| Probe API | Authorization: Bearer <probe_token> |
Заголовок |
| Agent API | Authorization: Bearer <agent_token> |
Заголовок |
| Приём OTLP | X-App-Token: <app_token> |
Заголовок |
| Приём RUM | api_key=<key> |
Параметр запроса |
Типы токенов и управление ими см. в разделе Аутентификация API.
Формат запроса и ответа
API следует соглашениям REST:
GET— получение ресурсовPOST— создание ресурсов / отправка данныхPUT— обновление существующих ресурсовDELETE— удаление ресурсов
Запросы POST и PUT отправляют тело в формате JSON и должны включать:
Content-Type: application/json
Успешные запросы возвращают JSON со статусом HTTP 2xx. Ошибки возвращают статус 4xx/5xx с телом в формате JSON:
{
"error": true,
"message": "Resource not found",
"status": 404
}
Типичные коды статусов: 400 неверный запрос, 401 не авторизован, 403 запрещено, 404 не найдено, 422 ошибка валидации, 429 превышен лимит запросов, 500 ошибка сервера.
Public API
Без аутентификации. Доступ только на чтение к опубликованным данным статуса.
GET /v1/status/{slug} # Public status-page payload
GET /v1/monitors/{id}/uptime # Public uptime for a monitor
curl https://api.statusradar.dev/v1/status/my-status-page
User API
Требуется пользовательский API-токен (Authorization: Bearer <token>). Сгенерируйте его в Dashboard → Settings → API. Ограничен ресурсами, которыми владеет ваш аккаунт (и команда).
Мониторы
GET /v1/monitors # List monitors
POST /v1/monitors # Create a monitor
GET /v1/monitors/{id} # Get a monitor
PUT /v1/monitors/{id} # Update a monitor
DELETE /v1/monitors/{id} # Delete a monitor
GET /v1/monitors/{id}/checks # Recent check results
GET /v1/monitors/{id}/metrics # Performance metrics
GET /v1/monitors/{id}/uptime # Uptime summary
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.statusradar.dev/v1/monitors
Инциденты
Только чтение через API.
GET /v1/incidents # List incidents
GET /v1/incidents/{id} # Get an incident
Status-страницы
Только чтение через API.
GET /v1/status-pages # List status pages
GET /v1/status-pages/{id} # Get a status page
Probe API
Используется распределёнными Python-probe. Аутентификация через probe-токен (Authorization: Bearer <token>). Доступен как на api.statusradar.dev, так и на statusradar.dev.
POST /v1/probe/check-result # Submit a check result
GET /v1/probe/get-checks # Fetch checks assigned to this probe
POST /v1/probe/heartbeat # Report probe liveness
Agent API
Используется серверным агентом StatusRadar. Аутентификация через agent-токен (Authorization: Bearer <token>).
POST /v1/agent/register # Register an agent
POST /v1/agent/metrics # Submit server / plugin metrics
GET /v1/agent/config # Fetch agent configuration
См. Установка агента и Настройка агента.
Приём OTLP
Бэкенд-телеметрия observability. Отправляйте на otlp.statusradar.dev с токеном приложения в заголовке X-App-Token. Создайте приложение и токен в Dashboard → Observability.
POST /v1/traces # Spans
POST /v1/logs # Log records
POST /v1/metrics # Metrics
curl -X POST https://otlp.statusradar.dev/v1/logs \
-H "X-App-Token: YOUR_APP_TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
См. Обзор OTLP.
Приём RUM
Real User Monitoring из браузерного SDK. Отправляйте на rum.statusradar.dev с ключом приложения в качестве параметра запроса api_key.
POST /v1/ingest?api_key=YOUR_API_KEY # Browser RUM events
Типы событий включают vital, pageload, error, console, click, network и replay_chunk. См. Обзор RUM.
Ограничение частоты запросов
Запросы к API ограничены по частоте на каждый токен/IP. При превышении лимита API возвращает HTTP 429 со значением retry_after. Кэшируйте ответы и используйте экспоненциальную задержку при повторных попытках.
Дальнейшие шаги
- Аутентификация API — типы токенов, области действия и безопасность
- Обзор OTLP — приём бэкенд-traces, logs и metrics
- Обзор RUM — браузерный real-user мониторинг
- Установка агента — настройка серверного агента
- Обзор Observability — приложения, домены и квоты