https://osminog.app/api/v1Все API-запросы должны содержать ваш API-ключ в заголовке X-Api-Key:
curl -H "X-Api-Key: <your-api-key>" https://osminog.app/api/v1/{endpoint}?{params}
Для получения API-ключа:
/api/v1/task/status
Возвращает текущий статус и сводку производительности задачи мониторинга.
Возвращает текущий статус и сводку производительности задачи мониторинга.
Заголовки
| Заголовок | Тип | Обязательно | Описание |
|---|---|---|---|
X-Api-Key |
string |
Да | Ваш персональный API-ключ |
Параметры запроса
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
task_id |
string (UUID) |
Да | UUID задачи мониторинга |
Пример запроса
GET /api/v1/task/status?task_id=019cdeae-d393-7d65-8044-c07dd0fe2a17 HTTP/1.1
Host: osminog.app
X-Api-Key: your-api-key-here
| Поле | Тип | Описание |
|---|---|---|
task_id |
string |
UUID задачи |
website |
string |
Доменное имя мониторируемого сайта |
uri |
string |
Мониторируемый путь URI |
http_code |
integer|null |
Последний HTTP-статус (null, если результатов ещё нет) |
last_check |
string|null |
Время последней проверки (ISO 8601, UTC) |
response_time_ms |
float|null |
Последнее время отклика в миллисекундах |
min_ms |
float|null |
Минимальное время отклика по всем проверкам (мс) |
max_ms |
float|null |
Максимальное время отклика по всем проверкам (мс) |
avg_ms |
float|null |
Среднее время отклика по всем проверкам (мс) |
last_spike |
object|null |
Последнее событие превышения порога (null, если нет) |
last_spike.datetime |
string |
Время превышения (ISO 8601, UTC) |
last_spike.response_time_ms |
float |
Время отклика при превышении (мс) |
last_spike.baseline_avg_ms |
float |
Базовое среднее значение на момент превышения (мс) |
last_spike.diff_percent |
float|null |
Процент превышения базовой линии (null, если базовая линия = 0) |
Пример ответа
{
"task_id": "019cdeae-d393-7d65-8044-c07dd0fe2a17",
"website": "example.com",
"uri": "/api/health",
"http_code": 200,
"last_check": "2026-03-12T18:45:30Z",
"response_time_ms": 142.35,
"min_ms": 98.12,
"max_ms": 1523.67,
"avg_ms": 187.44,
"last_spike": {
"datetime": "2026-03-12T18:30:10Z",
"response_time_ms": 482.15,
"baseline_avg_ms": 187.44,
"diff_percent": 157.2
}
}
{ "error": "task_id is required." }
{ "error": "Invalid API key." }
{ "error": "Task not found." }
/api/v1/website/tasks
Возвращает все задачи и их статус/производительность для сайта.
Возвращает все задачи и их статус/производительность для сайта.
Заголовки
| Заголовок | Тип | Обязательно | Описание |
|---|---|---|---|
X-Api-Key |
string |
Да | Ваш персональный API-ключ |
Параметры запроса
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
website_id |
string (UUID) |
Да | UUID сайта |
Пример запроса
GET /api/v1/website/tasks?website_id=019cdeae-a1b2-7c3d-9044-abcdef123456 HTTP/1.1
Host: osminog.app
X-Api-Key: your-api-key-here
| Поле | Тип | Описание |
|---|---|---|
website_id |
string |
UUID сайта |
domain |
string |
Доменное имя мониторируемого сайта |
is_verified |
boolean |
Подтверждено ли владение сайтом |
tasks |
array |
Массив задач с данными о статусе |
tasks[].task_id |
string |
UUID задачи |
tasks[].uri |
string |
Мониторируемый путь URI |
tasks[].http_method |
string |
HTTP-метод (GET, POST и т.д.) |
tasks[].frequency_seconds |
integer |
Интервал проверки в секундах |
tasks[].concurrency |
integer |
Количество параллельных запросов за тик |
tasks[].execution_mode |
string |
"background" или "on_demand" |
tasks[].is_active |
boolean |
Активна ли задача в данный момент |
tasks[].http_code |
integer|null |
Последний HTTP-статус (null, если результатов ещё нет) |
tasks[].last_check |
string|null |
Время последней проверки (ISO 8601, UTC) |
tasks[].response_time_ms |
float|null |
Последнее время отклика в миллисекундах |
tasks[].min_ms |
float|null |
Минимальное время отклика по всем проверкам (мс) |
tasks[].max_ms |
float|null |
Максимальное время отклика по всем проверкам (мс) |
tasks[].avg_ms |
float|null |
Среднее время отклика по всем проверкам (мс) |
tasks[].last_spike |
object|null |
Последнее событие превышения порога (null, если нет) |
Пример ответа
{
"website_id": "019cdeae-a1b2-7c3d-9044-abcdef123456",
"domain": "example.com",
"is_verified": true,
"tasks": [
{
"task_id": "019cdeae-d393-7d65-8044-c07dd0fe2a17",
"uri": "/api/health",
"http_method": "GET",
"frequency_seconds": 60,
"concurrency": 1,
"execution_mode": "background",
"is_active": true,
"http_code": 200,
"last_check": "2026-03-12T18:45:30Z",
"response_time_ms": 142.35,
"min_ms": 98.12,
"max_ms": 1523.67,
"avg_ms": 187.44,
"last_spike": null
},
{
"task_id": "019cdeae-e4f5-7a2b-8055-fedcba987654",
"uri": "/",
"http_method": "GET",
"frequency_seconds": 300,
"concurrency": 2,
"execution_mode": "background",
"is_active": true,
"http_code": 200,
"last_check": "2026-03-12T18:40:00Z",
"response_time_ms": 85.20,
"min_ms": 45.00,
"max_ms": 920.10,
"avg_ms": 112.33,
"last_spike": {
"datetime": "2026-03-12T17:15:00Z",
"response_time_ms": 482.15,
"baseline_avg_ms": 112.33,
"diff_percent": 329.2
}
}
]
}
{ "error": "website_id is required." }
{ "error": "Invalid API key." }
{ "error": "Website not found." }