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
Path Parameters
The agent’s unique identifier. A malformed id returns
400 with the message agentId must be a valid UUID.Response
Array of judge catalog entries. Empty when no judge has a published version.
Show judge entry
Show judge entry
The published version a disposition pins. Use it together with
judgeId in a disposition value’s judge source.text when the judge reads the transcript, audio when it listens to the call recording. Audio judges require a recording to run.The rubric’s outcome levels, in rubric order. The judge selects one of them per call, or none when the evidence is insufficient.
The subset of
levelKeys the judge treats as a target (passing) outcome. Empty for a rubric with no target.{
"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?
⌘I
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"
}
]
}