Returns the CALLER's own alerting configuration layer. No inherited ancestor layers, no merged effective view: every organization sees only its own configuration. The server-side merge that backs the Mimir YAML stays inside the backend.
When the caller has never saved a layer the response body contains an empty layer (toggles all null, recipient lists empty) and the two audit fields set to null. The UI uses that state to render a first-save form.
Requires read:alerts permission.
GET
/alerts/config
curl \
--request GET 'https://api.your-domain.com/api/alerts/config' \
--header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
Caller has saved a layer
{
"code": 200,
"message": "alerting layer retrieved successfully",
"data": {
"enabled": {
"email": true,
"webhook": null,
"telegram": null
},
"email_recipients": [
{
"address": "noc@reseller.example",
"severities": [
"critical"
],
"language": "it",
"format": "html"
}
],
"webhook_recipients": [],
"telegram_recipients": [],
"updated_by_name": "Reseller Admin",
"updated_at": "2026-05-09T10:14:00Z"
}
}
{
"code": 200,
"message": "alerting layer retrieved successfully",
"data": {
"enabled": {
"email": null,
"webhook": null,
"telegram": null
},
"email_recipients": [],
"webhook_recipients": [],
"telegram_recipients": [],
"updated_by_name": null,
"updated_at": null
}
}
Response examples (401)
{
"code": 401,
"message": "invalid token",
"data": {}
}
Response examples (403)
{
"code": 403,
"message": "insufficient permissions",
"data": {}
}