Полная документация в формате Markdown доступна по адресу /api-reference.md.
Statuser API (v1.0.0)
Официальный API для интеграции с платформой Statuser.
Statuser — сервис мониторинга доступности серверов, сайтов и приложений. С помощью публичного API вы можете интегрировать мониторинг в свою систему, управлять проверками, получать инциденты, настраивать уведомления и страницы статуса.
Аутентификация
Все запросы требуют аутентификации с помощью API ключа, который можно создать в <a href="https://statuser.cloud/my/account/api-keys" target="_blank" rel="noopener noreferrer">панели управления</a>. API ключ необходимо передавать в заголовке каждого запроса:
Authorization: Bearer <ваш токен>
Версионирование
Все эндпоинты и примеры в документации используют явную версию. Версионирование задаётся на уровне каждого эндпоинта и не является глобальным.
Версия указывается в пути запроса сразу после базового URL. Например:
GET /v1/account
Этот запрос обращается к первой версии метода получения данных об аккаунте.
API Statuser следует принципам семантического версионирования, при этом добавление новых полей в ответ может происходить без изменения версии эндпоинта.
Рекомендуется обрабатывать только нужные поля, а не весь ответ целиком. Не передавайте ответы API сторонним системам без валидации.
Разрабатывайте интеграции так, чтобы они были устойчивы к добавлению новых полей и не полагались на порядок ключей в JSON-объекте.
Ограничение частоты запросов
Чтобы обеспечить стабильность для всех пользователей, Statuser защищает API от всплесков входящего трафика, анализируя количество запросов c каждого аккаунта к каждой конечной точке.
В каждом ответе API возвращаются заголовки, содержащие информацию о текущем лимите:
| Заголовок | Описание |
|---|
ratelimit-limit | Максимальное количество запросов в рамках текущего окна |
ratelimit-policy | Политика лимитов, например 3000;w=900 означает 3000 запросов на 900 сек |
ratelimit-remaining | Количество оставшихся запросов в текущем окне |
ratelimit-reset | Через сколько секунд произойдёт сброс лимита |
Если лимит превышен, API вернёт ошибку в формате:
{
"status": 429,
"error_code": "too_many_requests"
"message": "Too many requests from this IP, try again later",
}
Для корректной работы с ограничениями частоты запросов используйте значение ratelimit-reset, чтобы отложить повторный запрос до завершения текущего окна лимита.
Серверы
https://api.statuser.cloud
Аутентификация
bearer — http / bearer / JWT
Эндпоинты
Аккаунт
GET /v1/telegram/linked — Получить список привязанных Телеграм аккаунтов
Аутентификация: bearer
Ответы:
200 — Возвращает список привязанных аккаунтов Телеграм
PATCH /v1/telegram/set-topic — Установить топик для уведомлений
Аутентификация: bearer
Ответы:
204 — Топик для уведомлений успешно установлен
GET /v1/account — Получить информацию об аккаунте
Аутентификация: bearer
Ответы:
200 — Информация об аккаунте успешно получена
application/json: object
id (number, пример: 1) required — ID аккаунта
email (string, пример: "user@example.com") required — Электронная почта пользователя
name (string, пример: "Иван Иванов") required — Имя пользователя
status (string, пример: "active") required — Статус аккаунта
password (string, пример: "password") required — Пароль аккаунта
avatar_url (object | null) required — URL аватара пользователя
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата создания аккаунта
password_changed_at (object | null) required — Дата последней смены пароля
timezone (string, пример: "Europe/Moscow") required — Часовой пояс, который используется для отображения времени в нотификациях
is_ai_assistant_enabled (boolean, пример: true) required — Отображается ли чат с ИИ помощником в панели управления
Пример:
{
"id": 1,
"email": "user@example.com",
"name": "Иван Иванов",
"status": "active",
"password": "password",
"avatar_url": "https://example.com/avatar.jpg",
"created_at": "2023-01-01T00:00:00.000Z",
"password_changed_at": "2023-01-05T00:00:00.000Z",
"timezone": "Europe/Moscow",
"is_ai_assistant_enabled": true
}
404 — Аккаунт не найден
PATCH /v1/account — Обновить информацию об аккаунте
Аутентификация: bearer
Тело запроса (обязательное)
Content-Type: application/json
object
email (string, пример: "user@example.com") — Электронная почта пользователя
name (string, пример: "Иван Иванов") — Имя пользователя
timezone (string, пример: "Europe/Moscow") — Часовой пояс, который используется для отображения времени в нотификациях
is_ai_assistant_enabled (boolean, пример: true) — Отображается ли чат с ИИ помощником в панели управления
Пример:
{
"email": "user@example.com",
"name": "Иван Иванов",
"timezone": "Europe/Moscow",
"is_ai_assistant_enabled": true
}
Ответы:
200 — Информация об аккаунте успешно обновлена
application/json: object
id (number, пример: 1) required — ID аккаунта
email (string, пример: "user@example.com") required — Электронная почта пользователя
name (string, пример: "Иван Иванов") required — Имя пользователя
status (string, пример: "active") required — Статус аккаунта
password (string, пример: "password") required — Пароль аккаунта
avatar_url (object | null) required — URL аватара пользователя
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата создания аккаунта
password_changed_at (object | null) required — Дата последней смены пароля
timezone (string, пример: "Europe/Moscow") required — Часовой пояс, который используется для отображения времени в нотификациях
is_ai_assistant_enabled (boolean, пример: true) required — Отображается ли чат с ИИ помощником в панели управления
Пример:
{
"id": 1,
"email": "user@example.com",
"name": "Иван Иванов",
"status": "active",
"password": "password",
"avatar_url": "https://example.com/avatar.jpg",
"created_at": "2023-01-01T00:00:00.000Z",
"password_changed_at": "2023-01-05T00:00:00.000Z",
"timezone": "Europe/Moscow",
"is_ai_assistant_enabled": true
}
404 — Аккаунт не найден
GET /v1/max/links — Получить ссылку для привязки аккаунта MAX
Аутентификация: bearer
Ответы:
GET /v1/max/linked — Получить список привязанных MAX аккаунтов
Аутентификация: bearer
Ответы:
200 — Возвращает список привязанных MAX аккаунтов
application/json: array of object
max_id (string, пример: "1234567890") required — ID чата в Max
max_name (object | null) required — Название чата или имя пользователя
avatar_url (object | null) required — Прямая ссылка на аватар в S3
type (string, enum: "user", "chat", пример: "chat") required — Тип получателя: пользователь или чат
created_at (string (date-time), пример: "2024-11-30T14:48:00.000Z") required — Дата привязки аккаунта MAX
is_2fa_account (boolean, пример: true) required — Используется ли аккаунт для двухфакторной аутентификации
Пример:
[
{
"max_id": "1234567890",
"max_name": "My Team Chat",
"avatar_url": "https://s3.statuser.cloud/avatars/avatar_a1b2c3d4-e5f6-7890-abcd-ef1234567890.jpg",
"type": "chat",
"created_at": "2024-11-30T14:48:00.000Z",
"is_2fa_account": true
}
]
DELETE /v1/max/unlink — Отвязать MAX аккаунт
Аутентификация: bearer
Тело запроса (обязательное)
ID аккаунта MAX, который нужно отвязать
Content-Type: application/json
object
max_id (string) — ID получателя MAX
Пример:
{
"max_id": ""
}
Ответы:
204 — Аккаунт MAX успешно отвязан
PATCH /v1/max/2fa-account — Изменить используемый для 2fa MAX аккаунт
Аутентификация: bearer
Тело запроса (обязательное)
Content-Type: application/json
object
max_id (string) required — ID чата в Max
Пример:
{
"max_id": ""
}
Ответы:
204 — Изменяет используемый для 2fa MAX аккаунт
GET /v1/holiday-mode — Получить статус режима праздников
Аутентификация: bearer
Ответы:
POST /v1/holiday-mode — Изменить статус режима праздников
Аутентификация: bearer
Тело запроса (обязательное)
Content-Type: application/json
object
holiday_until (object | null) required — Дата и время (UTC) до включения уведомлений, либо null для выключения режима
Пример:
{
"holiday_until": "2025-08-18 13:20:25.495746+00"
}
Ответы:
GET /v1/2fa — Получить информацию по 2fa на аккаунте
Аутентификация: bearer
Ответы:
200 — Информацию по 2fa успешно получена
application/json: object
preferred_method (string | null, enum: "telegram", "max", "email", "totp", пример: "telegram") required — Предпочитаемый метод двухфакторной аутентификации
allowed_methods (array of string, enum: "telegram", "max", "email", "totp") required — Список доступных методов двухфакторной аутентификации
Пример:
{
"preferred_method": "telegram",
"allowed_methods": [
"telegram",
"max",
"totp",
"email"
]
}
Биллинг
GET /v1/billing/current-plan — Получить информацию о текущем тарифе аккаунта
Аутентификация: bearer
Ответы:
200 — Информация о тарифе успешно получена
application/json: object
id (number, пример: 2) required — ID тарифа
name (string, пример: "Pro") required — Название текущего тарифа
price_per_month (number, пример: 199) required — Стоимость тарифа в месяц (в рублях)
price_per_year (number, пример: 1990) required — Стоимость тарифа в год (в рублях)
features (object) required — Ограничения и возможности тарифа
servers_limit (number, пример: 50) required — Максимальное количество серверов
available_locations (array of string) required — Список доступных локаций мониторинга
allow_location_selection (boolean, пример: true) required — Возможность ручного выбора локаций
min_check_interval_seconds (number, пример: 60) required — Минимальный интервал проверок (в секундах)
ssl_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга SSL
domain_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга доменов
dns_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга DNS
dns_history_retention_days (number, пример: 30) required — Срок хранения истории DNS записей (в днях)
keyword_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга ключевых слов
heartbeat_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга heartbeat
latency_alerts_enabled (boolean, пример: true) required — Поддержка уведомлений о медленном ответе
incident_retention_days (number, пример: 60) required — Срок хранения инцидентов (в днях)
network_diagnostics_enabled (boolean, пример: true) required — Доступность сетевой диагностики
screenshots_enabled (boolean, пример: true) required — Поддержка скриншотов при проверках
incident_comments_enabled (boolean, пример: true) required — Возможность комментирования инцидентов
incident_report_enabled (boolean, пример: true) required — Возможность скачивания отчета по инциденту
webhook_notifications_enabled (boolean, пример: false) required — Доступность вебхук-уведомлений
status_pages_limit (number, пример: 3) required — Максимальное количество страниц статуса
custom_domain_enabled (boolean, пример: true) required — Поддержка подключения собственного домена
password_protected_status_page (boolean, пример: true) required — Защита страниц паролем
indexing_control_enabled (boolean, пример: true) required — Исключение страниц из индексации поисковиками
white_label_enabled (boolean, пример: false) required — Возможность вайтлейбла (удаления логотипа Статусера)
status_page_minimum_incident_duration_enabled (boolean, пример: true) required — Возможность задавать минимальную длительность инцидента для отображения на странице статуса
status_page_incident_reports_per_month_limit (number, пример: 1) required — Лимит количества публичных отчётов по инцидентам для страниц статуса в месяц
status_page_planned_maintenances_per_month_limit (number, пример: 1) required — Лимит количества записей о плановых работах для страниц статуса в месяц
valid_until (object) required — Срок действия текущего тарифа
current_billing_period (string | null, enum: "month", "year", пример: "month") required — Период оплаты текущего тарифа
pending_plan (object | null) required — Планируемый тариф на который произойдет даунгрейд
id (number, пример: 2) required — ID тарифа
name (string, пример: "Pro") required — Название текущего тарифа
price_per_month (number, пример: 199) required — Стоимость тарифа в месяц (в рублях)
price_per_year (number, пример: 1990) required — Стоимость тарифа в год (в рублях)
features (object) required — Ограничения и возможности тарифа
servers_limit (number, пример: 50) required — Максимальное количество серверов
available_locations (array of string) required — Список доступных локаций мониторинга
allow_location_selection (boolean, пример: true) required — Возможность ручного выбора локаций
min_check_interval_seconds (number, пример: 60) required — Минимальный интервал проверок (в секундах)
ssl_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга SSL
domain_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга доменов
dns_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга DNS
dns_history_retention_days (number, пример: 30) required — Срок хранения истории DNS записей (в днях)
keyword_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга ключевых слов
heartbeat_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга heartbeat
latency_alerts_enabled (boolean, пример: true) required — Поддержка уведомлений о медленном ответе
incident_retention_days (number, пример: 60) required — Срок хранения инцидентов (в днях)
network_diagnostics_enabled (boolean, пример: true) required — Доступность сетевой диагностики
screenshots_enabled (boolean, пример: true) required — Поддержка скриншотов при проверках
incident_comments_enabled (boolean, пример: true) required — Возможность комментирования инцидентов
incident_report_enabled (boolean, пример: true) required — Возможность скачивания отчета по инциденту
webhook_notifications_enabled (boolean, пример: false) required — Доступность вебхук-уведомлений
status_pages_limit (number, пример: 3) required — Максимальное количество страниц статуса
custom_domain_enabled (boolean, пример: true) required — Поддержка подключения собственного домена
password_protected_status_page (boolean, пример: true) required — Защита страниц паролем
indexing_control_enabled (boolean, пример: true) required — Исключение страниц из индексации поисковиками
white_label_enabled (boolean, пример: false) required — Возможность вайтлейбла (удаления логотипа Статусера)
status_page_minimum_incident_duration_enabled (boolean, пример: true) required — Возможность задавать минимальную длительность инцидента для отображения на странице статуса
status_page_incident_reports_per_month_limit (number, пример: 1) required — Лимит количества публичных отчётов по инцидентам для страниц статуса в месяц
status_page_planned_maintenances_per_month_limit (number, пример: 1) required — Лимит количества записей о плановых работах для страниц статуса в месяц
pending_plan_effective_at (object | null) required — Дата применения запланированного даунгрейда
Пример:
{
"id": 2,
"name": "Pro",
"price_per_month": 199,
"price_per_year": 1990,
"features": {
"servers_limit": 50,
"available_locations": [
"msk-1",
"ams-1",
"ala-1"
],
"allow_location_selection": true,
"min_check_interval_seconds": 60,
"ssl_monitoring_enabled": true,
"domain_monitoring_enabled": true,
"dns_monitoring_enabled": true,
"dns_history_retention_days": 30,
"keyword_monitoring_enabled": true,
"heartbeat_monitoring_enabled": true,
"latency_alerts_enabled": true,
"incident_retention_days": 60,
"network_diagnostics_enabled": true,
"screenshots_enabled": true,
"incident_comments_enabled": true,
"incident_report_enabled": true,
"webhook_notifications_enabled": false,
"status_pages_limit": 3,
"custom_domain_enabled": true,
"password_protected_status_page": true,
"indexing_control_enabled": true,
"white_label_enabled": false,
"status_page_minimum_incident_duration_enabled": true,
"status_page_incident_reports_per_month_limit": 1,
"status_page_planned_maintenances_per_month_limit": 1
},
"valid_until": "2025-12-31T23:59:59.000Z",
"current_billing_period": "month",
"pending_plan": {
"id": 2,
"name": "Pro",
"price_per_month": 199,
"price_per_year": 1990,
"features": {
"servers_limit": 50,
"available_locations": [
"msk-1",
"ams-1",
"ala-1"
],
"allow_location_selection": true,
"min_check_interval_seconds": 60,
"ssl_monitoring_enabled": true,
"domain_monitoring_enabled": true,
"dns_monitoring_enabled": true,
"dns_history_retention_days": 30,
"keyword_monitoring_enabled": true,
"heartbeat_monitoring_enabled": true,
"latency_alerts_enabled": true,
"incident_retention_days": 60,
"network_diagnostics_enabled": true,
"screenshots_enabled": true,
"incident_comments_enabled": true,
"incident_report_enabled": true,
"webhook_notifications_enabled": false,
"status_pages_limit": 3,
"custom_domain_enabled": true,
"password_protected_status_page": true,
"indexing_control_enabled": true,
"white_label_enabled": false,
"status_page_minimum_incident_duration_enabled": true,
"status_page_incident_reports_per_month_limit": 1,
"status_page_planned_maintenances_per_month_limit": 1
}
},
"pending_plan_effective_at": "2025-12-31T23:59:59.000Z"
}
GET /v1/billing/plans — Получить список публичных тарифов
Ответы:
200 — Публичные тарифы успешно получены
application/json: array of object
id (number, пример: 2) required — ID тарифа
name (string, пример: "Pro") required — Название текущего тарифа
price_per_month (number, пример: 199) required — Стоимость тарифа в месяц (в рублях)
price_per_year (number, пример: 1990) required — Стоимость тарифа в год (в рублях)
features (object) required — Ограничения и возможности тарифа
servers_limit (number, пример: 50) required — Максимальное количество серверов
available_locations (array of string) required — Список доступных локаций мониторинга
allow_location_selection (boolean, пример: true) required — Возможность ручного выбора локаций
min_check_interval_seconds (number, пример: 60) required — Минимальный интервал проверок (в секундах)
ssl_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга SSL
domain_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга доменов
dns_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга DNS
dns_history_retention_days (number, пример: 30) required — Срок хранения истории DNS записей (в днях)
keyword_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга ключевых слов
heartbeat_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга heartbeat
latency_alerts_enabled (boolean, пример: true) required — Поддержка уведомлений о медленном ответе
incident_retention_days (number, пример: 60) required — Срок хранения инцидентов (в днях)
network_diagnostics_enabled (boolean, пример: true) required — Доступность сетевой диагностики
screenshots_enabled (boolean, пример: true) required — Поддержка скриншотов при проверках
incident_comments_enabled (boolean, пример: true) required — Возможность комментирования инцидентов
incident_report_enabled (boolean, пример: true) required — Возможность скачивания отчета по инциденту
webhook_notifications_enabled (boolean, пример: false) required — Доступность вебхук-уведомлений
status_pages_limit (number, пример: 3) required — Максимальное количество страниц статуса
custom_domain_enabled (boolean, пример: true) required — Поддержка подключения собственного домена
password_protected_status_page (boolean, пример: true) required — Защита страниц паролем
indexing_control_enabled (boolean, пример: true) required — Исключение страниц из индексации поисковиками
white_label_enabled (boolean, пример: false) required — Возможность вайтлейбла (удаления логотипа Статусера)
status_page_minimum_incident_duration_enabled (boolean, пример: true) required — Возможность задавать минимальную длительность инцидента для отображения на странице статуса
status_page_incident_reports_per_month_limit (number, пример: 1) required — Лимит количества публичных отчётов по инцидентам для страниц статуса в месяц
status_page_planned_maintenances_per_month_limit (number, пример: 1) required — Лимит количества записей о плановых работах для страниц статуса в месяц
Пример:
[
{
"id": 2,
"name": "Pro",
"price_per_month": 199,
"price_per_year": 1990,
"features": {
"servers_limit": 50,
"available_locations": [
"msk-1",
"ams-1",
"ala-1"
],
"allow_location_selection": true,
"min_check_interval_seconds": 60,
"ssl_monitoring_enabled": true,
"domain_monitoring_enabled": true,
"dns_monitoring_enabled": true,
"dns_history_retention_days": 30,
"keyword_monitoring_enabled": true,
"heartbeat_monitoring_enabled": true,
"latency_alerts_enabled": true,
"incident_retention_days": 60,
"network_diagnostics_enabled": true,
"screenshots_enabled": true,
"incident_comments_enabled": true,
"incident_report_enabled": true,
"webhook_notifications_enabled": false,
"status_pages_limit": 3,
"custom_domain_enabled": true,
"password_protected_status_page": true,
"indexing_control_enabled": true,
"white_label_enabled": false,
"status_page_minimum_incident_duration_enabled": true,
"status_page_incident_reports_per_month_limit": 1,
"status_page_planned_maintenances_per_month_limit": 1
}
}
]
Серверы
GET /v1/servers — Получить все серверы на аккаунте
Аутентификация: bearer
Параметры (query):
limit (number) — Максимальное количество серверов
offset (number) — Смещение для пагинации
Ответы:
200 — Список серверов успешно получен
POST /v1/servers — Добавить в мониторинг новый сервер
Аутентификация: bearer
Тело запроса (обязательное)
Content-Type: application/json
object
host (string, пример: "192.168.1.1") required — Адрес нового сервера
protocol (string, пример: "http") required — Протокол проверки
port (number, пример: "22") required — Порт для проверки
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
body (object | null) required — Тело запроса
keyword (object | null) required — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") required — Режим проверки ключевого слова: успех если слово есть/если слова нет
headers (array of string) required — Собственные заголовки запроса
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) required — Интервал проверки сервера в секундах
heartbeat_grace_interval (object | null) — Допустимое опоздание в секундах для heartbeat: сколько ждать сверх check_interval
name (string, пример: "Восхитительный сервер") required — Название сервиса
description (string, пример: "Восхитительный сервер для проверки статуса") required — Описание сервиса
is_ssl_check (boolean, пример: true) required — Требуется ли выполнять проверку SSL-сертификата
is_domain_check (boolean, пример: true) required — Требуется ли выполнять проверку домена
is_latency_alert_enabled (boolean, пример: true) — Включить уведомления о медленном ответе сервера
latency_trigger_ms (number, пример: 800) — Порог в мс для определения медленного ответа
locations (array of unknown) required — Локации, из которых требуется выполнять проверки
dns_record_types (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: ["A","AAAA","MX"]) required — Типы DNS записей для мониторинга
Пример:
{
"host": "192.168.1.1",
"protocol": "http",
"port": "22",
"http_method": "head",
"body": "{\"key\": \"value\"}",
"keyword": "Welcome",
"keyword_mode": "present",
"headers": [],
"is_follow_redirects": true,
"request_timeout": "10",
"check_interval": 60,
"heartbeat_grace_interval": 300,
"name": "Восхитительный сервер",
"description": "Восхитительный сервер для проверки статуса",
"is_ssl_check": true,
"is_domain_check": true,
"is_latency_alert_enabled": true,
"latency_trigger_ms": 800,
"locations": [
"msk-1",
"ams-1",
"ala-1"
],
"dns_record_types": [
"A",
"AAAA",
"MX"
]
}
Ответы:
201 — Сервер успешно добавлен
application/json: object
id (number, пример: 1) required — ID сервера
host (string, пример: "192.168.1.1") required — IP адрес сервера
protocol (string, пример: "http") required — Протокол сервера
heartbeat_token (object | null) required — Токен для heartbeat URL (только для protocol=heartbeat)
last_heartbeat_at (object | null) required — Время последнего полученного heartbeat (только для protocol=heartbeat)
heartbeat_grace_interval (object | null) required — Допустимое опоздание в секундах для heartbeat: сколько ждать сверх check_interval
port (object) required — Порт для проверки tcp
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) required — Интервал проверки сервера в секундах
name (object) required — Название сервиса
description (object | null) required — Описание сервиса
status (string, пример: "online") required — Текущий статус сервиса
body (object | null) required — Тело запроса для проверки
keyword (object | null) required — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") required — Режим проверки ключевого слова
headers (array of string) required — Собственные заголовки запроса
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
last_unavailable_at (object) required — Время, когда сервер в последний раз стал недоступен (начало текущего или последнего инцидента)
last_available_at (object) required — Время, когда сервер в последний раз восстановил доступность (завершение последнего инцидента или последняя успешная проверка)
last_checked_at (object) required — Время последней проверки сервера
is_ssl_check (boolean, пример: true) required — Включены ли проверки SSL-сертификата
ssl (object) required — Информация о SSL-сертификате
is_domain_check (boolean, пример: true) required — Включены ли проверки времени окончания домена
domain (object) required — Информация о домене
is_latency_alert_enabled (boolean, пример: true) required — Включены ли уведомления о медленном ответе
latency_trigger_ms (number, пример: 800) required — Порог в мс для перехода в состояние SLOW
locations (array of string) required — Локации, из которых выполняются проверки
dns_record_types (object | null) required — Типы DNS записей для мониторинга
dns_records (array of object | null) required — Текущие DNS записи домена
record_type (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: "A") required — Тип DNS записи
records (array of string) required — Структурированные значения DNS записей
dns_error_code (string | null, enum: "NODATA", "NXDOMAIN", "SERVFAIL", "REFUSED", "FORMERR", "NOTIMP", "UNKNOWN", пример: "NODATA") required — Код последней DNS ошибки (только для protocol=dns)
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время создания сервера
Пример:
{
"id": 1,
"host": "192.168.1.1",
"protocol": "http",
"heartbeat_token": "550e8400-e29b-41d4-a716-446655440000",
"last_heartbeat_at": "2025-12-31T23:59:59.000Z",
"heartbeat_grace_interval": 300,
"port": "22",
"http_method": "head",
"request_timeout": "10",
"check_interval": 60,
"name": "Восхитительный сервер",
"description": "Восхитительный сервер для проверки статуса",
"status": "online",
"body": "{\"key\": \"value\"}",
"keyword": "Welcome",
"keyword_mode": "present",
"headers": "{\"Authorization\": \"Bearer token\"}",
"is_follow_redirects": true,
"last_unavailable_at": "2023-01-02T00:00:00.000Z",
"last_available_at": "2023-01-03T12:34:56.000Z",
"last_checked_at": "2023-01-02T00:00:00.000Z",
"is_ssl_check": true,
"ssl": {},
"is_domain_check": true,
"domain": {},
"is_latency_alert_enabled": true,
"latency_trigger_ms": 800,
"locations": [
"msk-1",
"ams-1",
"ala-1"
],
"dns_record_types": [
"A",
"AAAA",
"MX"
],
"dns_records": [
{
"record_type": "A",
"records": [
{
"value": "192.168.1.1"
},
{
"value": "192.168.1.2"
},
{
"priority": 10,
"exchange": "mail.example.com"
},
{
"priority": 10,
"weight": 5,
"port": 443,
"target": "service.example.com"
}
]
}
],
"dns_error_code": "NODATA",
"created_at": "2023-01-01T00:00:00.000Z"
}
GET /v1/servers/{id} — Получить сервер
Аутентификация: bearer
Параметры (path):
Ответы:
200 — Сервер успешно получен
application/json: object
id (number, пример: 1) required — ID сервера
host (string, пример: "192.168.1.1") required — IP адрес сервера
protocol (string, пример: "http") required — Протокол сервера
heartbeat_token (object | null) required — Токен для heartbeat URL (только для protocol=heartbeat)
last_heartbeat_at (object | null) required — Время последнего полученного heartbeat (только для protocol=heartbeat)
heartbeat_grace_interval (object | null) required — Допустимое опоздание в секундах для heartbeat: сколько ждать сверх check_interval
port (object) required — Порт для проверки tcp
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) required — Интервал проверки сервера в секундах
name (object) required — Название сервиса
description (object | null) required — Описание сервиса
status (string, пример: "online") required — Текущий статус сервиса
body (object | null) required — Тело запроса для проверки
keyword (object | null) required — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") required — Режим проверки ключевого слова
headers (array of string) required — Собственные заголовки запроса
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
last_unavailable_at (object) required — Время, когда сервер в последний раз стал недоступен (начало текущего или последнего инцидента)
last_available_at (object) required — Время, когда сервер в последний раз восстановил доступность (завершение последнего инцидента или последняя успешная проверка)
last_checked_at (object) required — Время последней проверки сервера
is_ssl_check (boolean, пример: true) required — Включены ли проверки SSL-сертификата
ssl (object) required — Информация о SSL-сертификате
is_domain_check (boolean, пример: true) required — Включены ли проверки времени окончания домена
domain (object) required — Информация о домене
is_latency_alert_enabled (boolean, пример: true) required — Включены ли уведомления о медленном ответе
latency_trigger_ms (number, пример: 800) required — Порог в мс для перехода в состояние SLOW
locations (array of string) required — Локации, из которых выполняются проверки
dns_record_types (object | null) required — Типы DNS записей для мониторинга
dns_records (array of object | null) required — Текущие DNS записи домена
record_type (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: "A") required — Тип DNS записи
records (array of string) required — Структурированные значения DNS записей
dns_error_code (string | null, enum: "NODATA", "NXDOMAIN", "SERVFAIL", "REFUSED", "FORMERR", "NOTIMP", "UNKNOWN", пример: "NODATA") required — Код последней DNS ошибки (только для protocol=dns)
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время создания сервера
Пример:
{
"id": 1,
"host": "192.168.1.1",
"protocol": "http",
"heartbeat_token": "550e8400-e29b-41d4-a716-446655440000",
"last_heartbeat_at": "2025-12-31T23:59:59.000Z",
"heartbeat_grace_interval": 300,
"port": "22",
"http_method": "head",
"request_timeout": "10",
"check_interval": 60,
"name": "Восхитительный сервер",
"description": "Восхитительный сервер для проверки статуса",
"status": "online",
"body": "{\"key\": \"value\"}",
"keyword": "Welcome",
"keyword_mode": "present",
"headers": "{\"Authorization\": \"Bearer token\"}",
"is_follow_redirects": true,
"last_unavailable_at": "2023-01-02T00:00:00.000Z",
"last_available_at": "2023-01-03T12:34:56.000Z",
"last_checked_at": "2023-01-02T00:00:00.000Z",
"is_ssl_check": true,
"ssl": {},
"is_domain_check": true,
"domain": {},
"is_latency_alert_enabled": true,
"latency_trigger_ms": 800,
"locations": [
"msk-1",
"ams-1",
"ala-1"
],
"dns_record_types": [
"A",
"AAAA",
"MX"
],
"dns_records": [
{
"record_type": "A",
"records": [
{
"value": "192.168.1.1"
},
{
"value": "192.168.1.2"
},
{
"priority": 10,
"exchange": "mail.example.com"
},
{
"priority": 10,
"weight": 5,
"port": 443,
"target": "service.example.com"
}
]
}
],
"dns_error_code": "NODATA",
"created_at": "2023-01-01T00:00:00.000Z"
}
404 — Сервер не найден
PATCH /v1/servers/{id} — Обновить сервер
Аутентификация: bearer
Параметры (path):
Тело запроса (обязательное)
Content-Type: application/json
object
host (string, пример: "192.168.1.1") — Адрес сервера
protocol (string, пример: "http") — Протокол проверки
port (number, пример: 22) — Порт для проверки
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
body (object | null) required — Тело запроса
keyword (object | null) — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") — Режим проверки ключевого слова
headers (array of object) required — Собственные заголовки запроса
key (string, пример: "Content-Type") required — Ключ заголовка
value (string, пример: "application/json") required — Значение заголовка
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) — Интервал проверки сервера в секундах
heartbeat_grace_interval (object | null) — Период ожидания в секундах для heartbeat: сколько ждать сверх check_interval
name (string, пример: "Восхитительный сервер") — Название сервиса
description (string, пример: "Восхитительный сервер для проверки статуса") required — Описание сервиса
is_ssl_check (boolean, пример: true) required — Требуется ли выполнять проверку SSL-сертификата
is_domain_check (boolean, пример: true) required — Требуется ли выполнять проверку домена
is_latency_alert_enabled (boolean, пример: true) — Включить уведомления о медленном ответе сервера
latency_trigger_ms (number, пример: 800) — Порог (мс) для определения медленного ответа
locations (array of unknown) required — Локации, из которых требуется выполнять проверки
dns_record_types (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: ["A","AAAA","MX"]) — Типы DNS записей для мониторинга
Пример:
{
"host": "192.168.1.1",
"protocol": "http",
"port": 22,
"http_method": "head",
"body": "{\"key\": \"value\"}",
"keyword": "Welcome",
"keyword_mode": "present",
"headers": [
{
"key": "Authorization",
"value": "Bearer token"
}
],
"is_follow_redirects": true,
"request_timeout": "10",
"check_interval": 60,
"heartbeat_grace_interval": 300,
"name": "Восхитительный сервер",
"description": "Восхитительный сервер для проверки статуса",
"is_ssl_check": true,
"is_domain_check": true,
"is_latency_alert_enabled": true,
"latency_trigger_ms": 800,
"locations": [
"msk-1",
"ams-1",
"ala-1"
],
"dns_record_types": [
"A",
"AAAA",
"MX"
]
}
Ответы:
200 — Сервер успешно обновлен
application/json: object
id (number, пример: 1) required — ID сервера
host (string, пример: "192.168.1.1") required — IP адрес сервера
protocol (string, пример: "http") required — Протокол сервера
heartbeat_token (object | null) required — Токен для heartbeat URL (только для protocol=heartbeat)
last_heartbeat_at (object | null) required — Время последнего полученного heartbeat (только для protocol=heartbeat)
heartbeat_grace_interval (object | null) required — Допустимое опоздание в секундах для heartbeat: сколько ждать сверх check_interval
port (object) required — Порт для проверки tcp
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) required — Интервал проверки сервера в секундах
name (object) required — Название сервиса
description (object | null) required — Описание сервиса
status (string, пример: "online") required — Текущий статус сервиса
body (object | null) required — Тело запроса для проверки
keyword (object | null) required — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") required — Режим проверки ключевого слова
headers (array of string) required — Собственные заголовки запроса
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
last_unavailable_at (object) required — Время, когда сервер в последний раз стал недоступен (начало текущего или последнего инцидента)
last_available_at (object) required — Время, когда сервер в последний раз восстановил доступность (завершение последнего инцидента или последняя успешная проверка)
last_checked_at (object) required — Время последней проверки сервера
is_ssl_check (boolean, пример: true) required — Включены ли проверки SSL-сертификата
ssl (object) required — Информация о SSL-сертификате
is_domain_check (boolean, пример: true) required — Включены ли проверки времени окончания домена
domain (object) required — Информация о домене
is_latency_alert_enabled (boolean, пример: true) required — Включены ли уведомления о медленном ответе
latency_trigger_ms (number, пример: 800) required — Порог в мс для перехода в состояние SLOW
locations (array of string) required — Локации, из которых выполняются проверки
dns_record_types (object | null) required — Типы DNS записей для мониторинга
dns_records (array of object | null) required — Текущие DNS записи домена
record_type (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: "A") required — Тип DNS записи
records (array of string) required — Структурированные значения DNS записей
dns_error_code (string | null, enum: "NODATA", "NXDOMAIN", "SERVFAIL", "REFUSED", "FORMERR", "NOTIMP", "UNKNOWN", пример: "NODATA") required — Код последней DNS ошибки (только для protocol=dns)
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время создания сервера
Пример:
{
"id": 1,
"host": "192.168.1.1",
"protocol": "http",
"heartbeat_token": "550e8400-e29b-41d4-a716-446655440000",
"last_heartbeat_at": "2025-12-31T23:59:59.000Z",
"heartbeat_grace_interval": 300,
"port": "22",
"http_method": "head",
"request_timeout": "10",
"check_interval": 60,
"name": "Восхитительный сервер",
"description": "Восхитительный сервер для проверки статуса",
"status": "online",
"body": "{\"key\": \"value\"}",
"keyword": "Welcome",
"keyword_mode": "present",
"headers": "{\"Authorization\": \"Bearer token\"}",
"is_follow_redirects": true,
"last_unavailable_at": "2023-01-02T00:00:00.000Z",
"last_available_at": "2023-01-03T12:34:56.000Z",
"last_checked_at": "2023-01-02T00:00:00.000Z",
"is_ssl_check": true,
"ssl": {},
"is_domain_check": true,
"domain": {},
"is_latency_alert_enabled": true,
"latency_trigger_ms": 800,
"locations": [
"msk-1",
"ams-1",
"ala-1"
],
"dns_record_types": [
"A",
"AAAA",
"MX"
],
"dns_records": [
{
"record_type": "A",
"records": [
{
"value": "192.168.1.1"
},
{
"value": "192.168.1.2"
},
{
"priority": 10,
"exchange": "mail.example.com"
},
{
"priority": 10,
"weight": 5,
"port": 443,
"target": "service.example.com"
}
]
}
],
"dns_error_code": "NODATA",
"created_at": "2023-01-01T00:00:00.000Z"
}
404 — Сервер не найден
DELETE /v1/servers/{id} — Удалить сервер из мониторинга
Аутентификация: bearer
Параметры (path):
Ответы:
204 — Сервер успешно удален
404 — Сервер не найден
GET /v1/servers/{id}/checks — Получить проверки сервера
Аутентификация: bearer
Параметры (path):
Параметры (query):
startDate (string) — Дата начала для фильтрации
endDate (string) — Дата окончания для фильтрации
Ответы:
200 — Список проверок сервера успешно получен
404 — Сервер не найден
GET /v1/servers/{id}/heartbeat/events — Получить heartbeat события сервера
Аутентификация: bearer
Параметры (path):
Параметры (query):
startDate (string) — Дата начала для фильтрации
endDate (string) — Дата окончания для фильтрации
Ответы:
200 — Список heartbeat событий успешно получен
404 — Сервер не найден
PATCH /v1/servers/{id}/{action} — Приостановить или возобновить проверки сервера
Аутентификация: bearer
Параметры (path):
id (number) required
action (string) required
Ответы:
200 — Статус проверок сервера успешно обновлён
404 — Сервер не найден
GET /v1/servers/{id}/dns-history — Получить историю изменений DNS записей сервера
Аутентификация: bearer
Параметры (path):
Ответы:
200 — История изменений DNS записей успешно получена
application/json: array of object
id (number, пример: 1) required — Уникальный идентификатор изменения
domain (string, пример: "example.com") required — Доменное имя
record_type (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: "A") required — Тип DNS записи
added_records (object | null) required — Добавленные DNS записи
removed_records (object | null) required — Удаленные DNS записи
change_type (string, enum: "added", "modified", "removed", пример: "modified") required — Тип изменения
changed_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время изменения записи
Пример:
[
{
"id": 1,
"domain": "example.com",
"record_type": "A",
"added_records": [
{
"value": "new-record.example.com"
}
],
"removed_records": [
{
"value": "old-record.example.com"
}
],
"change_type": "modified",
"changed_at": "2023-01-01T00:00:00.000Z"
}
]
404 — Сервер не найден
POST /v1/servers/{id}/test-notify — Отправить тестовую нотификацию для сервера
Аутентификация: bearer
Параметры (path):
Ответы:
204 — Тестовая нотификация успешно отправлена
404 — Сервер не найден
Нотификации
GET /v1/notification-rules — Получить правила уведомлений для аккаунта
Аутентификация: bearer
Ответы:
PATCH /v1/notification-rules — Обновить правило уведомлений для аккаунта
Аутентификация: bearer
Тело запроса (обязательное)
Content-Type: application/json
object
type (string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt", пример: "service_alerts") required — Тип подписки на уведомления, например, для оповещений или обновлений
email (boolean, пример: true) required — Включены ли уведомления по емейл для данного типа подписки
telegram (boolean, пример: true) required — Включены ли уведомления в Телеграм для данного типа подписки
max (boolean, пример: true) required — Включены ли уведомления в MAX для данного типа подписки
Пример:
{
"type": "service_alerts",
"email": true,
"telegram": true,
"max": true
}
Ответы:
Вебхуки
GET /v1/webhooks — Получить список вебхуков аккаунта
Аутентификация: bearer
Ответы:
200 — Список вебхуков успешно получен
application/json: array of object
id (number, пример: 1) required — ID вебхука
name (string, пример: "Slack prod") required — Название вебхука
url (string, пример: "https://example.com/webhooks/statuser") required — URL, куда будет отправляться вебхук
subscriptions (array of string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt") required — Список подписок, которые отправляются на этот webhook
is_secret_set (boolean, пример: true) required — Указан ли секрет для подписи запросов вебхука
created_at (string (date-time), пример: "2026-02-08T12:00:00.000Z") required — Дата добавления вебхука
Пример:
[
{
"id": 1,
"name": "Slack prod",
"url": "https://example.com/webhooks/statuser",
"subscriptions": [
"service_alerts",
"dns_alerts"
],
"is_secret_set": true,
"created_at": "2026-02-08T12:00:00.000Z"
}
]
POST /v1/webhooks — Создать вебхук
Аутентификация: bearer
Тело запроса (обязательное)
Content-Type: application/json
object
name (string, пример: "Slack prod") required — Название вебхука
url (string, пример: "https://example.com/webhooks/statuser") required — URL, куда будет отправляться вебхук
secret (object | null) required — Секрет для подписи запросов вебхука. Не возвращается обратно из API
subscriptions (array of string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt") required — Список типов подписок, которые должны отправляться на этот вебхук
Пример:
{
"name": "Slack prod",
"url": "https://example.com/webhooks/statuser",
"secret": null,
"subscriptions": [
"service_alerts",
"dns_alerts"
]
}
Ответы:
201 — Вебхук успешно создан
application/json: object
id (number, пример: 1) required — ID вебхука
name (string, пример: "Slack prod") required — Название вебхука
url (string, пример: "https://example.com/webhooks/statuser") required — URL, куда будет отправляться вебхук
subscriptions (array of string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt") required — Список подписок, которые отправляются на этот webhook
is_secret_set (boolean, пример: true) required — Указан ли секрет для подписи запросов вебхука
created_at (string (date-time), пример: "2026-02-08T12:00:00.000Z") required — Дата добавления вебхука
Пример:
{
"id": 1,
"name": "Slack prod",
"url": "https://example.com/webhooks/statuser",
"subscriptions": [
"service_alerts",
"dns_alerts"
],
"is_secret_set": true,
"created_at": "2026-02-08T12:00:00.000Z"
}
PATCH /v1/webhooks/{id} — Обновить вебхук
Аутентификация: bearer
Параметры (path):
Тело запроса (обязательное)
Content-Type: application/json
object
name (string, пример: "Slack prod") — Название вебхука
url (string, пример: "https://example.com/webhooks/statuser") — URL, куда будет отправляться вебхук
secret (object | null) — Секрет для подписи запросов вебхука. Не возвращается обратно из API
subscriptions (array of string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt") — Список типов подписок, которые должны отправляться на этот вебхук
Пример:
{
"name": "Slack prod",
"url": "https://example.com/webhooks/statuser",
"secret": "my-secret",
"subscriptions": [
"service_alerts",
"dns_alerts"
]
}
Ответы:
200 — Вебхук успешно обновлён
application/json: object
id (number, пример: 1) required — ID вебхука
name (string, пример: "Slack prod") required — Название вебхука
url (string, пример: "https://example.com/webhooks/statuser") required — URL, куда будет отправляться вебхук
subscriptions (array of string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt") required — Список подписок, которые отправляются на этот webhook
is_secret_set (boolean, пример: true) required — Указан ли секрет для подписи запросов вебхука
created_at (string (date-time), пример: "2026-02-08T12:00:00.000Z") required — Дата добавления вебхука
Пример:
{
"id": 1,
"name": "Slack prod",
"url": "https://example.com/webhooks/statuser",
"subscriptions": [
"service_alerts",
"dns_alerts"
],
"is_secret_set": true,
"created_at": "2026-02-08T12:00:00.000Z"
}
DELETE /v1/webhooks/{id} — Удалить вебхук
Аутентификация: bearer
Параметры (path):
Ответы:
204 — Вебхук успешно удалён
POST /v1/webhooks/{id}/test-notify — Отправить тестовый запрос в вебхук
Аутентификация: bearer
Параметры (path):
Ответы:
204 — Тестовый запрос в вебхук успешно отправлен
502 — Не удалось доставить тестовый вебхук
application/json: any, пример: {"statusCode":502,"error_code":"webhook_test_delivery_failed","message":"Failed to deliver test webhook","meta":{"reason":"timeout","webhook_status":500}}
Пример:
{
"statusCode": 502,
"error_code": "webhook_test_delivery_failed",
"message": "Failed to deliver test webhook",
"meta": {
"reason": "timeout",
"webhook_status": 500
}
}
Инциденты
GET /v1/servers/{serverId}/incidents — Получить инциденты сервера
Аутентификация: bearer
Параметры (path):
serverId (number) required
Ответы:
200 — Инциденты сервера успешно получены
application/json: object
id (number, пример: 1) required — ID инцидента
server_id (number, пример: 1) required — ID сервера
started_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "resolved") required — Статус инцидента
root_error (string) required — Основная ошибка проверки сервера
keyword (object | null) required — Ключевое слово, которое искали при типе проверки keyword
screenshot (object) required — Ссылка на скриншот страницы
replay (object) required — Команда для повтора запроса
details (object) required — Детали проваленной проверки
Пример:
{
"id": 1,
"server_id": 1,
"started_at": "2023-01-01T00:00:00.000Z",
"ended_at": "2023-01-02T00:00:00.000Z",
"status": "resolved",
"root_error": "",
"keyword": "simple",
"screenshot": "https://s3.statuser.cloud/sreenshots/img.png",
"replay": "curl -X GET 1.1.1.1",
"details": {}
}
404 — Сервер не найден
GET /v1/incidents/{incidentId} — Получить инцидент
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Ответы:
200 — Инцидент успешно получен
application/json: object
id (number, пример: 1) required — ID инцидента
server_id (number, пример: 1) required — ID сервера
started_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "resolved") required — Статус инцидента
root_error (string) required — Основная ошибка проверки сервера
keyword (object | null) required — Ключевое слово, которое искали при типе проверки keyword
screenshot (object) required — Ссылка на скриншот страницы
replay (object) required — Команда для повтора запроса
details (object) required — Детали проваленной проверки
Пример:
{
"id": 1,
"server_id": 1,
"started_at": "2023-01-01T00:00:00.000Z",
"ended_at": "2023-01-02T00:00:00.000Z",
"status": "resolved",
"root_error": "",
"keyword": "simple",
"screenshot": "https://s3.statuser.cloud/sreenshots/img.png",
"replay": "curl -X GET 1.1.1.1",
"details": {}
}
404 — Инцидент не найден
GET /v1/incidents — Получить все инциденты на аккаунте
Аутентификация: bearer
Параметры (query):
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout") — Статус инцидента (опционально)
Ответы:
200 — Инциденты успешно получены
application/json: object
id (number, пример: 1) required — ID инцидента
server_id (number, пример: 1) required — ID сервера
started_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "resolved") required — Статус инцидента
root_error (string) required — Основная ошибка проверки сервера
keyword (object | null) required — Ключевое слово, которое искали при типе проверки keyword
screenshot (object) required — Ссылка на скриншот страницы
replay (object) required — Команда для повтора запроса
details (object) required — Детали проваленной проверки
Пример:
{
"id": 1,
"server_id": 1,
"started_at": "2023-01-01T00:00:00.000Z",
"ended_at": "2023-01-02T00:00:00.000Z",
"status": "resolved",
"root_error": "",
"keyword": "simple",
"screenshot": "https://s3.statuser.cloud/sreenshots/img.png",
"replay": "curl -X GET 1.1.1.1",
"details": {}
}
GET /v1/incidents/{incidentId}/events — Получить события инцидента
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Ответы:
GET /v1/incidents/{incidentId}/server — Получить сервер по инциденту
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Ответы:
200 — Сервер успешно получен
application/json: object
id (number, пример: 1) required — ID сервера
host (string, пример: "192.168.1.1") required — IP адрес сервера
protocol (string, пример: "http") required — Протокол сервера
heartbeat_token (object | null) required — Токен для heartbeat URL (только для protocol=heartbeat)
last_heartbeat_at (object | null) required — Время последнего полученного heartbeat (только для protocol=heartbeat)
heartbeat_grace_interval (object | null) required — Допустимое опоздание в секундах для heartbeat: сколько ждать сверх check_interval
port (object) required — Порт для проверки tcp
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) required — Интервал проверки сервера в секундах
name (object) required — Название сервиса
description (object | null) required — Описание сервиса
status (string, пример: "online") required — Текущий статус сервиса
body (object | null) required — Тело запроса для проверки
keyword (object | null) required — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") required — Режим проверки ключевого слова
headers (array of string) required — Собственные заголовки запроса
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
last_unavailable_at (object) required — Время, когда сервер в последний раз стал недоступен (начало текущего или последнего инцидента)
last_available_at (object) required — Время, когда сервер в последний раз восстановил доступность (завершение последнего инцидента или последняя успешная проверка)
last_checked_at (object) required — Время последней проверки сервера
is_ssl_check (boolean, пример: true) required — Включены ли проверки SSL-сертификата
ssl (object) required — Информация о SSL-сертификате
is_domain_check (boolean, пример: true) required — Включены ли проверки времени окончания домена
domain (object) required — Информация о домене
is_latency_alert_enabled (boolean, пример: true) required — Включены ли уведомления о медленном ответе
latency_trigger_ms (number, пример: 800) required — Порог в мс для перехода в состояние SLOW
locations (array of string) required — Локации, из которых выполняются проверки
dns_record_types (object | null) required — Типы DNS записей для мониторинга
dns_records (array of object | null) required — Текущие DNS записи домена
record_type (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: "A") required — Тип DNS записи
records (array of string) required — Структурированные значения DNS записей
dns_error_code (string | null, enum: "NODATA", "NXDOMAIN", "SERVFAIL", "REFUSED", "FORMERR", "NOTIMP", "UNKNOWN", пример: "NODATA") required — Код последней DNS ошибки (только для protocol=dns)
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время создания сервера
Пример:
{
"id": 1,
"host": "192.168.1.1",
"protocol": "http",
"heartbeat_token": "550e8400-e29b-41d4-a716-446655440000",
"last_heartbeat_at": "2025-12-31T23:59:59.000Z",
"heartbeat_grace_interval": 300,
"port": "22",
"http_method": "head",
"request_timeout": "10",
"check_interval": 60,
"name": "Восхитительный сервер",
"description": "Восхитительный сервер для проверки статуса",
"status": "online",
"body": "{\"key\": \"value\"}",
"keyword": "Welcome",
"keyword_mode": "present",
"headers": "{\"Authorization\": \"Bearer token\"}",
"is_follow_redirects": true,
"last_unavailable_at": "2023-01-02T00:00:00.000Z",
"last_available_at": "2023-01-03T12:34:56.000Z",
"last_checked_at": "2023-01-02T00:00:00.000Z",
"is_ssl_check": true,
"ssl": {},
"is_domain_check": true,
"domain": {},
"is_latency_alert_enabled": true,
"latency_trigger_ms": 800,
"locations": [
"msk-1",
"ams-1",
"ala-1"
],
"dns_record_types": [
"A",
"AAAA",
"MX"
],
"dns_records": [
{
"record_type": "A",
"records": [
{
"value": "192.168.1.1"
},
{
"value": "192.168.1.2"
},
{
"priority": 10,
"exchange": "mail.example.com"
},
{
"priority": 10,
"weight": 5,
"port": 443,
"target": "service.example.com"
}
]
}
],
"dns_error_code": "NODATA",
"created_at": "2023-01-01T00:00:00.000Z"
}
404 — Инцидент не найден
GET /v1/incidents/{incidentId}/report — Скачать PDF отчет по инциденту
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Параметры (query):
sections (array of string, enum: "ai_summary", "diagnostics", "technical_reference", "events") — Секции, которые будут включены в отчет. Требуется передавать как repeated query (?sections=ai_summary§ions=events)
Ответы:
200 — PDF отчет по инциденту успешно сформирован
403 — PDF отчет по инциденту недоступен на текущем тарифе
404 — Инцидент не найден
POST /v1/incidents/{incidentId}/ai-summary — Сгенерировать AI саммари инцидента
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Ответы:
POST /v1/incidents/{incidentId}/ai-summary/rating — Оценить AI саммари инцидента
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
rating (string | null, enum: "positive", "negative", пример: "positive") required — Оценка саммари
Пример:
{
"rating": "positive"
}
Ответы:
GET /v1/incidents/{incidentId}/comments — Получить все комментарии к инциденту
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Ответы:
200 — Комментарии успешно получены
application/json: array of object
id (number, пример: 1) required — ID комментария
comment_text (string, пример: "Комментарий") required — Текст комментария
attached_files (array of object) required — Прикрепленные к комментарию файлы
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата создания комментария
updated_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата обновления комментария
Пример:
[
{
"id": 1,
"comment_text": "Комментарий",
"attached_files": [],
"created_at": "2023-01-01T00:00:00.000Z",
"updated_at": "2023-01-01T00:00:00.000Z"
}
]
POST /v1/incidents/{incidentId}/comments — Создать комментарий к инциденту
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
comment_text (string, пример: "Текст комментария") required — Текст комментария
attached_files (array of object) — Список прикрепленных файлов
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
Пример:
{
"comment_text": "Текст комментария",
"attached_files": [
{
"url": "https://s3.statuser.cloud/incident-attachments-dev/uuid.png",
"file_name": "error-screenshot.png"
}
]
}
Ответы:
201 — Комментарий успешно создан
application/json: object
id (number, пример: 1) required — ID комментария
comment_text (string, пример: "Комментарий") required — Текст комментария
attached_files (array of object) required — Прикрепленные к комментарию файлы
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата создания комментария
updated_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата обновления комментария
Пример:
{
"id": 1,
"comment_text": "Комментарий",
"attached_files": [],
"created_at": "2023-01-01T00:00:00.000Z",
"updated_at": "2023-01-01T00:00:00.000Z"
}
POST /v1/incidents/{incidentId}/comments/upload-url — Получить ссылку для загрузки вложения к комментарию инцидента
Аутентификация: bearer
Параметры (path):
incidentId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
file_name (string, пример: "incident-log.txt") required — Имя файла для загрузки
content_type (string, пример: "text/plain") — MIME-тип файла
file_size (number, пример: 1024) — Размер файла в байтах
Пример:
{
"file_name": "incident-log.txt",
"content_type": "text/plain",
"file_size": 1024
}
Ответы:
PATCH /v1/incidents/{incidentId}/comments/{commentId} — Обновить комментарий
Аутентификация: bearer
Параметры (path):
incidentId (number) required
commentId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
comment_text (string, пример: "Текст комментария") — Текст комментария
attached_files (array of object) — Список прикрепленных файлов с именами
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
Пример:
{
"comment_text": "Текст комментария",
"attached_files": [
{
"url": "https://s3.statuser.cloud/incident-attachments-dev/uuid.png",
"file_name": "error-screenshot.png"
}
]
}
Ответы:
200 — Комментарий успешно обновлен
application/json: object
id (number, пример: 1) required — ID комментария
comment_text (string, пример: "Комментарий") required — Текст комментария
attached_files (array of object) required — Прикрепленные к комментарию файлы
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата создания комментария
updated_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата обновления комментария
Пример:
{
"id": 1,
"comment_text": "Комментарий",
"attached_files": [],
"created_at": "2023-01-01T00:00:00.000Z",
"updated_at": "2023-01-01T00:00:00.000Z"
}
DELETE /v1/incidents/{incidentId}/comments/{commentId} — Удалить комментарий
Аутентификация: bearer
Параметры (path):
incidentId (number) required
commentId (number) required
Ответы:
204 — Комментарий успешно удалён
404 — Комментарий не найден
Страницы статуса
GET /v1/status-pages/check-slug/{slug} — Проверить, свободен ли путь
Аутентификация: bearer
Параметры (path):
Ответы:
200 — Результат проверки пути
application/json: object
available (boolean, пример: true) required — Флаг, указывающий, свободен ли путь
Пример:
{
"available": true
}
GET /v1/status-pages/check-domain/{domain} — Проверить, свободен ли домен
Аутентификация: bearer
Параметры (path):
Ответы:
POST /v1/status-pages/{id}/upload-url — Получить ссылку для загрузки логотипа или фавикона
Аутентификация: bearer
Параметры (path):
Тело запроса (обязательное)
Content-Type: application/json
object
type (string, enum: "logo", "favicon") required
Пример:
{
"type": "logo"
}
Ответы:
GET /v1/status-pages — Получить все страницы статуса на аккаунте
Аутентификация: bearer
Ответы:
200 — Страницы статуса успешно получены
application/json: array of object
id (number, пример: 1) required — ID страницы статуса
name (string, пример: "Statuser") required — Название страницы статуса
status (string, пример: "operational") required — Общий статус сервисов
slug (string, пример: "statuser") required — Уникальный путь страницы статуса
description (object | null) required — Описание страницы статуса
logo_url (object | null) required — URL логотипа
favicon_url (object | null) required — URL фавикона
company_url (object | null) required — URL сайта компании
support_url (object | null) required — Email службы поддержки
domains (array of object) required — Привязанные к странице статуса домены
domain (string, пример: "up.example.com") required — Домен страницы статуса
status (string, пример: "active") required — Статус домена
is_indexed (boolean, пример: true) required — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) required — Вайт-лейблинг: скрыт ли бренд Statuser
timeline_days (number, пример: 60) required — Количество дней, показываемых в таймлайне
timezone (string, пример: "Europe/Moscow") required — Таймзона страницы статуса
uptime_decimal_places (number, пример: 2) required — Количество знаков после запятой у аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") required — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) required — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) required — Минимальная длительность инцидента в секундах для отображения на странице
is_password_protected (boolean, пример: true) required — Защищена ли страница статуса паролем
servers (array of object) required — Список серверов, добавленных на страницу статуса
name (string, пример: "My Server") required — Публичное имя сервера на странице статуса
description (string | null, пример: "My Server") required — Комментарий к серверу
uptime (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
current_status (string, enum: "operational", "downtime", "not_monitored", "degraded", "under_maintenance", пример: "operational") required — Статус доступности сервера
order (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
group_id (number, пример: 1) required — Идентификатор группы серверов
availability (array of array of unknown) required — Доступность сервера по датам
groups (array of object) required — Список групп серверов
id (number, пример: 1) required — Идентификатор группы
name (string, пример: "Бэкенд-сервисы") required — Имя группы
description (string | null, пример: "Группа для основных API-сервисов") required — Описание группы
order (number, пример: 0) required — Порядок отображения группы
status (string, пример: "operational") required — Статус группы
incident_reports (array of object) required — Публичные отчёты по инцидентам на странице статуса
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
planned_maintenances (array of object) required — Плановые работы на странице статуса
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
created_at (string (date-time), пример: "2024-01-01T00:00:00.000Z") required — Дата создания страницы статуса
Пример:
[
{
"id": 1,
"name": "Statuser",
"status": "operational",
"slug": "statuser",
"description": "Описание страницы статуса",
"logo_url": "https://example.com/logo.png",
"favicon_url": "https://example.com/favicon.png",
"company_url": "https://example.com",
"support_url": "support@example.com",
"domains": [
{
"domain": "up.example.com",
"status": "active"
}
],
"is_indexed": true,
"is_published": true,
"is_white_labeled": false,
"timeline_days": 60,
"timezone": "Europe/Moscow",
"uptime_decimal_places": 2,
"theme_mode": "user",
"is_not_monitored_operational": false,
"minimum_incident_duration": 0,
"is_password_protected": true,
"servers": [
{
"name": "My Server",
"description": "My Server",
"uptime": 99.93,
"current_status": "operational",
"order": 99.93,
"group_id": 1,
"availability": [
[
null
]
]
}
],
"groups": [
{
"id": 1,
"name": "Бэкенд-сервисы",
"description": "Группа для основных API-сервисов",
"order": 0,
"status": "operational"
}
],
"incident_reports": [
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
],
"planned_maintenances": [
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
],
"created_at": "2024-01-01T00:00:00.000Z"
}
]
POST /v1/status-pages — Создать новую страницу статуса
Аутентификация: bearer
Тело запроса (обязательное)
Content-Type: application/json
object
name (string, пример: "Statuser") required — Название страницы статуса
slug (string | null, пример: "statuser") required — Уникальный путь страницы статуса
description (object | null) required — Описание страницы статуса
logo_url (object | null) required — URL логотипа
favicon_url (object | null) required — URL фавикона
company_url (object | null) required — URL сайта компании
support_url (object | null) required — Email службы поддержки
domain (object | null) required — Собственный домен страницы статуса
is_indexed (boolean, пример: true) required — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) required — Вайт-лейблинг: скрыть бренд Statuser
timeline_days (number, пример: 60) — Количество дней таймлайна на странице статуса
timezone (string, пример: "Europe/Moscow") — Таймзона, в которой считаются дни на странице статуса
uptime_decimal_places (number, пример: 2) — Количество знаков после запятой для аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) — Минимальная длительность инцидента в секундах для отображения на странице
password (object | null) required — Пароль для доступа к странице статуса
Пример:
{
"name": "Statuser",
"slug": "statuser",
"description": "Описание страницы статуса",
"logo_url": "https://example.com/logo.png",
"favicon_url": "https://example.com/favicon.png",
"company_url": "https://example.com",
"support_url": "support@example.com",
"domain": "status.example.com",
"is_indexed": true,
"is_published": true,
"is_white_labeled": false,
"timeline_days": 60,
"timezone": "Europe/Moscow",
"uptime_decimal_places": 2,
"theme_mode": "user",
"is_not_monitored_operational": false,
"minimum_incident_duration": 0,
"password": "mysecretpassword"
}
Ответы:
201 — Страница статуса успешно создана
application/json: object
id (number, пример: 1) required — ID страницы статуса
name (string, пример: "Statuser") required — Название страницы статуса
status (string, пример: "operational") required — Общий статус сервисов
slug (string, пример: "statuser") required — Уникальный путь страницы статуса
description (object | null) required — Описание страницы статуса
logo_url (object | null) required — URL логотипа
favicon_url (object | null) required — URL фавикона
company_url (object | null) required — URL сайта компании
support_url (object | null) required — Email службы поддержки
domains (array of object) required — Привязанные к странице статуса домены
domain (string, пример: "up.example.com") required — Домен страницы статуса
status (string, пример: "active") required — Статус домена
is_indexed (boolean, пример: true) required — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) required — Вайт-лейблинг: скрыт ли бренд Statuser
timeline_days (number, пример: 60) required — Количество дней, показываемых в таймлайне
timezone (string, пример: "Europe/Moscow") required — Таймзона страницы статуса
uptime_decimal_places (number, пример: 2) required — Количество знаков после запятой у аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") required — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) required — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) required — Минимальная длительность инцидента в секундах для отображения на странице
is_password_protected (boolean, пример: true) required — Защищена ли страница статуса паролем
servers (array of object) required — Список серверов, добавленных на страницу статуса
name (string, пример: "My Server") required — Публичное имя сервера на странице статуса
description (string | null, пример: "My Server") required — Комментарий к серверу
uptime (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
current_status (string, enum: "operational", "downtime", "not_monitored", "degraded", "under_maintenance", пример: "operational") required — Статус доступности сервера
order (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
group_id (number, пример: 1) required — Идентификатор группы серверов
availability (array of array of unknown) required — Доступность сервера по датам
groups (array of object) required — Список групп серверов
id (number, пример: 1) required — Идентификатор группы
name (string, пример: "Бэкенд-сервисы") required — Имя группы
description (string | null, пример: "Группа для основных API-сервисов") required — Описание группы
order (number, пример: 0) required — Порядок отображения группы
status (string, пример: "operational") required — Статус группы
incident_reports (array of object) required — Публичные отчёты по инцидентам на странице статуса
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
planned_maintenances (array of object) required — Плановые работы на странице статуса
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
created_at (string (date-time), пример: "2024-01-01T00:00:00.000Z") required — Дата создания страницы статуса
Пример:
{
"id": 1,
"name": "Statuser",
"status": "operational",
"slug": "statuser",
"description": "Описание страницы статуса",
"logo_url": "https://example.com/logo.png",
"favicon_url": "https://example.com/favicon.png",
"company_url": "https://example.com",
"support_url": "support@example.com",
"domains": [
{
"domain": "up.example.com",
"status": "active"
}
],
"is_indexed": true,
"is_published": true,
"is_white_labeled": false,
"timeline_days": 60,
"timezone": "Europe/Moscow",
"uptime_decimal_places": 2,
"theme_mode": "user",
"is_not_monitored_operational": false,
"minimum_incident_duration": 0,
"is_password_protected": true,
"servers": [
{
"name": "My Server",
"description": "My Server",
"uptime": 99.93,
"current_status": "operational",
"order": 99.93,
"group_id": 1,
"availability": [
[
null
]
]
}
],
"groups": [
{
"id": 1,
"name": "Бэкенд-сервисы",
"description": "Группа для основных API-сервисов",
"order": 0,
"status": "operational"
}
],
"incident_reports": [
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
],
"planned_maintenances": [
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
],
"created_at": "2024-01-01T00:00:00.000Z"
}
404 — Страница не найдена
GET /v1/status-pages/{id} — Получить страницу статуса
Аутентификация: bearer
Параметры (path):
Ответы:
200 — Страница статуса успешно получена
application/json: object
id (number, пример: 1) required — ID страницы статуса
name (string, пример: "Statuser") required — Название страницы статуса
status (string, пример: "operational") required — Общий статус сервисов
slug (string, пример: "statuser") required — Уникальный путь страницы статуса
description (object | null) required — Описание страницы статуса
logo_url (object | null) required — URL логотипа
favicon_url (object | null) required — URL фавикона
company_url (object | null) required — URL сайта компании
support_url (object | null) required — Email службы поддержки
domains (array of object) required — Привязанные к странице статуса домены
domain (string, пример: "up.example.com") required — Домен страницы статуса
status (string, пример: "active") required — Статус домена
is_indexed (boolean, пример: true) required — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) required — Вайт-лейблинг: скрыт ли бренд Statuser
timeline_days (number, пример: 60) required — Количество дней, показываемых в таймлайне
timezone (string, пример: "Europe/Moscow") required — Таймзона страницы статуса
uptime_decimal_places (number, пример: 2) required — Количество знаков после запятой у аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") required — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) required — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) required — Минимальная длительность инцидента в секундах для отображения на странице
is_password_protected (boolean, пример: true) required — Защищена ли страница статуса паролем
servers (array of object) required — Список серверов, добавленных на страницу статуса
name (string, пример: "My Server") required — Публичное имя сервера на странице статуса
description (string | null, пример: "My Server") required — Комментарий к серверу
uptime (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
current_status (string, enum: "operational", "downtime", "not_monitored", "degraded", "under_maintenance", пример: "operational") required — Статус доступности сервера
order (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
group_id (number, пример: 1) required — Идентификатор группы серверов
availability (array of array of unknown) required — Доступность сервера по датам
groups (array of object) required — Список групп серверов
id (number, пример: 1) required — Идентификатор группы
name (string, пример: "Бэкенд-сервисы") required — Имя группы
description (string | null, пример: "Группа для основных API-сервисов") required — Описание группы
order (number, пример: 0) required — Порядок отображения группы
status (string, пример: "operational") required — Статус группы
incident_reports (array of object) required — Публичные отчёты по инцидентам на странице статуса
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
planned_maintenances (array of object) required — Плановые работы на странице статуса
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
created_at (string (date-time), пример: "2024-01-01T00:00:00.000Z") required — Дата создания страницы статуса
Пример:
{
"id": 1,
"name": "Statuser",
"status": "operational",
"slug": "statuser",
"description": "Описание страницы статуса",
"logo_url": "https://example.com/logo.png",
"favicon_url": "https://example.com/favicon.png",
"company_url": "https://example.com",
"support_url": "support@example.com",
"domains": [
{
"domain": "up.example.com",
"status": "active"
}
],
"is_indexed": true,
"is_published": true,
"is_white_labeled": false,
"timeline_days": 60,
"timezone": "Europe/Moscow",
"uptime_decimal_places": 2,
"theme_mode": "user",
"is_not_monitored_operational": false,
"minimum_incident_duration": 0,
"is_password_protected": true,
"servers": [
{
"name": "My Server",
"description": "My Server",
"uptime": 99.93,
"current_status": "operational",
"order": 99.93,
"group_id": 1,
"availability": [
[
null
]
]
}
],
"groups": [
{
"id": 1,
"name": "Бэкенд-сервисы",
"description": "Группа для основных API-сервисов",
"order": 0,
"status": "operational"
}
],
"incident_reports": [
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
],
"planned_maintenances": [
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
],
"created_at": "2024-01-01T00:00:00.000Z"
}
404 — Страница не найдена
PATCH /v1/status-pages/{id} — Обновить страницу статуса
Аутентификация: bearer
Параметры (path):
Тело запроса (обязательное)
Content-Type: application/json
object
name (string, пример: "Statuser") — Название страницы статуса
slug (string, пример: "statuser") — Уникальный путь страницы статуса
description (object | null) — Описание страницы статуса
logo_url (object | null) — URL логотипа
favicon_url (object | null) — URL фавикона
company_url (object | null) — URL сайта компании
support_url (object | null) — Email службы поддержки
domain (object | null) — Собственный домен страницы статуса
is_indexed (boolean, пример: true) — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) — Вайт-лейблинг: скрыть бренд Statuser
timeline_days (number, пример: 60) — Количество дней таймлайна на странице статуса
timezone (string, пример: "Europe/Moscow") — Таймзона, в которой считаются дни на странице статуса
uptime_decimal_places (number, пример: 2) — Количество знаков после запятой для аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) — Минимальная длительность инцидента в секундах для отображения на странице
password (object | null) — Пароль для доступа к странице статуса
Пример:
{
"name": "Statuser",
"slug": "statuser",
"description": "Описание страницы статуса",
"logo_url": "https://example.com/logo.png",
"favicon_url": "https://example.com/favicon.png",
"company_url": "https://example.com",
"support_url": "support@example.com",
"domain": "status.example.com",
"is_indexed": true,
"is_published": true,
"is_white_labeled": false,
"timeline_days": 60,
"timezone": "Europe/Moscow",
"uptime_decimal_places": 2,
"theme_mode": "user",
"is_not_monitored_operational": false,
"minimum_incident_duration": 0,
"password": "mysecretpassword"
}
Ответы:
200 — Страница успешно обновлена
application/json: object
id (number, пример: 1) required — ID страницы статуса
name (string, пример: "Statuser") required — Название страницы статуса
status (string, пример: "operational") required — Общий статус сервисов
slug (string, пример: "statuser") required — Уникальный путь страницы статуса
description (object | null) required — Описание страницы статуса
logo_url (object | null) required — URL логотипа
favicon_url (object | null) required — URL фавикона
company_url (object | null) required — URL сайта компании
support_url (object | null) required — Email службы поддержки
domains (array of object) required — Привязанные к странице статуса домены
domain (string, пример: "up.example.com") required — Домен страницы статуса
status (string, пример: "active") required — Статус домена
is_indexed (boolean, пример: true) required — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) required — Вайт-лейблинг: скрыт ли бренд Statuser
timeline_days (number, пример: 60) required — Количество дней, показываемых в таймлайне
timezone (string, пример: "Europe/Moscow") required — Таймзона страницы статуса
uptime_decimal_places (number, пример: 2) required — Количество знаков после запятой у аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") required — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) required — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) required — Минимальная длительность инцидента в секундах для отображения на странице
is_password_protected (boolean, пример: true) required — Защищена ли страница статуса паролем
servers (array of object) required — Список серверов, добавленных на страницу статуса
name (string, пример: "My Server") required — Публичное имя сервера на странице статуса
description (string | null, пример: "My Server") required — Комментарий к серверу
uptime (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
current_status (string, enum: "operational", "downtime", "not_monitored", "degraded", "under_maintenance", пример: "operational") required — Статус доступности сервера
order (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
group_id (number, пример: 1) required — Идентификатор группы серверов
availability (array of array of unknown) required — Доступность сервера по датам
groups (array of object) required — Список групп серверов
id (number, пример: 1) required — Идентификатор группы
name (string, пример: "Бэкенд-сервисы") required — Имя группы
description (string | null, пример: "Группа для основных API-сервисов") required — Описание группы
order (number, пример: 0) required — Порядок отображения группы
status (string, пример: "operational") required — Статус группы
incident_reports (array of object) required — Публичные отчёты по инцидентам на странице статуса
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
planned_maintenances (array of object) required — Плановые работы на странице статуса
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
created_at (string (date-time), пример: "2024-01-01T00:00:00.000Z") required — Дата создания страницы статуса
Пример:
{
"id": 1,
"name": "Statuser",
"status": "operational",
"slug": "statuser",
"description": "Описание страницы статуса",
"logo_url": "https://example.com/logo.png",
"favicon_url": "https://example.com/favicon.png",
"company_url": "https://example.com",
"support_url": "support@example.com",
"domains": [
{
"domain": "up.example.com",
"status": "active"
}
],
"is_indexed": true,
"is_published": true,
"is_white_labeled": false,
"timeline_days": 60,
"timezone": "Europe/Moscow",
"uptime_decimal_places": 2,
"theme_mode": "user",
"is_not_monitored_operational": false,
"minimum_incident_duration": 0,
"is_password_protected": true,
"servers": [
{
"name": "My Server",
"description": "My Server",
"uptime": 99.93,
"current_status": "operational",
"order": 99.93,
"group_id": 1,
"availability": [
[
null
]
]
}
],
"groups": [
{
"id": 1,
"name": "Бэкенд-сервисы",
"description": "Группа для основных API-сервисов",
"order": 0,
"status": "operational"
}
],
"incident_reports": [
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
],
"planned_maintenances": [
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
],
"created_at": "2024-01-01T00:00:00.000Z"
}
404 — Страница не найдена
DELETE /v1/status-pages/{id} — Удалить страницу статуса
Аутентификация: bearer
Параметры (path):
Ответы:
204 — Страница успешно удалена
404 — Страница не найдена
PATCH /v1/status-pages/{id}/servers — Обновить группы и серверы на странице статуса
Аутентификация: bearer
Параметры (path):
Тело запроса (обязательное)
Content-Type: application/json
object
Ответы:
200 — Группы и серверы обновлены
404 — Страница не найдена
PATCH /v1/status-pages/{id}/{action} — Опубликовать или снять с публикации страницу статуса
Аутентификация: bearer
Параметры (path):
id (number) required
action (string) required
Ответы:
200 — Статус публикации страницы успешно обновлён
404 — Страница не найдена
GET /v1/status-pages/{id}/incident-reports — Получить отчёты инцидентов для страницы статуса
Аутентификация: bearer
Параметры (path):
Ответы:
200
application/json: array of object
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
Пример:
[
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
]
POST /v1/status-pages/{id}/incident-reports — Создать отчёт по инциденту для страницы статуса
Аутентификация: bearer
Параметры (path):
Тело запроса (обязательное)
Content-Type: application/json
object
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
initial_message (string, пример: "Часть пользователей может сталкиваться с ошибками 502. Команда уже расследует причину") required — Текст стартового сообщения отчёта
started_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Время начала отчёта
incident_ids (array of string) — Связанные инциденты, если отчёт основан на существующих инцидентах
servers (array of object) required — Стартовые статусы серверов в рамках отчёта
server_id (number, пример: 1) required — ID сервера на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "downtime") required — Статус влияния на сервер в момент создания отчёта
Пример:
{
"title": "Проблемы с доступностью API Gateway",
"initial_message": "Часть пользователей может сталкиваться с ошибками 502. Команда уже расследует причину",
"started_at": "2026-03-06T16:12:00.000Z",
"incident_ids": [
42,
43
],
"servers": [
{
"server_id": 1,
"status": "downtime"
}
]
}
Ответы:
201
application/json: object
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
Пример:
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
PATCH /v1/status-pages/{id}/incident-reports/{reportId} — Обновить отчёт для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
reportId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
title (string, пример: "Проблемы с доступностью API Gateway") — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") — Время начала отчёта
Пример:
{
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:12:00.000Z"
}
Ответы:
200
application/json: object
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
Пример:
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
DELETE /v1/status-pages/{id}/incident-reports/{reportId} — Удалить отчёт по инциденту для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
reportId (number) required
Ответы:
POST /v1/status-pages/{id}/incident-reports/{reportId}/updates — Добавить обновление в отчёт для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
reportId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
published_at (string (date-time), пример: "2026-03-06T16:22:00.000Z") — Время публикации апдейта
servers (array of object) required — Новые статусы сервисов в рамках апдейта
server_id (number, пример: 1) required — ID сервера на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "downtime") required — Новый статус влияния на сервер
Пример:
{
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"published_at": "2026-03-06T16:22:00.000Z",
"servers": [
{
"server_id": 1,
"status": "downtime"
}
]
}
Ответы:
201
application/json: object
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
Пример:
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
PATCH /v1/status-pages/{id}/incident-reports/{reportId}/updates/{updateId} — Обновить сообщение в отчёте для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
reportId (number) required
updateId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Обновлённый текст апдейта
Пример:
{
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут"
}
Ответы:
200
application/json: object
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
Пример:
{
"id": 10100,
"title": "Проблемы с доступностью API Gateway",
"started_at": "2026-03-06T16:10:00.000Z",
"current_status": "degraded",
"incidents": [
{
"incident_id": 42,
"server_id": 7,
"server_name": "API Gateway",
"status": "ongoing",
"started_at": "2026-03-06T16:10:00.000Z",
"ended_at": "2026-03-06T16:45:00.000Z"
}
],
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
],
"updates": [
{
"id": 10100,
"message": "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway",
"status": "degraded"
}
]
}
]
}
DELETE /v1/status-pages/{id}/incident-reports/{reportId}/updates/{updateId} — Удалить сообщение из отчёта для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
reportId (number) required
updateId (number) required
Ответы:
GET /v1/status-pages/{id}/planned-maintenances — Получить плановые работы для страницы статуса
Аутентификация: bearer
Параметры (path):
Ответы:
200
application/json: array of object
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
Пример:
[
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
]
POST /v1/status-pages/{id}/planned-maintenances — Создать плановые работы для страницы статуса
Аутентификация: bearer
Параметры (path):
Тело запроса (обязательное)
Content-Type: application/json
object
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на странице статуса
Пример:
{
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1
},
{
"id": 2
},
{
"id": 3
}
]
}
Ответы:
201
application/json: object
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
Пример:
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
PATCH /v1/status-pages/{id}/planned-maintenances/{maintenanceId} — Обновить плановые работы для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
maintenanceId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
title (string, пример: "Плановое обновление API Gateway") — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") — Время завершения плановых работ
servers (array of object) — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на странице статуса
Пример:
{
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1
},
{
"id": 2
},
{
"id": 3
}
]
}
Ответы:
200
application/json: object
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
Пример:
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
DELETE /v1/status-pages/{id}/planned-maintenances/{maintenanceId} — Удалить плановые работы для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
maintenanceId (number) required
Ответы:
POST /v1/status-pages/{id}/planned-maintenances/{maintenanceId}/updates — Добавить обновление в запись плановых работ для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
maintenanceId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта о ходе плановых работ
published_at (string (date-time), пример: "2026-03-20T01:30:00.000Z") — Время публикации апдейта
Пример:
{
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"published_at": "2026-03-20T01:30:00.000Z"
}
Ответы:
201
application/json: object
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
Пример:
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
PATCH /v1/status-pages/{id}/planned-maintenances/{maintenanceId}/updates/{updateId} — Обновить сообщение в записи плановых работ для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
maintenanceId (number) required
updateId (number) required
Тело запроса (обязательное)
Content-Type: application/json
object
message (string, пример: "Работы идут по плану. Завершаем проверку и скоро опубликуем финальный апдейт.") required — Обновлённый текст апдейта
Пример:
{
"message": "Работы идут по плану. Завершаем проверку и скоро опубликуем финальный апдейт."
}
Ответы:
200
application/json: object
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
Пример:
{
"id": 10100,
"title": "Плановое обновление API Gateway",
"description": "Во время обновления возможны кратковременные перерывы в работе API и панели управления.",
"started_at": "2026-03-20T01:00:00.000Z",
"ended_at": "2026-03-20T03:00:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
],
"updates": [
{
"id": 10100,
"message": "Работы идут по плану. Возможны кратковременные перерывы в работе API.",
"is_initial": true,
"published_at": "2026-03-06T16:12:00.000Z",
"servers": [
{
"id": 1,
"name": "API Gateway"
}
]
}
],
"created_at": "2026-03-18T12:00:00.000Z"
}
DELETE /v1/status-pages/{id}/planned-maintenances/{maintenanceId}/updates/{updateId} — Удалить сообщение из записи плановых работ для страницы статуса
Аутентификация: bearer
Параметры (path):
id (number) required
maintenanceId (number) required
updateId (number) required
Ответы:
Модели данных
AccountResponseDto
object
id (number, пример: 1) required — ID аккаунта
email (string, пример: "user@example.com") required — Электронная почта пользователя
name (string, пример: "Иван Иванов") required — Имя пользователя
status (string, пример: "active") required — Статус аккаунта
password (string, пример: "password") required — Пароль аккаунта
avatar_url (object | null) required — URL аватара пользователя
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата создания аккаунта
password_changed_at (object | null) required — Дата последней смены пароля
timezone (string, пример: "Europe/Moscow") required — Часовой пояс, который используется для отображения времени в нотификациях
is_ai_assistant_enabled (boolean, пример: true) required — Отображается ли чат с ИИ помощником в панели управления
UpdateAccountDto
object
email (string, пример: "user@example.com") — Электронная почта пользователя
name (string, пример: "Иван Иванов") — Имя пользователя
timezone (string, пример: "Europe/Moscow") — Часовой пояс, который используется для отображения времени в нотификациях
is_ai_assistant_enabled (boolean, пример: true) — Отображается ли чат с ИИ помощником в панели управления
PlanFeaturesResponseDto
object
servers_limit (number, пример: 50) required — Максимальное количество серверов
available_locations (array of string) required — Список доступных локаций мониторинга
allow_location_selection (boolean, пример: true) required — Возможность ручного выбора локаций
min_check_interval_seconds (number, пример: 60) required — Минимальный интервал проверок (в секундах)
ssl_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга SSL
domain_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга доменов
dns_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга DNS
dns_history_retention_days (number, пример: 30) required — Срок хранения истории DNS записей (в днях)
keyword_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга ключевых слов
heartbeat_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга heartbeat
latency_alerts_enabled (boolean, пример: true) required — Поддержка уведомлений о медленном ответе
incident_retention_days (number, пример: 60) required — Срок хранения инцидентов (в днях)
network_diagnostics_enabled (boolean, пример: true) required — Доступность сетевой диагностики
screenshots_enabled (boolean, пример: true) required — Поддержка скриншотов при проверках
incident_comments_enabled (boolean, пример: true) required — Возможность комментирования инцидентов
incident_report_enabled (boolean, пример: true) required — Возможность скачивания отчета по инциденту
webhook_notifications_enabled (boolean, пример: false) required — Доступность вебхук-уведомлений
status_pages_limit (number, пример: 3) required — Максимальное количество страниц статуса
custom_domain_enabled (boolean, пример: true) required — Поддержка подключения собственного домена
password_protected_status_page (boolean, пример: true) required — Защита страниц паролем
indexing_control_enabled (boolean, пример: true) required — Исключение страниц из индексации поисковиками
white_label_enabled (boolean, пример: false) required — Возможность вайтлейбла (удаления логотипа Статусера)
status_page_minimum_incident_duration_enabled (boolean, пример: true) required — Возможность задавать минимальную длительность инцидента для отображения на странице статуса
status_page_incident_reports_per_month_limit (number, пример: 1) required — Лимит количества публичных отчётов по инцидентам для страниц статуса в месяц
status_page_planned_maintenances_per_month_limit (number, пример: 1) required — Лимит количества записей о плановых работах для страниц статуса в месяц
PlanResponseDto
object
id (number, пример: 2) required — ID тарифа
name (string, пример: "Pro") required — Название текущего тарифа
price_per_month (number, пример: 199) required — Стоимость тарифа в месяц (в рублях)
price_per_year (number, пример: 1990) required — Стоимость тарифа в год (в рублях)
features (object) required — Ограничения и возможности тарифа
servers_limit (number, пример: 50) required — Максимальное количество серверов
available_locations (array of string) required — Список доступных локаций мониторинга
allow_location_selection (boolean, пример: true) required — Возможность ручного выбора локаций
min_check_interval_seconds (number, пример: 60) required — Минимальный интервал проверок (в секундах)
ssl_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга SSL
domain_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга доменов
dns_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга DNS
dns_history_retention_days (number, пример: 30) required — Срок хранения истории DNS записей (в днях)
keyword_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга ключевых слов
heartbeat_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга heartbeat
latency_alerts_enabled (boolean, пример: true) required — Поддержка уведомлений о медленном ответе
incident_retention_days (number, пример: 60) required — Срок хранения инцидентов (в днях)
network_diagnostics_enabled (boolean, пример: true) required — Доступность сетевой диагностики
screenshots_enabled (boolean, пример: true) required — Поддержка скриншотов при проверках
incident_comments_enabled (boolean, пример: true) required — Возможность комментирования инцидентов
incident_report_enabled (boolean, пример: true) required — Возможность скачивания отчета по инциденту
webhook_notifications_enabled (boolean, пример: false) required — Доступность вебхук-уведомлений
status_pages_limit (number, пример: 3) required — Максимальное количество страниц статуса
custom_domain_enabled (boolean, пример: true) required — Поддержка подключения собственного домена
password_protected_status_page (boolean, пример: true) required — Защита страниц паролем
indexing_control_enabled (boolean, пример: true) required — Исключение страниц из индексации поисковиками
white_label_enabled (boolean, пример: false) required — Возможность вайтлейбла (удаления логотипа Статусера)
status_page_minimum_incident_duration_enabled (boolean, пример: true) required — Возможность задавать минимальную длительность инцидента для отображения на странице статуса
status_page_incident_reports_per_month_limit (number, пример: 1) required — Лимит количества публичных отчётов по инцидентам для страниц статуса в месяц
status_page_planned_maintenances_per_month_limit (number, пример: 1) required — Лимит количества записей о плановых работах для страниц статуса в месяц
CurrentPlanResponseDto
object
id (number, пример: 2) required — ID тарифа
name (string, пример: "Pro") required — Название текущего тарифа
price_per_month (number, пример: 199) required — Стоимость тарифа в месяц (в рублях)
price_per_year (number, пример: 1990) required — Стоимость тарифа в год (в рублях)
features (object) required — Ограничения и возможности тарифа
servers_limit (number, пример: 50) required — Максимальное количество серверов
available_locations (array of string) required — Список доступных локаций мониторинга
allow_location_selection (boolean, пример: true) required — Возможность ручного выбора локаций
min_check_interval_seconds (number, пример: 60) required — Минимальный интервал проверок (в секундах)
ssl_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга SSL
domain_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга доменов
dns_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга DNS
dns_history_retention_days (number, пример: 30) required — Срок хранения истории DNS записей (в днях)
keyword_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга ключевых слов
heartbeat_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга heartbeat
latency_alerts_enabled (boolean, пример: true) required — Поддержка уведомлений о медленном ответе
incident_retention_days (number, пример: 60) required — Срок хранения инцидентов (в днях)
network_diagnostics_enabled (boolean, пример: true) required — Доступность сетевой диагностики
screenshots_enabled (boolean, пример: true) required — Поддержка скриншотов при проверках
incident_comments_enabled (boolean, пример: true) required — Возможность комментирования инцидентов
incident_report_enabled (boolean, пример: true) required — Возможность скачивания отчета по инциденту
webhook_notifications_enabled (boolean, пример: false) required — Доступность вебхук-уведомлений
status_pages_limit (number, пример: 3) required — Максимальное количество страниц статуса
custom_domain_enabled (boolean, пример: true) required — Поддержка подключения собственного домена
password_protected_status_page (boolean, пример: true) required — Защита страниц паролем
indexing_control_enabled (boolean, пример: true) required — Исключение страниц из индексации поисковиками
white_label_enabled (boolean, пример: false) required — Возможность вайтлейбла (удаления логотипа Статусера)
status_page_minimum_incident_duration_enabled (boolean, пример: true) required — Возможность задавать минимальную длительность инцидента для отображения на странице статуса
status_page_incident_reports_per_month_limit (number, пример: 1) required — Лимит количества публичных отчётов по инцидентам для страниц статуса в месяц
status_page_planned_maintenances_per_month_limit (number, пример: 1) required — Лимит количества записей о плановых работах для страниц статуса в месяц
valid_until (object) required — Срок действия текущего тарифа
current_billing_period (string | null, enum: "month", "year", пример: "month") required — Период оплаты текущего тарифа
pending_plan (object | null) required — Планируемый тариф на который произойдет даунгрейд
id (number, пример: 2) required — ID тарифа
name (string, пример: "Pro") required — Название текущего тарифа
price_per_month (number, пример: 199) required — Стоимость тарифа в месяц (в рублях)
price_per_year (number, пример: 1990) required — Стоимость тарифа в год (в рублях)
features (object) required — Ограничения и возможности тарифа
servers_limit (number, пример: 50) required — Максимальное количество серверов
available_locations (array of string) required — Список доступных локаций мониторинга
allow_location_selection (boolean, пример: true) required — Возможность ручного выбора локаций
min_check_interval_seconds (number, пример: 60) required — Минимальный интервал проверок (в секундах)
ssl_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга SSL
domain_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга доменов
dns_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга DNS
dns_history_retention_days (number, пример: 30) required — Срок хранения истории DNS записей (в днях)
keyword_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга ключевых слов
heartbeat_monitoring_enabled (boolean, пример: true) required — Поддержка мониторинга heartbeat
latency_alerts_enabled (boolean, пример: true) required — Поддержка уведомлений о медленном ответе
incident_retention_days (number, пример: 60) required — Срок хранения инцидентов (в днях)
network_diagnostics_enabled (boolean, пример: true) required — Доступность сетевой диагностики
screenshots_enabled (boolean, пример: true) required — Поддержка скриншотов при проверках
incident_comments_enabled (boolean, пример: true) required — Возможность комментирования инцидентов
incident_report_enabled (boolean, пример: true) required — Возможность скачивания отчета по инциденту
webhook_notifications_enabled (boolean, пример: false) required — Доступность вебхук-уведомлений
status_pages_limit (number, пример: 3) required — Максимальное количество страниц статуса
custom_domain_enabled (boolean, пример: true) required — Поддержка подключения собственного домена
password_protected_status_page (boolean, пример: true) required — Защита страниц паролем
indexing_control_enabled (boolean, пример: true) required — Исключение страниц из индексации поисковиками
white_label_enabled (boolean, пример: false) required — Возможность вайтлейбла (удаления логотипа Статусера)
status_page_minimum_incident_duration_enabled (boolean, пример: true) required — Возможность задавать минимальную длительность инцидента для отображения на странице статуса
status_page_incident_reports_per_month_limit (number, пример: 1) required — Лимит количества публичных отчётов по инцидентам для страниц статуса в месяц
status_page_planned_maintenances_per_month_limit (number, пример: 1) required — Лимит количества записей о плановых работах для страниц статуса в месяц
pending_plan_effective_at (object | null) required — Дата применения запланированного даунгрейда
CreateServerDto
object
host (string, пример: "192.168.1.1") required — Адрес нового сервера
protocol (string, пример: "http") required — Протокол проверки
port (number, пример: "22") required — Порт для проверки
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
body (object | null) required — Тело запроса
keyword (object | null) required — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") required — Режим проверки ключевого слова: успех если слово есть/если слова нет
headers (array of string) required — Собственные заголовки запроса
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) required — Интервал проверки сервера в секундах
heartbeat_grace_interval (object | null) — Допустимое опоздание в секундах для heartbeat: сколько ждать сверх check_interval
name (string, пример: "Восхитительный сервер") required — Название сервиса
description (string, пример: "Восхитительный сервер для проверки статуса") required — Описание сервиса
is_ssl_check (boolean, пример: true) required — Требуется ли выполнять проверку SSL-сертификата
is_domain_check (boolean, пример: true) required — Требуется ли выполнять проверку домена
is_latency_alert_enabled (boolean, пример: true) — Включить уведомления о медленном ответе сервера
latency_trigger_ms (number, пример: 800) — Порог в мс для определения медленного ответа
locations (array of unknown) required — Локации, из которых требуется выполнять проверки
dns_record_types (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: ["A","AAAA","MX"]) required — Типы DNS записей для мониторинга
DnsRecord
object
record_type (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: "A") required — Тип DNS записи
records (array of string) required — Структурированные значения DNS записей
ServerResponseDto
object
id (number, пример: 1) required — ID сервера
host (string, пример: "192.168.1.1") required — IP адрес сервера
protocol (string, пример: "http") required — Протокол сервера
heartbeat_token (object | null) required — Токен для heartbeat URL (только для protocol=heartbeat)
last_heartbeat_at (object | null) required — Время последнего полученного heartbeat (только для protocol=heartbeat)
heartbeat_grace_interval (object | null) required — Допустимое опоздание в секундах для heartbeat: сколько ждать сверх check_interval
port (object) required — Порт для проверки tcp
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) required — Интервал проверки сервера в секундах
name (object) required — Название сервиса
description (object | null) required — Описание сервиса
status (string, пример: "online") required — Текущий статус сервиса
body (object | null) required — Тело запроса для проверки
keyword (object | null) required — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") required — Режим проверки ключевого слова
headers (array of string) required — Собственные заголовки запроса
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
last_unavailable_at (object) required — Время, когда сервер в последний раз стал недоступен (начало текущего или последнего инцидента)
last_available_at (object) required — Время, когда сервер в последний раз восстановил доступность (завершение последнего инцидента или последняя успешная проверка)
last_checked_at (object) required — Время последней проверки сервера
is_ssl_check (boolean, пример: true) required — Включены ли проверки SSL-сертификата
ssl (object) required — Информация о SSL-сертификате
is_domain_check (boolean, пример: true) required — Включены ли проверки времени окончания домена
domain (object) required — Информация о домене
is_latency_alert_enabled (boolean, пример: true) required — Включены ли уведомления о медленном ответе
latency_trigger_ms (number, пример: 800) required — Порог в мс для перехода в состояние SLOW
locations (array of string) required — Локации, из которых выполняются проверки
dns_record_types (object | null) required — Типы DNS записей для мониторинга
dns_records (array of object | null) required — Текущие DNS записи домена
record_type (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: "A") required — Тип DNS записи
records (array of string) required — Структурированные значения DNS записей
dns_error_code (string | null, enum: "NODATA", "NXDOMAIN", "SERVFAIL", "REFUSED", "FORMERR", "NOTIMP", "UNKNOWN", пример: "NODATA") required — Код последней DNS ошибки (только для protocol=dns)
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время создания сервера
ServerHeader
object
key (string, пример: "Content-Type") required — Ключ заголовка
value (string, пример: "application/json") required — Значение заголовка
UpdateServerDto
object
host (string, пример: "192.168.1.1") — Адрес сервера
protocol (string, пример: "http") — Протокол проверки
port (number, пример: 22) — Порт для проверки
http_method (string, enum: "head", "get", "options", "post", "put", "patch", пример: "head") required — HTTP метод
body (object | null) required — Тело запроса
keyword (object | null) — Ключевое слово для мониторинга
keyword_mode (string | null, enum: "present", "absent", пример: "present") — Режим проверки ключевого слова
headers (array of object) required — Собственные заголовки запроса
key (string, пример: "Content-Type") required — Ключ заголовка
value (string, пример: "application/json") required — Значение заголовка
is_follow_redirects (boolean, пример: true) required — Следовать за редиректами или нет
request_timeout (number, пример: "10") required — Таймаут запроса
check_interval (number, пример: 60) — Интервал проверки сервера в секундах
heartbeat_grace_interval (object | null) — Период ожидания в секундах для heartbeat: сколько ждать сверх check_interval
name (string, пример: "Восхитительный сервер") — Название сервиса
description (string, пример: "Восхитительный сервер для проверки статуса") required — Описание сервиса
is_ssl_check (boolean, пример: true) required — Требуется ли выполнять проверку SSL-сертификата
is_domain_check (boolean, пример: true) required — Требуется ли выполнять проверку домена
is_latency_alert_enabled (boolean, пример: true) — Включить уведомления о медленном ответе сервера
latency_trigger_ms (number, пример: 800) — Порог (мс) для определения медленного ответа
locations (array of unknown) required — Локации, из которых требуется выполнять проверки
dns_record_types (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: ["A","AAAA","MX"]) — Типы DNS записей для мониторинга
DnsRecordDiffResponseDto
object
id (number, пример: 1) required — Уникальный идентификатор изменения
domain (string, пример: "example.com") required — Доменное имя
record_type (string, enum: "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", пример: "A") required — Тип DNS записи
added_records (object | null) required — Добавленные DNS записи
removed_records (object | null) required — Удаленные DNS записи
change_type (string, enum: "added", "modified", "removed", пример: "modified") required — Тип изменения
changed_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время изменения записи
NotificationRuleResponseDto
object
type (string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt", пример: "service_alerts") required — Тип подписки на уведомления, например, для оповещений или обновлений
channels (object) required — Каналы для уведомлений и их активный статус
email (boolean, пример: true) — Включены ли уведомления на емейл для данного типа подписки
telegram (boolean, пример: true) — Включены ли уведомления в Телеграм для данного типа подписки
max (boolean, пример: true) — Включены ли уведомления в MAX для данного типа подписки
CreateNotificationRuleDto
object
type (string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt", пример: "service_alerts") required — Тип подписки на уведомления, например, для оповещений или обновлений
email (boolean, пример: true) required — Включены ли уведомления по емейл для данного типа подписки
telegram (boolean, пример: true) required — Включены ли уведомления в Телеграм для данного типа подписки
max (boolean, пример: true) required — Включены ли уведомления в MAX для данного типа подписки
WebhookEndpointResponseDto
object
id (number, пример: 1) required — ID вебхука
name (string, пример: "Slack prod") required — Название вебхука
url (string, пример: "https://example.com/webhooks/statuser") required — URL, куда будет отправляться вебхук
subscriptions (array of string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt") required — Список подписок, которые отправляются на этот webhook
is_secret_set (boolean, пример: true) required — Указан ли секрет для подписи запросов вебхука
created_at (string (date-time), пример: "2026-02-08T12:00:00.000Z") required — Дата добавления вебхука
CreateWebhookEndpointDto
object
name (string, пример: "Slack prod") required — Название вебхука
url (string, пример: "https://example.com/webhooks/statuser") required — URL, куда будет отправляться вебхук
secret (object | null) required — Секрет для подписи запросов вебхука. Не возвращается обратно из API
subscriptions (array of string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt") required — Список типов подписок, которые должны отправляться на этот вебхук
UpdateWebhookEndpointDto
object
name (string, пример: "Slack prod") — Название вебхука
url (string, пример: "https://example.com/webhooks/statuser") — URL, куда будет отправляться вебхук
secret (object | null) — Секрет для подписи запросов вебхука. Не возвращается обратно из API
subscriptions (array of string, enum: "updates", "weekly_reports", "service_alerts", "test_alerts", "ssl_alerts", "domain_alerts", "dns_alerts", "ideas", "billing_alerts", "holiday_mode", "api_key_alerts", "security_alerts", "receipt") — Список типов подписок, которые должны отправляться на этот вебхук
CreateMaxLinkDto
object
link_user (string, пример: "https://max.ru/statuser_notify_bot?start=ab12cd34") required — Ссылка для привязки аккаунта MAX пользователя
link_group (string, пример: "https://max.ru/statuser_notify_bot?start=ab12cd34_group") required — Ссылка для запуска групповой привязки в MAX
MaxResponseDto
object
max_id (string, пример: "1234567890") required — ID чата в Max
max_name (object | null) required — Название чата или имя пользователя
avatar_url (object | null) required — Прямая ссылка на аватар в S3
type (string, enum: "user", "chat", пример: "chat") required — Тип получателя: пользователь или чат
created_at (string (date-time), пример: "2024-11-30T14:48:00.000Z") required — Дата привязки аккаунта MAX
is_2fa_account (boolean, пример: true) required — Используется ли аккаунт для двухфакторной аутентификации
UpdateMaxDto
object
max_id (string) required — ID чата в Max
HolidayModeResponseDto
object
holiday_until (string | null) required — Дата и время (UTC) до включения уведомлений, либо null, если режим отключен
CreateHolidayModeDto
object
holiday_until (object | null) required — Дата и время (UTC) до включения уведомлений, либо null для выключения режима
IncidentResponseDto
object
id (number, пример: 1) required — ID инцидента
server_id (number, пример: 1) required — ID сервера
started_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "resolved") required — Статус инцидента
root_error (string) required — Основная ошибка проверки сервера
keyword (object | null) required — Ключевое слово, которое искали при типе проверки keyword
screenshot (object) required — Ссылка на скриншот страницы
replay (object) required — Команда для повтора запроса
details (object) required — Детали проваленной проверки
IncidentEventResponseDto
object
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Время создания события
type (string, enum: "error", "resolved", "notification", "comment", "start", "end", пример: "end") required — Тип события
meta (ErrorMeta | NotificationMeta | CommentMeta | null) required — Метаданные события
IncidentSummaryResponseDto
object
summary (object) required — Сгенерированное ИИ саммари диагностики инцидента
rating (string | null, enum: "positive", "negative", пример: "positive") required — Оценка саммари пользователем
IncidentSummaryRatingDto
object
rating (string | null, enum: "positive", "negative", пример: "positive") required — Оценка саммари
IncidentCommentAttachmentDto
object
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
CreateIncidentCommentDto
object
comment_text (string, пример: "Текст комментария") required — Текст комментария
attached_files (array of object) — Список прикрепленных файлов
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
CommentResponseDto
object
id (number, пример: 1) required — ID комментария
comment_text (string, пример: "Комментарий") required — Текст комментария
attached_files (array of object) required — Прикрепленные к комментарию файлы
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
created_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата создания комментария
updated_at (string (date-time), пример: "2023-01-01T00:00:00.000Z") required — Дата обновления комментария
CreateIncidentCommentUploadUrlDto
object
file_name (string, пример: "incident-log.txt") required — Имя файла для загрузки
content_type (string, пример: "text/plain") — MIME-тип файла
file_size (number, пример: 1024) — Размер файла в байтах
PresignedUploadUrlResponseDto
object
uploadUrl (string, пример: "https://s3.timeweb.cloud/...") required
fileUrl (string, пример: "https://s3.statuser.cloud/status-pages/...") required
UpdateIncidentCommentDto
object
comment_text (string, пример: "Текст комментария") — Текст комментария
attached_files (array of object) — Список прикрепленных файлов с именами
url (string, пример: "https://s3.statuser.cloud/incident-attachments-dev/uuid.png") required — URL вложенного файла
file_name (string, пример: "error-screenshot.png") required — Имя вложенного файла
CheckSlugAvailabilityResponseDto
object
available (boolean, пример: true) required — Флаг, указывающий, свободен ли путь
CheckDomainAvailabilityResponseDto
object
available (boolean, пример: true) required — Флаг, указывающий, не занят ли домен другой страницей статуса
cname_valid (boolean, пример: true) required — Флаг, указывающий, корректно ли настроена CNAME-запись
PresignedUploadUrlDto
object
type (string, enum: "logo", "favicon") required
StatusPageDomain
object
domain (string, пример: "up.example.com") required — Домен страницы статуса
status (string, пример: "active") required — Статус домена
ReportServerStatusPage
object
name (string, пример: "My Server") required — Публичное имя сервера на странице статуса
description (string | null, пример: "My Server") required — Комментарий к серверу
uptime (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
current_status (string, enum: "operational", "downtime", "not_monitored", "degraded", "under_maintenance", пример: "operational") required — Статус доступности сервера
order (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
group_id (number, пример: 1) required — Идентификатор группы серверов
availability (array of array of unknown) required — Доступность сервера по датам
ReportServerGroupStatusPage
object
id (number, пример: 1) required — Идентификатор группы
name (string, пример: "Бэкенд-сервисы") required — Имя группы
description (string | null, пример: "Группа для основных API-сервисов") required — Описание группы
order (number, пример: 0) required — Порядок отображения группы
status (string, пример: "operational") required — Статус группы
StatusPageIncidentReportLinkedIncidentResponseDto
object
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
StatusPageIncidentReportServerDto
object
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
StatusPageIncidentReportUpdateResponseDto
object
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
StatusPageIncidentReportResponseDto
object
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
StatusPagePlannedMaintenanceServerDto
object
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
StatusPagePlannedMaintenanceUpdateResponseDto
object
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
StatusPagePlannedMaintenanceResponseDto
object
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
StatusPageResponseDto
object
id (number, пример: 1) required — ID страницы статуса
name (string, пример: "Statuser") required — Название страницы статуса
status (string, пример: "operational") required — Общий статус сервисов
slug (string, пример: "statuser") required — Уникальный путь страницы статуса
description (object | null) required — Описание страницы статуса
logo_url (object | null) required — URL логотипа
favicon_url (object | null) required — URL фавикона
company_url (object | null) required — URL сайта компании
support_url (object | null) required — Email службы поддержки
domains (array of object) required — Привязанные к странице статуса домены
domain (string, пример: "up.example.com") required — Домен страницы статуса
status (string, пример: "active") required — Статус домена
is_indexed (boolean, пример: true) required — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) required — Вайт-лейблинг: скрыт ли бренд Statuser
timeline_days (number, пример: 60) required — Количество дней, показываемых в таймлайне
timezone (string, пример: "Europe/Moscow") required — Таймзона страницы статуса
uptime_decimal_places (number, пример: 2) required — Количество знаков после запятой у аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") required — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) required — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) required — Минимальная длительность инцидента в секундах для отображения на странице
is_password_protected (boolean, пример: true) required — Защищена ли страница статуса паролем
servers (array of object) required — Список серверов, добавленных на страницу статуса
name (string, пример: "My Server") required — Публичное имя сервера на странице статуса
description (string | null, пример: "My Server") required — Комментарий к серверу
uptime (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
current_status (string, enum: "operational", "downtime", "not_monitored", "degraded", "under_maintenance", пример: "operational") required — Статус доступности сервера
order (number, пример: 99.93) required — Общее время безотказной работы сервера в процентах
group_id (number, пример: 1) required — Идентификатор группы серверов
availability (array of array of unknown) required — Доступность сервера по датам
groups (array of object) required — Список групп серверов
id (number, пример: 1) required — Идентификатор группы
name (string, пример: "Бэкенд-сервисы") required — Имя группы
description (string | null, пример: "Группа для основных API-сервисов") required — Описание группы
order (number, пример: 0) required — Порядок отображения группы
status (string, пример: "operational") required — Статус группы
incident_reports (array of object) required — Публичные отчёты по инцидентам на странице статуса
id (number, пример: 10100) required — ID отчёта
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала отчёта
current_status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Текущий статус отчёта по последнему известному состоянию сервисов
incidents (array of object) required — Инциденты, связанные с отчётом
incident_id (number, пример: 42) required — ID инцидента
server_id (number, пример: 7) required — ID сервера, к которому относится инцидент
server_name (string, пример: "API Gateway") required — Публичное имя сервера на странице статуса
status (string, enum: "ongoing", "resolved", "dismissed", "auto_closed_changed", "auto_closed_timeout", пример: "ongoing") required — Статус инцидента
started_at (string (date-time), пример: "2026-03-06T16:10:00.000Z") required — Время начала инцидента
ended_at (object | null) required — Время окончания инцидента
servers (array of object) required — Актуальные статусы сервисов внутри отчёта
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
updates (array of object) required — Таймлайн сообщений внутри отчёта
id (number, пример: 10100) required — ID обновления внутри отчёта
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением отчёта
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Статусы серверов на момент этого обновления
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "degraded") required — Статус влияния на сервис
planned_maintenances (array of object) required — Плановые работы на странице статуса
id (number, пример: 10100) required — ID плановых работ
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
updates (array of object) required — История обновлений по плановым работам
id (number, пример: 10100) required — ID обновления внутри записи плановых работ
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта
is_initial (boolean, пример: true) required — Является ли запись стартовым сообщением
published_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Когда обновление было опубликовано
servers (array of object) required — Сервисы, которых касается это обновление
id (number, пример: 1) required — ID сервиса на status page
name (string, пример: "API Gateway") required — Публичное имя сервиса на странице статуса
created_at (string (date-time), пример: "2026-03-18T12:00:00.000Z") required — Дата создания записи
created_at (string (date-time), пример: "2024-01-01T00:00:00.000Z") required — Дата создания страницы статуса
CreateStatusPageDto
object
name (string, пример: "Statuser") required — Название страницы статуса
slug (string | null, пример: "statuser") required — Уникальный путь страницы статуса
description (object | null) required — Описание страницы статуса
logo_url (object | null) required — URL логотипа
favicon_url (object | null) required — URL фавикона
company_url (object | null) required — URL сайта компании
support_url (object | null) required — Email службы поддержки
domain (object | null) required — Собственный домен страницы статуса
is_indexed (boolean, пример: true) required — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) required — Вайт-лейблинг: скрыть бренд Statuser
timeline_days (number, пример: 60) — Количество дней таймлайна на странице статуса
timezone (string, пример: "Europe/Moscow") — Таймзона, в которой считаются дни на странице статуса
uptime_decimal_places (number, пример: 2) — Количество знаков после запятой для аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) — Минимальная длительность инцидента в секундах для отображения на странице
password (object | null) required — Пароль для доступа к странице статуса
UpdateStatusPageDto
object
name (string, пример: "Statuser") — Название страницы статуса
slug (string, пример: "statuser") — Уникальный путь страницы статуса
description (object | null) — Описание страницы статуса
logo_url (object | null) — URL логотипа
favicon_url (object | null) — URL фавикона
company_url (object | null) — URL сайта компании
support_url (object | null) — Email службы поддержки
domain (object | null) — Собственный домен страницы статуса
is_indexed (boolean, пример: true) — Индексируется ли страница поисковиками
is_published (boolean, пример: true) required — Опубликована ли страница
is_white_labeled (boolean, пример: false) — Вайт-лейблинг: скрыть бренд Statuser
timeline_days (number, пример: 60) — Количество дней таймлайна на странице статуса
timezone (string, пример: "Europe/Moscow") — Таймзона, в которой считаются дни на странице статуса
uptime_decimal_places (number, пример: 2) — Количество знаков после запятой для аптайма
theme_mode (string, enum: "user", "light", "dark", пример: "user") — Режим темы страницы статуса
is_not_monitored_operational (boolean, пример: false) — Показывать ли статус Не в мониторинге зелёным, как Доступен
minimum_incident_duration (number, пример: 0) — Минимальная длительность инцидента в секундах для отображения на странице
password (object | null) — Пароль для доступа к странице статуса
UpdateStatusPageGroupsDto
object
CreateStatusPageIncidentReportServerDto
object
server_id (number, пример: 1) required — ID сервера на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "downtime") required — Статус влияния на сервер в момент создания отчёта
CreateStatusPageIncidentReportDto
object
title (string, пример: "Проблемы с доступностью API Gateway") required — Заголовок отчёта
initial_message (string, пример: "Часть пользователей может сталкиваться с ошибками 502. Команда уже расследует причину") required — Текст стартового сообщения отчёта
started_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") required — Время начала отчёта
incident_ids (array of string) — Связанные инциденты, если отчёт основан на существующих инцидентах
servers (array of object) required — Стартовые статусы серверов в рамках отчёта
server_id (number, пример: 1) required — ID сервера на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "downtime") required — Статус влияния на сервер в момент создания отчёта
UpdateStatusPageIncidentReportDto
object
title (string, пример: "Проблемы с доступностью API Gateway") — Заголовок отчёта
started_at (string (date-time), пример: "2026-03-06T16:12:00.000Z") — Время начала отчёта
CreateStatusPageIncidentReportUpdateServerDto
object
server_id (number, пример: 1) required — ID сервера на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "downtime") required — Новый статус влияния на сервер
CreateStatusPageIncidentReportUpdateDto
object
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Текст апдейта
published_at (string (date-time), пример: "2026-03-06T16:22:00.000Z") — Время публикации апдейта
servers (array of object) required — Новые статусы сервисов в рамках апдейта
server_id (number, пример: 1) required — ID сервера на странице статуса
status (string, enum: "not_affected", "downtime", "degraded", "resolved", пример: "downtime") required — Новый статус влияния на сервер
UpdateStatusPageIncidentReportUpdateDto
object
message (string, пример: "Мы нашли причину сбоя и уже выкатываем исправление. Следующее обновление через 10 минут") required — Обновлённый текст апдейта
CreateStatusPagePlannedMaintenanceServerDto
object
id (number, пример: 1) required — ID сервиса на странице статуса
CreateStatusPagePlannedMaintenanceDto
object
title (string, пример: "Плановое обновление API Gateway") required — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") required — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") required — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") required — Время завершения плановых работ
servers (array of object) required — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на странице статуса
UpdateStatusPagePlannedMaintenanceServerDto
object
id (number, пример: 1) required — ID сервиса на странице статуса
UpdateStatusPagePlannedMaintenanceDto
object
title (string, пример: "Плановое обновление API Gateway") — Заголовок плановых работ
description (string, пример: "Во время обновления возможны кратковременные перерывы в работе API и панели управления.") — Описание плановых работ
started_at (string (date-time), пример: "2026-03-20T01:00:00.000Z") — Время начала плановых работ
ended_at (string (date-time), пример: "2026-03-20T03:00:00.000Z") — Время завершения плановых работ
servers (array of object) — Сервисы на странице статуса, затрагиваемые плановыми работами
id (number, пример: 1) required — ID сервиса на странице статуса
CreateStatusPagePlannedMaintenanceUpdateDto
object
message (string, пример: "Работы идут по плану. Возможны кратковременные перерывы в работе API.") required — Текст апдейта о ходе плановых работ
published_at (string (date-time), пример: "2026-03-20T01:30:00.000Z") — Время публикации апдейта
UpdateStatusPagePlannedMaintenanceUpdateDto
object
message (string, пример: "Работы идут по плану. Завершаем проверку и скоро опубликуем финальный апдейт.") required — Обновлённый текст апдейта
Info2faResponseDto
object
preferred_method (string | null, enum: "telegram", "max", "email", "totp", пример: "telegram") required — Предпочитаемый метод двухфакторной аутентификации
allowed_methods (array of string, enum: "telegram", "max", "email", "totp") required — Список доступных методов двухфакторной аутентификации