Creates an Alertmanager silence for a specific active alert on the target system.
The request identifies the live alert by fingerprint. The backend resolves the alert,
builds the silence matchers server-side, and always uses the system's authoritative
system_key.
If end_at is provided it takes precedence over duration_minutes.
Requires manage:systems permission.
Body
Required
-
Fingerprint of the active alert to silence
-
Optional silence comment. Defaults to a system-generated value when empty.
-
Optional silence duration in minutes. Defaults to 60 when omitted. Ignored when end_at is set.
Minimum value is
1, maximum value is10080. -
Optional explicit end time (RFC3339). Takes precedence over duration_minutes.
POST
/systems/{id}/alerts/silences
curl \
--request POST 'https://api.your-domain.com/api/systems/sys_123456789/alerts/silences' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"fingerprint":"8f2d65896d4bcf97","comment":"silenced during maintenance","duration_minutes":60,"end_at":"2024-01-01T02:00:00Z"}'
Request examples
{
"fingerprint": "8f2d65896d4bcf97",
"comment": "silenced during maintenance",
"duration_minutes": 60,
"end_at": "2024-01-01T02:00:00Z"
}
Response examples (200)
{
"code": 200,
"message": "alert silenced successfully",
"data": {
"silence_id": "4e6f0c30-c383-4e22-9443-0d7b6a8bd40b"
}
}
Response examples (400)
{
"code": 400,
"message": "validation failed",
"data": {
"type": "validation_error",
"errors": [
{
"key": "username",
"message": "required",
"value": "string"
}
]
}
}
Response examples (401)
{
"code": 401,
"message": "invalid token",
"data": {}
}
Response examples (403)
{
"code": 403,
"message": "insufficient permissions",
"data": {}
}
Response examples (404)
{
"code": 400,
"message": "validation failed",
"data": {
"type": "validation_error",
"errors": [
{
"key": "username",
"message": "required",
"value": "string"
}
]
}
}