curl --request GET \
--url https://api.getbluejay.ai/v1/alerts \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://api.getbluejay.ai/v1/alerts"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://api.getbluejay.ai/v1/alerts', 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.getbluejay.ai/v1/alerts",
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-API-Key: <x-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.getbluejay.ai/v1/alerts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-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.getbluejay.ai/v1/alerts")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getbluejay.ai/v1/alerts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"name": "<string>",
"is_enabled": true,
"organization_id": "<string>",
"entity_type": "standard_metric",
"entity_field": "<string>",
"operator": "equals",
"comparison_value": "<string>",
"notification_channels": [
"<unknown>"
],
"trigger_count": 123,
"applies_to_all_agents": true,
"created_at": "2023-11-07T05:31:56Z",
"threshold_time_interval": 123,
"min_events": 123,
"in_alert": true,
"description": "<string>",
"last_triggered_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"agents": [
123
],
"simulation_id": 123,
"evaluation_scope": "<string>",
"aggregation": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"updated_by": "<string>",
"min_events_type": "events",
"source_scope": "all",
"simulation_name": "<string>",
"sample_size": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}List Alerts
List all alerts for your organization, optionally filtered by source scope (observability or simulation).
curl --request GET \
--url https://api.getbluejay.ai/v1/alerts \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://api.getbluejay.ai/v1/alerts"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://api.getbluejay.ai/v1/alerts', 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.getbluejay.ai/v1/alerts",
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-API-Key: <x-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.getbluejay.ai/v1/alerts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-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.getbluejay.ai/v1/alerts")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getbluejay.ai/v1/alerts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"name": "<string>",
"is_enabled": true,
"organization_id": "<string>",
"entity_type": "standard_metric",
"entity_field": "<string>",
"operator": "equals",
"comparison_value": "<string>",
"notification_channels": [
"<unknown>"
],
"trigger_count": 123,
"applies_to_all_agents": true,
"created_at": "2023-11-07T05:31:56Z",
"threshold_time_interval": 123,
"min_events": 123,
"in_alert": true,
"description": "<string>",
"last_triggered_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"agents": [
123
],
"simulation_id": 123,
"evaluation_scope": "<string>",
"aggregation": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"updated_by": "<string>",
"min_events_type": "events",
"source_scope": "all",
"simulation_name": "<string>",
"sample_size": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Query Parameters
Filter alerts by source scope Allowed data source scope for when an alert fires: all, observability only, or simulation only.
all, observability, simulation Response
Successful Response
Unique identifier for the alert
Name of the alert
Whether the alert is enabled
Organization ID
Type of entity being monitored
standard_metric, custom_goal, custom_metric, metadata_field, system_failure The specific field/metric being monitored
Comparison operator
equals, not_equals, greater_than, less_than, greater_than_or_equal, less_than_or_equal, contains, not_contains Value to compare against
Notification channels configuration
Number of times triggered
Whether the alert applies to all agents
When the alert was created
For observability source_scope: time window in seconds. For simulation source_scope: K = number of recent completed runs.
The minimum number of events for the alert. NULL for simulation alerts.
Whether the alert is in alert
Description of the alert
When the alert was last triggered
User who created the alert
Associated agent IDs
Optional experiments.id (simulation) this alert is scoped to
How this alert is evaluated. Only 'per_simulation_run' is supported.
Aggregation mode used to compute the per-run metric value from test results within the run.
When the alert was last updated
User who last updated the alert
Whether min_events is an absolute count or a percentage
Which data source fires this alert: 'all', 'observability', or 'simulation'
Name of the simulation (experiment) this alert is scoped to, if any
Most recent N conversations the alert is evaluated over; NULL = time window