Summarize alert
curl --request POST \
--url https://api.cekura.ai/observability/v3/alerts/{id}/summarize/ \
--header 'Content-Type: application/json' \
--header 'X-CEKURA-API-KEY: <api-key>' \
--data '{
"hours": 123
}'import requests
url = "https://api.cekura.ai/observability/v3/alerts/{id}/summarize/"
payload = { "hours": 123 }
headers = {
"X-CEKURA-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-CEKURA-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({hours: 123})
};
fetch('https://api.cekura.ai/observability/v3/alerts/{id}/summarize/', 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.cekura.ai/observability/v3/alerts/{id}/summarize/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'hours' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-CEKURA-API-KEY: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cekura.ai/observability/v3/alerts/{id}/summarize/"
payload := strings.NewReader("{\n \"hours\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-CEKURA-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cekura.ai/observability/v3/alerts/{id}/summarize/")
.header("X-CEKURA-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"hours\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/observability/v3/alerts/{id}/summarize/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"hours\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": "completed",
"alert_id": 123,
"project_id": 123,
"output": {
"headline": "<string>",
"summary": "<string>",
"common_themes": [
"<string>"
]
},
"error": "<string>"
}{
"field_name": [
"<string>"
]
}Others
Summarize Alert V3
Summarize what the alert’s fires over the last hours have in common and return the summary. Returns 400 when the alert did not fire in that window. Usually takes under 30 seconds.
POST
/
observability
/
v3
/
alerts
/
{id}
/
summarize
/
Summarize alert
curl --request POST \
--url https://api.cekura.ai/observability/v3/alerts/{id}/summarize/ \
--header 'Content-Type: application/json' \
--header 'X-CEKURA-API-KEY: <api-key>' \
--data '{
"hours": 123
}'import requests
url = "https://api.cekura.ai/observability/v3/alerts/{id}/summarize/"
payload = { "hours": 123 }
headers = {
"X-CEKURA-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-CEKURA-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({hours: 123})
};
fetch('https://api.cekura.ai/observability/v3/alerts/{id}/summarize/', 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.cekura.ai/observability/v3/alerts/{id}/summarize/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'hours' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-CEKURA-API-KEY: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cekura.ai/observability/v3/alerts/{id}/summarize/"
payload := strings.NewReader("{\n \"hours\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-CEKURA-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cekura.ai/observability/v3/alerts/{id}/summarize/")
.header("X-CEKURA-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"hours\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/observability/v3/alerts/{id}/summarize/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"hours\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": "completed",
"alert_id": 123,
"project_id": 123,
"output": {
"headline": "<string>",
"summary": "<string>",
"common_themes": [
"<string>"
]
},
"error": "<string>"
}{
"field_name": [
"<string>"
]
}Authorizations
api_keyoauth2embedded_sessionsupabase_session
API Key Authentication. It should be included in the header of each request.
Path Parameters
Pattern:
^\d+$Body
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
Look-back window in hours, 1–168. Defaults to 24.