curl --request GET \
--url https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey} \
--header 'Authorization: <api-key>'import requests
url = "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}"
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}', 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}",
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}"
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}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}")
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{
"_maintainer": {
"kind": "kind"
},
"_links": {
"parent": {
"href": "href",
"type": "type"
},
"self": {
"href": "href",
"type": "type"
}
},
"description": "description",
"evaluationMetricKey": "evaluationMetricKey",
"version": 0,
"tags": [
"tags",
"tags"
],
"dependencies": [
{
"type": "agent-graph",
"key": "key"
},
{
"type": "agent-graph",
"key": "key"
}
],
"mode": "completion",
"createdAt": 2,
"evaluationMetricKeys": [
"evaluationMetricKeys",
"evaluationMetricKeys"
],
"_access": {
"allowed": [
{
"reason": {
"role_name": "role_name",
"notActions": [
null,
null
],
"notResources": [
"notResources",
"notResources"
],
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"actions": [
"*"
]
},
"action": "action"
},
{
"reason": {
"role_name": "role_name",
"notActions": [
null,
null
],
"notResources": [
"notResources",
"notResources"
],
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"actions": [
"*"
]
},
"action": "action"
}
],
"denied": [
{
"reason": {
"role_name": "role_name",
"notActions": [
null,
null
],
"notResources": [
"notResources",
"notResources"
],
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"actions": [
"*"
]
},
"action": "action"
},
{
"reason": {
"role_name": "role_name",
"notActions": [
null,
null
],
"notResources": [
"notResources",
"notResources"
],
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"actions": [
"*"
]
},
"action": "action"
}
]
},
"_site": {
"href": "href",
"type": "type"
},
"variations": [
{
"judgeConfiguration": {
"judges": [
{
"samplingRate": 0.36160767,
"judgeConfigKey": "judgeConfigKey"
},
{
"samplingRate": 0.36160767,
"judgeConfigKey": "judgeConfigKey"
}
]
},
"instructions": "instructions",
"color": "color",
"_links": {
"parent": {
"href": "href",
"type": "type"
}
},
"description": "description",
"modelConfigKey": "OpenAI.gpt-4.1",
"judgingConfigKeys": [
"judgingConfigKeys",
"judgingConfigKeys"
],
"version": 5,
"tools": [
{
"customParameters": {
"key": ""
},
"version": 7,
"key": "key"
},
{
"customParameters": {
"key": ""
},
"version": 7,
"key": "key"
}
],
"skills": [
{
"version": 9,
"key": "key"
},
{
"version": 9,
"key": "key"
}
],
"createdAt": 1,
"_publishedAt": 2,
"_archivedAt": 5,
"classifiers": [
{
"instructions": "instructions",
"criteria": "",
"type": "bool",
"key": "key"
},
{
"instructions": "instructions",
"criteria": "",
"type": "bool",
"key": "key"
}
],
"name": "name",
"messages": [
{
"role": "role",
"content": "content"
},
{
"role": "role",
"content": "content"
}
],
"comment": "comment",
"model": "{}",
"_id": "_id",
"state": "published",
"outputFormat": {
"key": ""
},
"key": "key",
"modelConfigVersion": 6
},
{
"judgeConfiguration": {
"judges": [
{
"samplingRate": 0.36160767,
"judgeConfigKey": "judgeConfigKey"
},
{
"samplingRate": 0.36160767,
"judgeConfigKey": "judgeConfigKey"
}
]
},
"instructions": "instructions",
"color": "color",
"_links": {
"parent": {
"href": "href",
"type": "type"
}
},
"description": "description",
"modelConfigKey": "OpenAI.gpt-4.1",
"judgingConfigKeys": [
"judgingConfigKeys",
"judgingConfigKeys"
],
"version": 5,
"tools": [
{
"customParameters": {
"key": ""
},
"version": 7,
"key": "key"
},
{
"customParameters": {
"key": ""
},
"version": 7,
"key": "key"
}
],
"skills": [
{
"version": 9,
"key": "key"
},
{
"version": 9,
"key": "key"
}
],
"createdAt": 1,
"_publishedAt": 2,
"_archivedAt": 5,
"classifiers": [
{
"instructions": "instructions",
"criteria": "",
"type": "bool",
"key": "key"
},
{
"instructions": "instructions",
"criteria": "",
"type": "bool",
"key": "key"
}
],
"name": "name",
"messages": [
{
"role": "role",
"content": "content"
},
{
"role": "role",
"content": "content"
}
],
"comment": "comment",
"model": "{}",
"_id": "_id",
"state": "published",
"outputFormat": {
"key": ""
},
"key": "key",
"modelConfigVersion": 6
}
],
"name": "name",
"key": "key",
"isInverted": true,
"updatedAt": 4
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}Get AI Config
Retrieve a specific AI Config by its key.
curl --request GET \
--url https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey} \
--header 'Authorization: <api-key>'import requests
url = "https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}"
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}', 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}",
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}"
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}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/projects/{projectKey}/ai-configs/{configKey}")
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{
"_maintainer": {
"kind": "kind"
},
"_links": {
"parent": {
"href": "href",
"type": "type"
},
"self": {
"href": "href",
"type": "type"
}
},
"description": "description",
"evaluationMetricKey": "evaluationMetricKey",
"version": 0,
"tags": [
"tags",
"tags"
],
"dependencies": [
{
"type": "agent-graph",
"key": "key"
},
{
"type": "agent-graph",
"key": "key"
}
],
"mode": "completion",
"createdAt": 2,
"evaluationMetricKeys": [
"evaluationMetricKeys",
"evaluationMetricKeys"
],
"_access": {
"allowed": [
{
"reason": {
"role_name": "role_name",
"notActions": [
null,
null
],
"notResources": [
"notResources",
"notResources"
],
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"actions": [
"*"
]
},
"action": "action"
},
{
"reason": {
"role_name": "role_name",
"notActions": [
null,
null
],
"notResources": [
"notResources",
"notResources"
],
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"actions": [
"*"
]
},
"action": "action"
}
],
"denied": [
{
"reason": {
"role_name": "role_name",
"notActions": [
null,
null
],
"notResources": [
"notResources",
"notResources"
],
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"actions": [
"*"
]
},
"action": "action"
},
{
"reason": {
"role_name": "role_name",
"notActions": [
null,
null
],
"notResources": [
"notResources",
"notResources"
],
"effect": "allow",
"resources": [
"proj/*:env/*;qa_*:/flag/*"
],
"actions": [
"*"
]
},
"action": "action"
}
]
},
"_site": {
"href": "href",
"type": "type"
},
"variations": [
{
"judgeConfiguration": {
"judges": [
{
"samplingRate": 0.36160767,
"judgeConfigKey": "judgeConfigKey"
},
{
"samplingRate": 0.36160767,
"judgeConfigKey": "judgeConfigKey"
}
]
},
"instructions": "instructions",
"color": "color",
"_links": {
"parent": {
"href": "href",
"type": "type"
}
},
"description": "description",
"modelConfigKey": "OpenAI.gpt-4.1",
"judgingConfigKeys": [
"judgingConfigKeys",
"judgingConfigKeys"
],
"version": 5,
"tools": [
{
"customParameters": {
"key": ""
},
"version": 7,
"key": "key"
},
{
"customParameters": {
"key": ""
},
"version": 7,
"key": "key"
}
],
"skills": [
{
"version": 9,
"key": "key"
},
{
"version": 9,
"key": "key"
}
],
"createdAt": 1,
"_publishedAt": 2,
"_archivedAt": 5,
"classifiers": [
{
"instructions": "instructions",
"criteria": "",
"type": "bool",
"key": "key"
},
{
"instructions": "instructions",
"criteria": "",
"type": "bool",
"key": "key"
}
],
"name": "name",
"messages": [
{
"role": "role",
"content": "content"
},
{
"role": "role",
"content": "content"
}
],
"comment": "comment",
"model": "{}",
"_id": "_id",
"state": "published",
"outputFormat": {
"key": ""
},
"key": "key",
"modelConfigVersion": 6
},
{
"judgeConfiguration": {
"judges": [
{
"samplingRate": 0.36160767,
"judgeConfigKey": "judgeConfigKey"
},
{
"samplingRate": 0.36160767,
"judgeConfigKey": "judgeConfigKey"
}
]
},
"instructions": "instructions",
"color": "color",
"_links": {
"parent": {
"href": "href",
"type": "type"
}
},
"description": "description",
"modelConfigKey": "OpenAI.gpt-4.1",
"judgingConfigKeys": [
"judgingConfigKeys",
"judgingConfigKeys"
],
"version": 5,
"tools": [
{
"customParameters": {
"key": ""
},
"version": 7,
"key": "key"
},
{
"customParameters": {
"key": ""
},
"version": 7,
"key": "key"
}
],
"skills": [
{
"version": 9,
"key": "key"
},
{
"version": 9,
"key": "key"
}
],
"createdAt": 1,
"_publishedAt": 2,
"_archivedAt": 5,
"classifiers": [
{
"instructions": "instructions",
"criteria": "",
"type": "bool",
"key": "key"
},
{
"instructions": "instructions",
"criteria": "",
"type": "bool",
"key": "key"
}
],
"name": "name",
"messages": [
{
"role": "role",
"content": "content"
},
{
"role": "role",
"content": "content"
}
],
"comment": "comment",
"model": "{}",
"_id": "_id",
"state": "published",
"outputFormat": {
"key": ""
},
"key": "key",
"modelConfigVersion": 6
}
],
"name": "name",
"key": "key",
"isInverted": true,
"updatedAt": 4
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}{
"code": "code",
"message": "message"
}Authorizations
Response
AI Config found
A description of the AI Config
The AI Config key
The AI Config name
Tags for this resource
The version number of this resource
The variations of this AI Config
Show child attributes
Show child attributes
Show child attributes
Show child attributes
{
"allowed": [
{
"reason": {
"role_name": "role_name",
"notActions": [null, null],
"notResources": ["notResources", "notResources"],
"effect": "allow",
"resources": ["proj/*:env/*;qa_*:/flag/*"],
"actions": ["*"]
},
"action": "action"
},
{
"reason": {
"role_name": "role_name",
"notActions": [null, null],
"notResources": ["notResources", "notResources"],
"effect": "allow",
"resources": ["proj/*:env/*;qa_*:/flag/*"],
"actions": ["*"]
},
"action": "action"
}
],
"denied": [
{
"reason": {
"role_name": "role_name",
"notActions": [null, null],
"notResources": ["notResources", "notResources"],
"effect": "allow",
"resources": ["proj/*:env/*;qa_*:/flag/*"],
"actions": ["*"]
},
"action": "action"
},
{
"reason": {
"role_name": "role_name",
"notActions": [null, null],
"notResources": ["notResources", "notResources"],
"effect": "allow",
"resources": ["proj/*:env/*;qa_*:/flag/*"],
"actions": ["*"]
},
"action": "action"
}
]
}
The location and content type of related resources
Show child attributes
Show child attributes
{
"parent": { "href": "href", "type": "type" },
"self": { "href": "href", "type": "type" }
}
Show child attributes
Show child attributes
{ "href": "href", "type": "type" }
The member or team that maintains this resource
- Option 1
- Option 2
Show child attributes
Show child attributes
{ "kind": "kind" }
The AI Config mode
agent, completion, judge Evaluation metric key for this config
List of evaluation metric keys for this config
The success direction of a judge. Offline evaluations use it to decide whether a score passes.
true: A lower score is better. Use this for a judge that scores bad output, such as a toxicity or hallucination judge.false: A higher score is better. Use this for a judge that scores good output, such as an accuracy or relevance judge.
The response includes this field only when mode is judge. For a built-in judge key, the value is always the built-in direction. Built-in judge keys are ld-ai-judge-accuracy, ld-ai-judge-relevance, and ld-ai-judge-toxicity, with or without a -<timestamp> suffix such as ld-ai-judge-accuracy-1760000000000. A custom judge with no stored direction omits this field.
true
Resources that depend on this config, grouped by type
Show child attributes
Show child attributes