AI Configs
Get AI Config metrics
For the complete documentation index, see llms.txt. For the full documentation snapshot, see llms-full.txt.
Retrieve usage metrics for an AI Config by config key.
GET
/
api
/
v2
/
projects
/
{projectKey}
/
ai-configs
/
{configKey}
/
metrics
Get AI Config metrics
curl --request GET \
--url https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics \
--header 'Authorization: <api-key>'import requests
url = "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics', 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://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"judgeRelevance": 0.14894159,
"inputCost": 7.386281948385884,
"outputCost": 1.2315135367772556,
"generationSuccessCount": 5,
"inputTokens": 0,
"generationErrorCount": 2,
"thumbsDown": 9,
"judgeToxicity": 0.6846853,
"totalTokens": 1,
"judgeAccuracy": 0.10246457,
"generationCount": 5,
"timeToFirstTokenMs": 2,
"outputTokens": 6,
"thumbsUp": 7,
"durationMs": 3,
"satisfactionRating": 0.4145608
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}Authorizations
Query Parameters
The starting time, as milliseconds since epoch (inclusive).
The ending time, as milliseconds since epoch (exclusive). May not be more than 100 days after from.
An environment key. Only metrics from this environment will be included.
Response
Metrics computed
Number of attempted generations
Number of successful generations
Number of generations with errors
A value between 0 and 1 representing satisfaction rating
Required range:
0 <= x <= 1Cost of input tokens in USD
Cost of output tokens in USD
Average accuracy judge score (0.0-1.0)
Required range:
0 <= x <= 1Average relevance judge score (0.0-1.0)
Required range:
0 <= x <= 1Average toxicity judge score (0.0-1.0)
Required range:
0 <= x <= 1⌘I
Get AI Config metrics
curl --request GET \
--url https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics \
--header 'Authorization: <api-key>'import requests
url = "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics', 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://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}/metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"judgeRelevance": 0.14894159,
"inputCost": 7.386281948385884,
"outputCost": 1.2315135367772556,
"generationSuccessCount": 5,
"inputTokens": 0,
"generationErrorCount": 2,
"thumbsDown": 9,
"judgeToxicity": 0.6846853,
"totalTokens": 1,
"judgeAccuracy": 0.10246457,
"generationCount": 5,
"timeToFirstTokenMs": 2,
"outputTokens": 6,
"thumbsUp": 7,
"durationMs": 3,
"satisfactionRating": 0.4145608
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}