Catalogs
Get Extractor Catalog
List the published extractors a disposition can pin.
GET
/
v2
/
agents
/
{agent_id}
/
dispositions
/
extractor-catalog
Get Extractor Catalog
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-catalog \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-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/extractor-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/extractor-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/extractor-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/extractor-catalog")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-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": [
{
"extractorId": "f4e932c3-4a1d-4551-9a28-235eb2b85ac5",
"extractorVersionId": "5b346f5f-ed6e-4282-b41b-48ebca9f9baf",
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"outputSchema": {
"kind": "enum",
"description": "Final appointment outcome for this call.",
"options": [
{ "key": "booked", "label": "Booked" },
{ "key": "rescheduled", "label": "Rescheduled" },
{ "key": "declined", "label": "Declined" },
{ "key": "unclear", "label": "Unclear" }
]
},
"inputSourceIds": ["transcript", "call_metadata"],
"scopedToAgent": false
},
{
"extractorId": "8d207a81-fa1e-4210-b9c2-c1e708bb4327",
"extractorVersionId": "9c63687a-fa6c-4613-8c22-e72c63aa4fa4",
"key": "callback_window",
"name": "Callback window",
"description": null,
"outputSchema": {
"kind": "object",
"properties": {
"requested": { "kind": "boolean", "description": "Whether the caller asked for a callback." },
"window_start": { "kind": "string", "format": "date-time" },
"window_end": { "kind": "string", "format": "date-time" }
},
"required": ["requested"]
},
"inputSourceIds": ["transcript"],
"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 extractor catalog entries. Empty when no extractor has been published.
Show catalog entry
Show catalog entry
Unique identifier for the extractor. Use it as
extractorId in a disposition value’s structured_extraction source.The published version to pin as
extractorVersionId. Read its full body with Get Disposition Extractor Version.The value schema the published version produces: a
kind of boolean, string, number, enum, array, or object plus kind-specific fields. A disposition value pinning this extractor uses this as its schema.The evidence the published version reads, from
transcript, audio_recording, call_metadata, pathway_logs, tool_logs, variables, agent_config, call_config.{
"data": [
{
"extractorId": "f4e932c3-4a1d-4551-9a28-235eb2b85ac5",
"extractorVersionId": "5b346f5f-ed6e-4282-b41b-48ebca9f9baf",
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"outputSchema": {
"kind": "enum",
"description": "Final appointment outcome for this call.",
"options": [
{ "key": "booked", "label": "Booked" },
{ "key": "rescheduled", "label": "Rescheduled" },
{ "key": "declined", "label": "Declined" },
{ "key": "unclear", "label": "Unclear" }
]
},
"inputSourceIds": ["transcript", "call_metadata"],
"scopedToAgent": false
},
{
"extractorId": "8d207a81-fa1e-4210-b9c2-c1e708bb4327",
"extractorVersionId": "9c63687a-fa6c-4613-8c22-e72c63aa4fa4",
"key": "callback_window",
"name": "Callback window",
"description": null,
"outputSchema": {
"kind": "object",
"properties": {
"requested": { "kind": "boolean", "description": "Whether the caller asked for a callback." },
"window_start": { "kind": "string", "format": "date-time" },
"window_end": { "kind": "string", "format": "date-time" }
},
"required": ["requested"]
},
"inputSourceIds": ["transcript"],
"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 Extractor Catalog
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-catalog \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-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/extractor-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/extractor-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/extractor-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/extractor-catalog")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-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": [
{
"extractorId": "f4e932c3-4a1d-4551-9a28-235eb2b85ac5",
"extractorVersionId": "5b346f5f-ed6e-4282-b41b-48ebca9f9baf",
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"outputSchema": {
"kind": "enum",
"description": "Final appointment outcome for this call.",
"options": [
{ "key": "booked", "label": "Booked" },
{ "key": "rescheduled", "label": "Rescheduled" },
{ "key": "declined", "label": "Declined" },
{ "key": "unclear", "label": "Unclear" }
]
},
"inputSourceIds": ["transcript", "call_metadata"],
"scopedToAgent": false
},
{
"extractorId": "8d207a81-fa1e-4210-b9c2-c1e708bb4327",
"extractorVersionId": "9c63687a-fa6c-4613-8c22-e72c63aa4fa4",
"key": "callback_window",
"name": "Callback window",
"description": null,
"outputSchema": {
"kind": "object",
"properties": {
"requested": { "kind": "boolean", "description": "Whether the caller asked for a callback." },
"window_start": { "kind": "string", "format": "date-time" },
"window_end": { "kind": "string", "format": "date-time" }
},
"required": ["requested"]
},
"inputSourceIds": ["transcript"],
"scopedToAgent": true
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}