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":"0a9d04bb6eed523f","comment":"silenced during maintenance window","end_at":"2026-05-12T09:16:36Z"}'
Request examples
Silence until a specific date/time
When `end_at` is set, the silence expires at that moment
regardless of `duration_minutes`. The backend resolves the
alert by `fingerprint`, attaches the system's authoritative
`system_key` to the matchers, and creates the silence.
{
"fingerprint": "0a9d04bb6eed523f",
"comment": "silenced during maintenance window",
"end_at": "2026-05-12T09:16:36Z"
}
Without `end_at`, `duration_minutes` applies. If both are
omitted, the silence defaults to 60 minutes from creation.
{
"fingerprint": "0a9d04bb6eed523f",
"comment": "investigating",
"duration_minutes": 60
}
Response examples (200)
`silence_id` is the Alertmanager-assigned UUID; use it to
look up, update, or delete the silence later. The
corresponding `silenced` event is appended to the alert's
activity timeline (`GET /alerts/activity/{fingerprint}`).
{
"code": 200,
"message": "alert silenced successfully",
"data": {
"silence_id": "d9f91c6e-1b33-484e-befa-bfb41020e178"
}
}
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"
}
]
}
}