curl --request GET \
--url https://api.getbluejay.ai/v1/alerts/{alert_id}/results \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://api.getbluejay.ai/v1/alerts/{alert_id}/results"
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/{alert_id}/results', 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/{alert_id}/results",
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/{alert_id}/results"
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/{alert_id}/results")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getbluejay.ai/v1/alerts/{alert_id}/results")
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{
"alert_id": "<string>",
"source_scope": "<string>",
"results": [
{
"id": "<string>",
"alert_id": "<string>",
"triggered_by_entity_type": "<string>",
"triggered_by_entity_id": "<string>",
"entity_field": "<string>",
"actual_value": "<string>",
"expected_value": "<string>",
"operator_used": "<string>",
"source": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"agent_id": 123,
"metadata": {},
"simulation": {
"simulation_id": 123,
"simulation_name": "<string>",
"simulation_run_id": 123,
"test_result_id": 123,
"run_status": "<string>"
},
"observability": {
"call_id": "<string>",
"call_status": "<string>",
"started_at": "2023-11-07T05:31:56Z"
}
}
],
"total_count": 123,
"page": 123,
"page_size": 123,
"items_in_page": 123,
"total_pages": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get Alert Results
Retrieve the fired results for an alert, each resolved to the simulation run or observability call that caused it.
curl --request GET \
--url https://api.getbluejay.ai/v1/alerts/{alert_id}/results \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://api.getbluejay.ai/v1/alerts/{alert_id}/results"
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/{alert_id}/results', 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/{alert_id}/results",
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/{alert_id}/results"
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/{alert_id}/results")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getbluejay.ai/v1/alerts/{alert_id}/results")
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{
"alert_id": "<string>",
"source_scope": "<string>",
"results": [
{
"id": "<string>",
"alert_id": "<string>",
"triggered_by_entity_type": "<string>",
"triggered_by_entity_id": "<string>",
"entity_field": "<string>",
"actual_value": "<string>",
"expected_value": "<string>",
"operator_used": "<string>",
"source": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"agent_id": 123,
"metadata": {},
"simulation": {
"simulation_id": 123,
"simulation_name": "<string>",
"simulation_run_id": 123,
"test_result_id": 123,
"run_status": "<string>"
},
"observability": {
"call_id": "<string>",
"call_status": "<string>",
"started_at": "2023-11-07T05:31:56Z"
}
}
],
"total_count": 123,
"page": 123,
"page_size": 123,
"items_in_page": 123,
"total_pages": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Path Parameters
Query Parameters
Filter results by source: 'simulation' or 'observability' Filterable sources for the results endpoint.
Deliberately excludes AlertEventSource.UNKNOWN: it is a classification outcome, not a valid filter, and accepting it would silently return unfiltered results.
simulation, observability Max results per page
1 <= x <= 100Page number (1-based)
x >= 1Response
Successful Response
Paginated results (fired events) for a single alert.
Pagination follows the same page-based convention as the other list endpoints (e.g. retrieve-call-logs, get-custom-metrics).
ID of the alert
Configured source scope of the alert
The fired events on this page, newest first
Show child attributes
Show child attributes
Total number of events matching the filter across all pages
Current page (1-based)
Requested number of items per page
Actual number of items on this page
Total number of pages