Читайте и принимайте оповещения
Прочитайте ленту оповещений, которые открылись в проекте, и отметьте оповещение как просмотренное.
Оповещение — это один случай, когда сработало правило: бюджет перешёл свой порог, пул потерял ёмкость, выросло число ошибок. Операции этой страницы читают ленту оповещений и отмечают оповещение как просмотренное. Правила задают в консоли, на вкладке Правила экрана Оповещения.
Как живёт оповещение
Slen проверяет активные правила раз в минуту.
Когда правило срабатывает, открывается оповещение.
occurred_at— этот момент.Пока правило выполняется, оповещение остаётся одним оповещением. Его
payload,severityиtitleобновляются при каждой проверке, поэтому оповещение, открытое какwarning, может статьcritical.Когда правило перестаёт выполняться, оповещение закрывается: появляется
resolved_at. Если правило приостановить или удалить, его открытое оповещение тоже закрывается. Вручную ничего закрывать не нужно.
Правило всей организации проверяется в каждом проекте организации, и всё равно у него одно открытое оповещение за раз — о проекте, где правило сработало. Оповещение остаётся за этим проектом, пока правило в нём выполняется. Когда этот проект приходит в норму, а другой всё ещё в беде, оповещение закрывается и открывается новое — о другом проекте.
title — это предложение на английском о том, что произошло, а payload несёт числа, которые за ним стоят.
События вебхуков alert.opened и alert.resolved сообщают о моменте, когда оповещение открывается, и о моменте, когда оно закрывается. Обновление открытого оповещения событий не отправляет.
Чтение ленты
Лента отвечает самыми новыми оповещениями в начале, не больше 100, и не делится на страницы. Оповещение называет проект, о котором оно, в project_id — и тогда, когда его правило следит за всей организацией. Ключ читает оповещения о своём проекте и оповещения без проекта, например о бюджете или пуле всей организации.
Отправьте open=1, чтобы прочитать только незакрытые оповещения. Логическое значение в строке запроса записывается как 1 или 0, а open=true отклоняется с 422.
Принятие оповещения
Принять оповещение — значит сказать, что его кто-то увидел. Операция записывает acknowledged_at и больше ничего не меняет: оповещение остаётся открытым, пока его правило выполняется, — или пока правило не приостановят или не удалят. Повторное принятие сохраняет время первого.
acknowledged_by_user_id называет человека, который принял оповещение в консоли. Оно равно null, когда это сделал API-ключ.
Оповещение, которого не существует, или оповещение другого проекта отвечает 404 с кодом alert_not_found.
Операции
Описания операций и полей приведены на английском.
Лента оповещений
GET /v1/alerts
- Разрешение:
read
Параметры
| Параметр | Описание |
|---|---|
open необязательноquery |
|
project необязательноquery |
|
Ответы
Alert events
{
"data": [
{
"alert_id": "74438200973594624",
"alert_rule_id": "74438200973594624",
"project_id": "74438200973594624",
"type": "budget_threshold",
"severity": "warning",
"title": "string",
"payload": {},
"occurred_at": "2026-10-02T09:30:00Z",
"resolved_at": "2026-10-02T09:30:00Z",
"acknowledged_at": "2026-10-02T09:30:00Z",
"acknowledged_by_user_id": "74438200973594624"
}
]
}Ошибки
| Статус | Коды | Когда |
|---|---|---|
| 401 | No credential, or one that is not valid | |
| 403 | Authenticated, but not allowed: scope ( | |
| 422 | Validation failure or a semantically impossible request. Field-level validation from the framework answers |
Заголовки
X-Request-Id
Тело каждой ошибки — конверт ошибки.
Подтвердить оповещение
POST /v1/alerts/{id}/ack
- Разрешение:
read
Acknowledging is about the reader, not about configuration, so read is enough.
Параметры
| Параметр | Описание |
|---|---|
id обязательноpath | Snowflake identifier, as a string.
|
Ответы
The acknowledged alert
{
"data": {
"alert_id": "74438200973594624",
"alert_rule_id": "74438200973594624",
"project_id": "74438200973594624",
"type": "budget_threshold",
"severity": "warning",
"title": "string",
"payload": {},
"occurred_at": "2026-10-02T09:30:00Z",
"resolved_at": "2026-10-02T09:30:00Z",
"acknowledged_at": "2026-10-02T09:30:00Z",
"acknowledged_by_user_id": "74438200973594624"
}
}Ошибки
| Статус | Коды | Когда |
|---|---|---|
| 401 | No credential, or one that is not valid | |
| 403 | Authenticated, but not allowed: scope ( | |
| 404 | No such resource for this tenant. Somebody else's resource — and a resource of a project the caller does not reach — answers the same way on purpose: the two must not be distinguishable. |
Заголовки
X-Request-Id
Тело каждой ошибки — конверт ошибки.
Примеры
Прочитать открытые оповещения
Открыто одно оповещение: месячный бюджет перешёл порог своего правила.
curl "https://api.slen.ai/api/v1/alerts?open=1" \
-H "Authorization: Bearer $SLEN_API_KEY"{
"data": [
{
"alert_id": "74441250346041344",
"alert_rule_id": "74440612744429568",
"project_id": "74438200973594624",
"type": "budget_threshold",
"severity": "warning",
"title": "Monthly budget is 86.40% used",
"payload": {
"budget_id": "74437302811459584",
"budget_name": "Production",
"budget_type": "monthly",
"currency": "USD",
"limit": "500.00000000",
"used": "432.00000000",
"used_percent": "86.40",
"threshold_percent": "80.00"
},
"occurred_at": "2026-10-02T07:12:00+00:00",
"resolved_at": null,
"acknowledged_at": null,
"acknowledged_by_user_id": null
}
]
}Принять оповещение
Ответ — это оповещение с записанным acknowledged_at. resolved_at по-прежнему равно null: бюджет всё ещё выше порога.
curl -X POST https://api.slen.ai/api/v1/alerts/74441250346041344/ack \
-H "Authorization: Bearer $SLEN_API_KEY"{
"data": {
"alert_id": "74441250346041344",
"alert_rule_id": "74440612744429568",
"project_id": "74438200973594624",
"type": "budget_threshold",
"severity": "warning",
"title": "Monthly budget is 86.40% used",
"payload": {
"budget_id": "74437302811459584",
"budget_name": "Production",
"budget_type": "monthly",
"currency": "USD",
"limit": "500.00000000",
"used": "432.00000000",
"used_percent": "86.40",
"threshold_percent": "80.00"
},
"occurred_at": "2026-10-02T07:12:00+00:00",
"resolved_at": null,
"acknowledged_at": "2026-10-02T08:41:00+00:00",
"acknowledged_by_user_id": null
}
}Что читать дальше
Оповещения — правила и лента в консоли.
Аутентификация — что доступно ключу в его проекте и в его организации.
Обзор — вид ответа
422для параметра, который не прошёл проверку.Вебхуки — как приходят
alert.openedиalert.resolved.
Собрано из openapi b070e1f, sdk contract 5cc7055, php ae4a53b, node 84bc62d