Burn Alerts

This feature is available as part of the Honeycomb Pro and Enterprise plans.

Burn Alerts notify you when issues impact your SLO budget. Learn more about Burn Alerts here.

This API allows you to list, create, update, and delete burn alerts.

Authorization

The API key must have the Manage SLOs permission. Learn more about API keys here.

Create a Burn Alert

Create a Burn Alert in a specified dataset against a specified SLO.

Securityconfiguration_key
Request
path Parameters
datasetSlug
required
string

The dataset slug.

Request Body schema: application/json
required
Any of:
alert_type
string
Default: "exhaustion_time"

One of the supported alert types:

  1. exhaustion_time: Notifies when you are about to run out of SLO budget within a specified number of hours.
  2. budget_rate: Notifies when budget drops by at least a specified percentage within a defined time window.
Enum: "exhaustion_time" "budget_rate"
exhaustion_minutes
required
integer >= 0

Required when alert_type is exhaustion_time.

Must not be specified when alert_type is budget_rate.

Amount of time (in minutes) left until your projected SLO budget is exhausted. The alert will fire when this exhaustion threshold is reached.

required
object

Details about the SLO associated with the burn alert.

required
Array of objects (NotificationRecipient) non-empty

A list of Recipients to notify when an alert fires. Using type+target is deprecated. First, create the Recipient via the Recipients API, and then specify the ID.

Responses
201

Created

404

Not Found

422

Validation Failed

default

Error

post/1/burn_alerts/{datasetSlug}
Request samples
application/json
{
  • "alert_type": "exhaustion_time",
  • "exhaustion_minutes": 120,
  • "slo": {
    },
  • "recipients": [
    ]
}
Response samples
application/json
{
  • "id": "fS7vfB81Wcy",
  • "created_at": "2022-09-22T17:32:11Z",
  • "updated_at": "2022-10-31T15:08:11Z",
  • "alert_type": "exhaustion_time",
  • "exhaustion_minutes": 120,
  • "slo": {
    },
  • "recipients": [
    ]
}

List All Burn Alerts for an SLO

Get all burn alerts associated with the SLO specified in the slo_id query param. It is not currently possible to retrieve all burn alerts for a dataset, environment, or team.

Securityconfiguration_key
Request
path Parameters
datasetSlug
required
string

The dataset slug.

query Parameters
slo_id
required
string

For use with the list endpoint to retrieve all burn alerts for a specified SLO.

Responses
200

Success

404

Not Found

default

Error

get/1/burn_alerts/{datasetSlug}
Request samples
Response samples
application/json
[
  • {
    },
  • {
    }
]

Get a Burn Alert

Get a single Burn Alert by ID.

Securityconfiguration_key
Request
path Parameters
datasetSlug
required
string

The dataset slug.

burnAlertId
required
string

The unique identifier (ID) of a Burn Alert.

Responses
200

Success

404

Not Found

default

Error

get/1/burn_alerts/{datasetSlug}/{burnAlertId}
Request samples
Response samples
application/json
{
  • "id": "fS7vfB81Wcy",
  • "created_at": "2022-09-22T17:32:11Z",
  • "updated_at": "2022-10-31T15:08:11Z",
  • "alert_type": "exhaustion_time",
  • "exhaustion_minutes": 120,
  • "slo": {
    },
  • "recipients": [
    ]
}

Update a Burn Alert

Update a Burn Alert by specifying its ID and full details.

Securityconfiguration_key
Request
path Parameters
datasetSlug
required
string

The dataset slug.

burnAlertId
required
string

The unique identifier (ID) of a Burn Alert.

Request Body schema: application/json
Any of:
alert_type
string
Default: "exhaustion_time"

One of the supported alert types:

  1. exhaustion_time: Notifies when you are about to run out of SLO budget within a specified number of hours.
  2. budget_rate: Notifies when budget drops by at least a specified percentage within a defined time window.
Enum: "exhaustion_time" "budget_rate"
exhaustion_minutes
required
integer >= 0

Required when alert_type is exhaustion_time.

Must not be specified when alert_type is budget_rate.

Amount of time (in minutes) left until your projected SLO budget is exhausted. The alert will fire when this exhaustion threshold is reached.

required
Array of objects (NotificationRecipient) non-empty

A list of Recipients to notify when an alert fires. Using type+target is deprecated. First, create the Recipient via the Recipients API, and then specify the ID.

Responses
200

Success

404

Not Found

422

Validation Failed

default

Error

put/1/burn_alerts/{datasetSlug}/{burnAlertId}
Request samples
application/json
{
  • "alert_type": "exhaustion_time",
  • "exhaustion_minutes": 120,
  • "recipients": [
    ]
}
Response samples
application/json
{
  • "id": "fS7vfB81Wcy",
  • "created_at": "2022-09-22T17:32:11Z",
  • "updated_at": "2022-10-31T15:08:11Z",
  • "alert_type": "exhaustion_time",
  • "exhaustion_minutes": 120,
  • "slo": {
    },
  • "recipients": [
    ]
}

Delete a Burn Alert

Delete a Burn Alert by specifying its ID.

Securityconfiguration_key
Request
path Parameters
datasetSlug
required
string

The dataset slug.

burnAlertId
required
string

The unique identifier (ID) of a Burn Alert.

Responses
204

Success - no content

404

Not Found

default

Error

delete/1/burn_alerts/{datasetSlug}/{burnAlertId}
Request samples
Response samples
{
  • "error": "dataset not found"
}