curl --request POST \
--url https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/ \
--header 'Content-Type: application/json' \
--header 'X-CEKURA-API-KEY: <api-key>' \
--data '
{
"failure_mode_index": 1,
"feedback": "",
"expected_value": "<unknown>"
}
'import requests
url = "https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/"
payload = {
"failure_mode_index": 1,
"feedback": "",
"expected_value": "<unknown>"
}
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({failure_mode_index: 1, feedback: '', expected_value: '<unknown>'})
};
fetch('https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/', 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/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/",
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([
'failure_mode_index' => 1,
'feedback' => '',
'expected_value' => '<unknown>'
]),
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/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/"
payload := strings.NewReader("{\n \"failure_mode_index\": 1,\n \"feedback\": \"\",\n \"expected_value\": \"<unknown>\"\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/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/")
.header("X-CEKURA-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"failure_mode_index\": 1,\n \"feedback\": \"\",\n \"expected_value\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/")
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 \"failure_mode_index\": 1,\n \"feedback\": \"\",\n \"expected_value\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"failure_mode_index": 1,
"feedback": "",
"expected_value": "<unknown>"
}Add Metric Failure Mode Insight Category Example Calls to Labs
Sample the latest calls in one persistent failure category and add them to Labs for its metric, with feedback as the note and an optional corrected expected_value label (defaults to a pass).
curl --request POST \
--url https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/ \
--header 'Content-Type: application/json' \
--header 'X-CEKURA-API-KEY: <api-key>' \
--data '
{
"failure_mode_index": 1,
"feedback": "",
"expected_value": "<unknown>"
}
'import requests
url = "https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/"
payload = {
"failure_mode_index": 1,
"feedback": "",
"expected_value": "<unknown>"
}
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({failure_mode_index: 1, feedback: '', expected_value: '<unknown>'})
};
fetch('https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/', 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/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/",
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([
'failure_mode_index' => 1,
'feedback' => '',
'expected_value' => '<unknown>'
]),
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/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/"
payload := strings.NewReader("{\n \"failure_mode_index\": 1,\n \"feedback\": \"\",\n \"expected_value\": \"<unknown>\"\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/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/")
.header("X-CEKURA-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"failure_mode_index\": 1,\n \"feedback\": \"\",\n \"expected_value\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/")
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 \"failure_mode_index\": 1,\n \"feedback\": \"\",\n \"expected_value\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"failure_mode_index": 1,
"feedback": "",
"expected_value": "<unknown>"
}Authorizations
API Key Authentication. It should be included in the header of each request.
Path Parameters
^[^/]+$Body
Request body for POST /metric-failure-mode-insights/{id}/fix_metric/.
Samples a few of one failure mode's example calls and adds them to Labs
for the insight's metric, carrying the user's feedback as the note and
expected_value as the corrected label.
Index into the insight's failure_modes list to act on.
x >= 0Optional human note attached to each sampled call's metric review in Labs. The corrected label alone is enough to iterate on the metric, so a blank note is accepted.
Corrected label to record for each sampled call in Labs: true/false for binary metrics, a 0-5 score for ratings, a number for numeric metrics, or null for N/A. Defaults to a passing value when omitted.
Response
Request body for POST /metric-failure-mode-insights/{id}/fix_metric/.
Samples a few of one failure mode's example calls and adds them to Labs
for the insight's metric, carrying the user's feedback as the note and
expected_value as the corrected label.
Index into the insight's failure_modes list to act on.
x >= 0Optional human note attached to each sampled call's metric review in Labs. The corrected label alone is enough to iterate on the metric, so a blank note is accepted.
Corrected label to record for each sampled call in Labs: true/false for binary metrics, a 0-5 score for ratings, a number for numeric metrics, or null for N/A. Defaults to a passing value when omitted.