Get Judge Catalog
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog', 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.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog",
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: <authorization>"
],
]);
$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.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"judges": [
{
"judgeId": "3cab912a-0103-42b1-8c58-019f7697701f",
"judgeVersionId": "5888ae45-6a6e-4eb2-97ec-7ae44103b0bf",
"key": "caller_sentiment",
"name": "Caller sentiment",
"description": "How the caller felt by the end of the conversation.",
"modality": "text",
"levelKeys": ["positive", "neutral", "negative"],
"targetLevelKeys": ["positive", "neutral"],
"scopedToAgent": false
},
{
"judgeId": "abf6b6e2-e981-4ce5-905e-4eecb5c48ba8",
"judgeVersionId": "69d7f2a9-ad92-4176-b0da-f46e481ab355",
"key": "greeting_compliance",
"name": "Greeting compliance",
"description": null,
"modality": "audio",
"levelKeys": ["pass", "fail"],
"targetLevelKeys": ["pass"],
"scopedToAgent": true
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Catalogs
Get Judge Catalog
List the judges a disposition can pin for this agent.
GET
/
v2
/
agents
/
{agent_id}
/
dispositions
/
judge-catalog
Get Judge Catalog
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog', 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.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog",
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: <authorization>"
],
]);
$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.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/judge-catalog")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"judges": [
{
"judgeId": "3cab912a-0103-42b1-8c58-019f7697701f",
"judgeVersionId": "5888ae45-6a6e-4eb2-97ec-7ae44103b0bf",
"key": "caller_sentiment",
"name": "Caller sentiment",
"description": "How the caller felt by the end of the conversation.",
"modality": "text",
"levelKeys": ["positive", "neutral", "negative"],
"targetLevelKeys": ["positive", "neutral"],
"scopedToAgent": false
},
{
"judgeId": "abf6b6e2-e981-4ce5-905e-4eecb5c48ba8",
"judgeVersionId": "69d7f2a9-ad92-4176-b0da-f46e481ab355",
"key": "greeting_compliance",
"name": "Greeting compliance",
"description": null,
"modality": "audio",
"levelKeys": ["pass", "fail"],
"targetLevelKeys": ["pass"],
"scopedToAgent": true
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Overview
Dispositions are enabled per organization. If your organization does not have access, these endpoints return
404.Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The agent’s unique identifier. A malformed id returns
400 with the message agentId must be a valid UUID.Response
array
Array of judge catalog entries. Empty when no judge has a published version.
Show judge entry
Show judge entry
string
Unique identifier for the judge.
string
The published version a disposition pins. Use it together with
judgeId in a disposition value’s judge source.string
Stable machine key, unique within your organization.
string
The judge’s display name.
string | null
Optional description.
string
text when the judge reads the transcript, audio when it listens to the call recording. Audio judges require a recording to run.array
The rubric’s outcome levels, in rubric order. The judge selects one of them per call, or none when the evidence is insufficient.
array
The subset of
levelKeys the judge treats as a target (passing) outcome. Empty for a rubric with no target.boolean
true when the judge is scoped to this agent, false when it is organization-wide.null | array
null on success, or a list of error objects if the request failed.{
"data": {
"judges": [
{
"judgeId": "3cab912a-0103-42b1-8c58-019f7697701f",
"judgeVersionId": "5888ae45-6a6e-4eb2-97ec-7ae44103b0bf",
"key": "caller_sentiment",
"name": "Caller sentiment",
"description": "How the caller felt by the end of the conversation.",
"modality": "text",
"levelKeys": ["positive", "neutral", "negative"],
"targetLevelKeys": ["positive", "neutral"],
"scopedToAgent": false
},
{
"judgeId": "abf6b6e2-e981-4ce5-905e-4eecb5c48ba8",
"judgeVersionId": "69d7f2a9-ad92-4176-b0da-f46e481ab355",
"key": "greeting_compliance",
"name": "Greeting compliance",
"description": null,
"modality": "audio",
"levelKeys": ["pass", "fail"],
"targetLevelKeys": ["pass"],
"scopedToAgent": true
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?