Skip to content

List the alerts that fire now and the alert history

GET
/api/notifications/alerts
curl --request GET \
--url 'https://opfield.example.com/api/notifications/alerts?page=1&limit=50&status=firing&category=hosting_vm&severity=info' \
--header 'Authorization: Bearer <token>'

Status firing (the default) lists what fires now; resolved lists the history, kept 30 days (an event rule records each occurrence resolved at once); all lists both. Newest first. Each alert carries its rule (ruleId, ruleName, ruleType, category, metric, eventPattern), the resource (resourceType, resourceId, resourceName), the message notified, firedAt, resolvedAt, durationSeconds and the template details. Filter by ruleId, category, severity, resourceType, resourceId (also a node id, finding its disk and container alerts, or the resource name), since and until (firedAt, ISO 8601), and search (rule name, resource name or id, message). Alerts fired before 2.12.3 have no resourceName or message. Needs notifications:alerts:view.

page
integer
default: 1 >= 1
limit
integer
default: 50 >= 1 <= 100
status
string
default: firing
Allowed values: firing resolved all
ruleId
string format: uuid
category
string
Allowed values: hosting_vm hosting_account node container build compose proxy pages opfield logging integration certificate security database_postgres database_clickhouse database_redis managed_storage app backup domain pki inference relay_pool docker_availability
severity
string
Allowed values: info warning critical
resourceType
string
<= 50 characters
resourceId
string
<= 255 characters
since
string | null
until
string | null
search
string
<= 255 characters

Successful response

Media typeapplication/json
object
data
required

Resource object. Exact fields depend on the endpoint.

object
id
string
name
string
key
additional properties
Example
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Slack alerts",
"enabled": true,
"status": "success"
}
]
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}