curl --request GET \
--url https://api.honeycomb.io/1/slos/{datasetSlug} \
--header 'X-Honeycomb-Team: <api-key>'import requests
url = "https://api.honeycomb.io/1/slos/{datasetSlug}"
headers = {"X-Honeycomb-Team": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Honeycomb-Team': '<api-key>'}};
fetch('https://api.honeycomb.io/1/slos/{datasetSlug}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.honeycomb.io/1/slos/{datasetSlug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Honeycomb-Team: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.honeycomb.io/1/slos/{datasetSlug}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Honeycomb-Team", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.honeycomb.io/1/slos/{datasetSlug}")
.header("X-Honeycomb-Team", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.honeycomb.io/1/slos/{datasetSlug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Honeycomb-Team"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"name": "My SLO",
"sli": {
"alias": "error_sli"
},
"time_period_days": 30,
"target_per_million": 990000,
"id": "<string>",
"description": "SLO to ensure requests succeed and are fast",
"tags": [
{
"key": "team",
"value": "blue"
}
],
"reset_at": "2022-011-11T09:53:04Z",
"created_at": "2022-09-22T17:32:11Z",
"updated_at": "2022-10-31T15:08:11Z",
"dataset_slugs": [
"mydataset1",
"mydataset2"
]
}
]{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "Rate Limited"
}{
"error": "<string>"
}Get all SLOs
Get all SLOs for a dataset or environment (using __all__). This action returns any SLOs, including those applied with multiple datasets.
curl --request GET \
--url https://api.honeycomb.io/1/slos/{datasetSlug} \
--header 'X-Honeycomb-Team: <api-key>'import requests
url = "https://api.honeycomb.io/1/slos/{datasetSlug}"
headers = {"X-Honeycomb-Team": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Honeycomb-Team': '<api-key>'}};
fetch('https://api.honeycomb.io/1/slos/{datasetSlug}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.honeycomb.io/1/slos/{datasetSlug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Honeycomb-Team: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.honeycomb.io/1/slos/{datasetSlug}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Honeycomb-Team", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.honeycomb.io/1/slos/{datasetSlug}")
.header("X-Honeycomb-Team", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.honeycomb.io/1/slos/{datasetSlug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Honeycomb-Team"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"name": "My SLO",
"sli": {
"alias": "error_sli"
},
"time_period_days": 30,
"target_per_million": 990000,
"id": "<string>",
"description": "SLO to ensure requests succeed and are fast",
"tags": [
{
"key": "team",
"value": "blue"
}
],
"reset_at": "2022-011-11T09:53:04Z",
"created_at": "2022-09-22T17:32:11Z",
"updated_at": "2022-10-31T15:08:11Z",
"dataset_slugs": [
"mydataset1",
"mydataset2"
]
}
]{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "Rate Limited"
}{
"error": "<string>"
}Authorizations
Authenticate using a Honeycomb Configuration Key.
Pass the Token in the X-Honeycomb-Team header:
X-Honeycomb-Team: 1234567890123456789012
If you created your key using the API, use data.attributes.secret; this is the same value as the Token in the UI.
To learn how to create a Configuration Key, visit Manage Environment API Keys. To learn more about authenticating requests, visit API Authentication.
Path Parameters
The dataset slug or use __all__ for endpoints that support environment-wide operations.
Response
Success
The name of the SLO.
1 - 120"My SLO"
Reference to the Calculated Field used as the indicator of event success.
Show child attributes
Show child attributes
{ "alias": "error_sli" }
The time period, in days, over which the SLO will be evaluated.
x >= 130
The number of events out of one million (1,000,000) that you expected qualified events to succeed.
0 <= x <= 999999990000
A nice description of the SLO's intent and context.
1023"SLO to ensure requests succeed and are fast"
A list of key-value pairs to help identify the SLO.
10Show child attributes
Show child attributes
[{ "key": "team", "value": "blue" }]
The ISO8601-formatted time the SLO was last reset. The value will be null if the SLO has not yet been reset.
"2022-011-11T09:53:04Z"
The ISO8601-formatted time when the SLO was created.
"2022-09-22T17:32:11Z"
The ISO8601-formatted time when the SLO was updated.
"2022-10-31T15:08:11Z"
The dataset(s) the SLO will be evaluated against. Required if using __all__ in the path.
1 - 10 elements["mydataset1", "mydataset2"]