Skip to main content

Alert Groups

Alert groups define who gets notified when a monitor detects an issue. Each monitor belongs to an alert group.

Endpoints

MethodPathDescription
GET/alert_groupsList all alert groups
GET/alert_groups/:idGet a specific alert group
POST/alert_groupsCreate an alert group
PUT/alert_groups/:idUpdate an alert group
DELETE/alert_groups/:idDelete an alert group

Alert Group Object

{
"id": "abc123",
"title": "Production Servers",
"priority_level": 1,
"timezone": "Europe/Amsterdam",
"contact_hours_all_day": false,
"contact_hours_from": "09:00:00",
"contact_hours_to": "17:00:00",
"contact_days": [1, 2, 3, 4, 5],
"external_id": "prod-servers",
"inserted_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}

Fields

FieldTypeDescription
titlestringName of the alert group (required)
priority_levelintegerPriority 1-3 (1 = highest)
timezonestringTimezone for contact hours
contact_hours_all_daybooleanIf true, alerts are sent 24/7
contact_hours_fromstringStart of contact window (HH:MM:SS)
contact_hours_tostringEnd of contact window (HH:MM:SS)
contact_daysarrayDays of week (0=Sunday, 6=Saturday)
external_idstringYour identifier for idempotent operations

Create an Alert Group

curl -X POST https://beepr.io/api/v1/alert_groups \
-H "Authorization: Bearer bpr_your_key" \
-H "Content-Type: application/json" \
-d '{
"title": "Production Servers",
"priority_level": 1,
"external_id": "prod-servers"
}'

Idempotent Creation

If you provide an external_id and an alert group with that ID already exists, the API will update the existing group instead of creating a duplicate. This makes it safe to run your automation multiple times.

Managing Members

You can add and remove users from alert groups:

MethodPathDescription
GET/alert_groups/:id/membersList members
POST/alert_groups/:id/membersAdd a member by email
DELETE/alert_groups/:id/members/:user_idRemove a member

Add a Member

curl -X POST https://beepr.io/api/v1/alert_groups/abc123/members \
-H "Authorization: Bearer bpr_your_key" \
-H "Content-Type: application/json" \
-d '{"email": "alice@example.com"}'

The user must already be a member of your organization.

For the complete schema, see the OpenAPI specification.